|
|
|
|
Bonjour,
Je voudrais savoir si quelqu'un saurait comment faire la partie, comme dans les sites commerciaux, "envoyer à une amie".
C'est à dire que lorsque l'utilisateur clique sur le lien "envoyer à une ami", il apparait une fenêtre ressemblant à une une page d'envoi mail avec l'adresse de celui qui envoie aisi que, dans la partie message , le lien du site . Il n'a donc plus qu'à ajouter l'adresse du destinataire.
Bonsoir,
|
@ edwige34 : C'est assez simple, il s'agit d'un formulaire php avec 3 champs de texte et un bouton envoi. Voici un exemple simple mais respectueux des normes xhtml (une bonne habitude à prendre) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>test edwige34</title> </head> <body> <h3>envoyer à une amie</h3> <form action="envoyer.php" method="post"> <p> <label for="to">à :</label> <input type="text" name="to" id="to"></input> </p> <p> <label for="object">sujet :</label> <input type="text" name="object" id="object"></input> </p> <p> <label for="message">message :</label> <textarea name="message" id="message" rows="3" cols="60"></textarea> </p> <p><input type="submit"></input></p> </form> </body> </html> Dans ce code, le formulaire envoie les données de mail à un script appelé envoyer.php via la méthode POST. Il vaut mieux ne pas utiliser GET étant donné que le corps du mail fait partie des données et que GET, qui envoie les valeurs par l'URL, est parfois limité en longueur. Le script récupère naturellement les variables grâce à $_POST et envoie le mail avec la fonction... mail() ^^ Par mesure de sécurité, il vaut mieux traiter les textes saisis par l'utilisateur, il pourrait tenter d'introduire du code malveillant. Pour ça, une fonction bien pratique qui supprime les balises html : strip_tags(). Au final, le fichier envoyer.php pourrait bien ressembler à ceci : <?php $to = strip_tags($_POST['to']); $object = strip_tags($_POST['object']); $message = strip_tags($_POST['message']); mail($to, $object, $message); ?> C'est l'exemple le plus simple je pense. Bien sûr, il est possible d'ajouter un message de confirmation du genre : echo "Le message intitulé $object a bien été envoyé à $to ..."; Dernier point : en xhtml, la balise textarea doit comporter obligatoirement les attributs rows qui décrit son nombre de lignes et cols son nombre de lettres par ligne. J'ai mis 3 et 60, à toi de mettre ce qui te convient. Bon courage, et si tu as des questions je suis là !
|
Oui en effet c'est un service supplémentaire, seulement je ne veux pas que mes membres fassent n'importent quoi avec cette option.
|
C'est super simple :)
<?php $to = strip_tags($_POST['to']); $object = strip_tags($_POST['object']); $message = strip_tags($_POST['message']); mail($to, $object, $message); ?> Après la récupération-purification du message (à l'endroit où j'ai mis une ligne blanche), il suffit de rajouter, dans le message, le code de ta bannière sous forme de texte : $message = "<a href=\"url_de_monsite\"> <img src=\"url_de_ma_banniere\" alt=\"texte de remplacement\" /> </a><br />" . $message; NB : Les guillemets qui font partie du texte doivent être échappés avec des antislashes \ comme j'ai fait, sinon php va confondre avec la fin de la chaîne. Reste à savoir si ton serveur te permet d'envoyer des mails au format html, mais c'est un autre problème... NB2 : je ferme mes balises selon la norme xhtml strict. Si ça pose problème, retire les / à la fin de img et br. |
Quand j'envois le message cela mets (sur le mail de la personne qui reçoit le message):
|
Trop cool ça marche, super !
|