Envoyer à une amie
Résolu/Fermé
edwige34
Messages postés
2
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
18 août 2008
-
18 août 2008 à 15:57
Akalien - 4 oct. 2017 à 12:45
Akalien - 4 oct. 2017 à 12:45
A voir également:
- Envoyer à une amie
- Petite amie virtuelle en français - Accueil - Intelligence artificielle
- Comment envoyer une invitation sur facebook - Guide
- Comment envoyer une localisation - Accueil - Téléphones
- Envoyer ma position - Guide
- Paypal envoyer de l'argent à un proche - Guide
11 réponses
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
6 oct. 2008 à 18:53
6 oct. 2008 à 18:53
C'est super simple :)
reprends le code de l'envoi de mail (après que l'utilisateur ait saisi son 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 :
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.
reprends le code de l'envoi de mail (après que l'utilisateur ait saisi son message) :
<?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.
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
24 nov. 2008 à 16:08
24 nov. 2008 à 16:08
L'expédireur est dans la variable $to, c'est l'utilisateur qui renseigne cette donnée normalement. Si tu veux imposer une adresse cible, modifie les arguments de ta fonction mail :
;)
mail("adresse@machin.com", $object, $message, $entete);
;)
Nico_
Messages postés
1219
Date d'inscription
vendredi 29 décembre 2006
Statut
Membre
Dernière intervention
15 mars 2016
189
18 août 2008 à 21:26
18 août 2008 à 21:26
bonsoir,
J'ai une petite question:
tu recherches un script qui envoi la page en cours de visite ?
Exemple: ça envoi le lien suivant : http://www.commentcamarche.net/forum/affich 7956157 envoyer a une amie
ou
la page d'accueil du site ?
Exemple: ça envoi le lien suivant : https://www.commentcamarche.net/
Bonne soirée
J'ai une petite question:
tu recherches un script qui envoi la page en cours de visite ?
Exemple: ça envoi le lien suivant : http://www.commentcamarche.net/forum/affich 7956157 envoyer a une amie
ou
la page d'accueil du site ?
Exemple: ça envoi le lien suivant : https://www.commentcamarche.net/
Bonne soirée
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
18 août 2008 à 23:30
18 août 2008 à 23:30
@ 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) :
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 :
C'est l'exemple le plus simple je pense.
Bien sûr, il est possible d'ajouter un message de confirmation du genre :
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à !
<!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à !
fab2466
Messages postés
11
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
17 févr. 2009 à 13:08
17 févr. 2009 à 13:08
Question
Existe'-il un code tout fait que je pourrai introduire dans une nouvelle page, car pour moi c'est du chinois, comme ça je n'aurai plus qu'a personnalisé ma page ?
Merci d'avance
Fab
Existe'-il un code tout fait que je pourrai introduire dans une nouvelle page, car pour moi c'est du chinois, comme ça je n'aurai plus qu'a personnalisé ma page ?
Merci d'avance
Fab
Nico_
Messages postés
1219
Date d'inscription
vendredi 29 décembre 2006
Statut
Membre
Dernière intervention
15 mars 2016
189
>
fab2466
Messages postés
11
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
17 févr. 2009 à 21:10
17 févr. 2009 à 21:10
bonsoir,
tu peux le faire avec le code suivant :
copier l'intégrale de se code dans une page avec une extension .php
il faut simplement changer TON@dresse_mail.f (mis en gras) par ton adresse.
Bonne soirée
le code:
tu peux le faire avec le code suivant :
copier l'intégrale de se code dans une page avec une extension .php
il faut simplement changer TON@dresse_mail.f (mis en gras) par ton adresse.
Bonne soirée
le code:
<?php $envoi = $_POST['envoi']; $email_dest = $_POST['zone_email']; if ($envoi == "Envoyer" && $email_dest != ""){ if ($_POST['envoi']) { // E-mail headers: $headers ="MIME-Version: 1.0 \n"; $headers .="From: ".$_SERVER["SERVER_NAME"]."<TON@dresse_mail.fr>\n"; $headers .="Content-Type: text/plain; charset=iso-8859-1"; $subject = "Découvrez ce site"; for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) { $partie_champs_texte .= " Un(e) ami(e) souhaite vous faire découvrir le site suivant: ". $_POST['champ'.$a] . "\n\n Bonne visite."; } $sortie = $partie_champs_texte ; // Send the e-mail if (@!mail($email_dest,$subject,$sortie,$headers)) { echo("Envoi du formulaire impossible"); } else { // Closing if !mail... if ($envoi == "Envoyer" && $email_dest != "") { echo 'Message envoyé';} if ($envoi == "Envoyer" && $email_dest == "") { echo 'Merci de renseigner l\'adresse du destinataire';} exit(); } // Fin du else } // Closing if edit } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Pub_site_envoi_par_visiteur</title> <link href="../dependant/css.css" rel="stylesheet" type="text/css" /> <script language="JavaScript" type="text/javascript">function verifSelection() {if (document.mail_form.champ1.value == "") { alert("URL page invalide") return false } if (document.mail_form.zone_email.value == "") { alert("Pas de destinataire") return false } invalidChars = " /:,;'" for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters? badChar = invalidChars.charAt(i) if (document.mail_form.zone_email.value.indexOf(badChar,0) > -1) { alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.") mail_form.zone_email.focus() return false } } atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol if (atPos == -1) { alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.') mail_form.zone_email.focus() return false } if (document.mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.') mail_form.zone_email.focus() return false } periodPos = mail_form.zone_email.value.indexOf(".",atPos) if (periodPos == -1) { // and at least one "." after the "@" alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.') mail_form.zone_email.focus() return false } if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.') mail_form.zone_email.focus() return false }} // Fin de la fonction </script> </head> <body {background-color="#CABOFF"}> <p>envoyer à un / une ami /amie</p> <p><form name="mail_form" method="post" action="?" onSubmit="return verifSelection()"> <font face="Verdana" size="2"> <?php $site = $_SERVER["SERVER_NAME"]; ?> <input name="champ1" type="hidden" value="<?php echo 'http://'.$_SERVER['SERVER_NAME'] ;?>" /> L'adresse du destinataire</font> <input name="zone_email" type="text" size="50"> <input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="1"> <input name="nbre_zones_texte" type="hidden" value="0"> <input name="nbre_zone_email" type="hidden" value="1"> <input name="titre_champ1" type="hidden" value="urlsite"><input name="titre_email" type="hidden" value="L\'adresse du destinataire"></td> <input type="reset" name="Reset" value="Effacer"> <input type="submit" name="envoi" value="Envoyer"> </form></p> <div align="center"> <?php if ($envoi == "Envoyer" && $email_dest != "") { echo 'Message envoyé';} if ($envoi == "Envoyer" && $email_dest == "") { echo 'Merci de renseigner l\'adresse du destinataire';} ?> </div> </body> </html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
8 oct. 2008 à 13:29
8 oct. 2008 à 13:29
Okaye... heu elles marchent comment tes newsletters ? Tu devrais reprendre le principe, si ça marche ^^
Trop cool ça marche, super !
En faite, il suffisait que je rajoute ceci pour pouvoir voir l'image correctement :
<?php
$to = strip_tags($_POST['to']);
$object = strip_tags($_POST['object']);
$message = strip_tags($_POST['message']);
$message = "<a href=\"url_de_monsite\">
<img src=\"url_de_ma_banniere\" border=\"0\" alt=\"texte de remplacement\" />
</a><br /><br />" . $message;
$entete="Content-type:text/html";
mail($to, $object, $message, $entete);
Merci beaucoup pour ton aide Groarh, je suis super contente :-)
En faite, il suffisait que je rajoute ceci pour pouvoir voir l'image correctement :
<?php
$to = strip_tags($_POST['to']);
$object = strip_tags($_POST['object']);
$message = strip_tags($_POST['message']);
$message = "<a href=\"url_de_monsite\">
<img src=\"url_de_ma_banniere\" border=\"0\" alt=\"texte de remplacement\" />
</a><br /><br />" . $message;
$entete="Content-type:text/html";
mail($to, $object, $message, $entete);
Merci beaucoup pour ton aide Groarh, je suis super contente :-)
Bonjour,
Je recherchai ce script et il fonctionne à merveille :-)
Par contre, je voudrai par exemple qu'à la place du message que l'on tape, que cela soit une image avec un lien imposée qui soit envoyé, comment faire s'il vous plait ?
Merci pour vos réponses apportées.
Je recherchai ce script et il fonctionne à merveille :-)
Par contre, je voudrai par exemple qu'à la place du message que l'on tape, que cela soit une image avec un lien imposée qui soit envoyé, comment faire s'il vous plait ?
Merci pour vos réponses apportées.
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
6 oct. 2008 à 10:13
6 oct. 2008 à 10:13
"Une image avec un lien imposé" ?
Peux-tu être plus précise Delphine s'il-te-plaît ? Garde à l'esprit qu'être webmaster c'est offrir des services aux visiteurs, pas leur en imposer !
Peux-tu être plus précise Delphine s'il-te-plaît ? Garde à l'esprit qu'être webmaster c'est offrir des services aux visiteurs, pas leur en imposer !
Oui en effet c'est un service supplémentaire, seulement je ne veux pas que mes membres fassent n'importent quoi avec cette option.
Le but est de faire connaitre mon site à d'autres personnes par l'intermédiaire du membre déjà inscrit.
Donc quand je dis bannière avec lien, c'est genre bannière de parrainage...mais le membre pourra quand même rajouter un petit message s'il le souhaite mais je veux que la bannière ou le lien de mon site soit visible et ne puisse être effacé.
C'est juste pour éviter que certain membre fasse n'importe quoi avec cette option et en abuse.
Le but est de faire connaitre mon site à d'autres personnes par l'intermédiaire du membre déjà inscrit.
Donc quand je dis bannière avec lien, c'est genre bannière de parrainage...mais le membre pourra quand même rajouter un petit message s'il le souhaite mais je veux que la bannière ou le lien de mon site soit visible et ne puisse être effacé.
C'est juste pour éviter que certain membre fasse n'importe quoi avec cette option et en abuse.
Quand j'envois le message cela mets (sur le mail de la personne qui reçoit le message):
<a href=\"url_de_monsite\">
<img src=\"url_de_ma_banniere\" alt=\"texte de remplacement\" />
</a><br />ESSAI
Cela n'affiche pas la bannière ! pourtant je suis sûr que c'est possible car lorsque j'envoi une newsletter par ex et bien les bannières s'affichent bien.
<a href=\"url_de_monsite\">
<img src=\"url_de_ma_banniere\" alt=\"texte de remplacement\" />
</a><br />ESSAI
Cela n'affiche pas la bannière ! pourtant je suis sûr que c'est possible car lorsque j'envoi une newsletter par ex et bien les bannières s'affichent bien.
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
8 oct. 2008 à 16:17
8 oct. 2008 à 16:17
Content de t'avoir aidée ;)
N'oublie pas de marquer le topic comme résolu.
N'oublie pas de marquer le topic comme résolu.
4 oct. 2017 à 12:45
Merci a votre équipe.