Nullette Posté 14 Avril 2009 Auteur Posté 14 Avril 2009 Bonjour Occi, j'étais exaspérée et je n'ai pas envie de m'énerver encore. Excuses-moi de t'avoir répondu ainsi. Disons, que t'étais enragée envers moi-même (et le suis toujours). En admettant que je créée ma variable : <?php$maVariable = 'je veux recevoir les emails en utf';echo $maVariable;?> ('Content-Type: text/html; charset="charset=utf-8" 'Content-Transfer-Encoding: 8bit' Ce même formulaire que j'utilisais jusqu'à l'année dernière fonctionnait parfaitement, mais l'année dernière mon site était en HTML 4.01 Transitional//EN - charset iso-8859-1. Maintenant il est en XHTML 1.0 Transitional//EN - charset utf-8. Ma demande d'aide en 2005 Occi, ne me demande pas mes essais, je ne sais pas comment essayer. Je ne sais pas où la mettre ni comment l'attribuer. Les internautes doivent juste remplir un formulaire en indiquant leur adresse email, leur prénom, nom, etc ... et moi je voudrais juste recevoir les informations en texte sans caractères bizarres. Je peux me contenter de recevoir les emails avec des hiéroglyphes
Occi Posté 15 Avril 2009 Posté 15 Avril 2009 (modifié) Bonjour Nullette, ok Disons, que t'étais enragée envers moi-même (et le suis toujours). Je pense que que tu veux dire "que tu étais enragée envers toi même", parce que moi je n'étais pas enragée envers toi. Donc le formulaire, concernant l'exemple de la variable c'était pour te montrer comment utiliser une variable et donc te permettre de les utiliser comme tu veux dans le formulaire mais passons on va aller directement à l'essentiel. Essaye ça ci-dessous et si tu n'obtiens pas ce que tu veux, poste le code entier (parce que j'imagine qu'il y a eu des changements entre celui de 2005, de la page 1 de ce sujet et celui que tu as actuellement sur ton site) : Donc on va déclarer notre header (entête du mail) et le mettre dans la fonction mail comme ça : /* En-tetes de l'e-mail */ $headers = 'From: '.$nom.' <'.$email.'>'."\n"; $headers .='Reply-To:'.$nom.' <'.$email.'>'."\n"; $headers .='Content-Type: text/html; charset="charset=utf-8"'."\n"; $headers .='Content-Transfer-Encoding: 8bit';//On envoit un mail contenant les donneesmail("nullette_AT_nullette.com","Inscription pique-nique 2009","Email : $emailPrénom : $prenomNom : $nomVille : $villeTéléphone : $telephoneNombre de personnes : $nbpersonnesPlaces disponibles : $nbplacesDemande de places : $demandeCommentaire :$comments", $headers); Tu fais un copier / coller du code ci-dessus pour remplacer la partie envoi de mail. Si tu reçois toujours des hiéroglyphes, essaye plutôt ce code : // Le message$message = "Email : $emailPrénom : $prenomNom : $nomVille : $villeTéléphone : $telephoneNombre de personnes : $nbpersonnesPlaces disponibles : $nbplacesDemande de places : $demandeCommentaire :$comments";// Décode UTF-8 en iso-8859-1$message = utf8_decode($message);//On envoit un mail contenant les donneesmail("nullette_AT_nullette.com","Inscription pique-nique 2009", $message, "From: $email\nReply-To: $email"); IMPORTANT ! Que tu utilises le 1er code ou le 2eme, pense à modifier ton adresse email dans le code car là l'adresse est nullette_AT_nullette.com tu ne le recevras donc pas. Voila normalement tu recevras le mail à ton adresse et depuis ton client mail préféré tu pourras répondre à la personne, ta réponse sera envoyé à l'adresse email que la personne a indiqué dans le formulaire. Occi Modifié 15 Avril 2009 par Occi
Nullette Posté 16 Avril 2009 Auteur Posté 16 Avril 2009 Bonjour Occi, IMPORTANT ! Que tu utilises le 1er code ou le 2eme, pense à modifier ton adresse email dans le code car là l'adresse est nullette_AT_nullette.com tu ne le recevras donc pas. Après une migraine qui m'a clouée au lit hier. Me voici plus reposée. Ca fonctionne ! La première suggestion n'a pas fonctionné /* En-tetes de l'e-mail */ $headers = 'From: '.$nom.' <'.$email.'>'."\n"; etc. Voici le code complet : <?php $tab_required = split('[, ]+', $_POST[required]); $nb_manquant = 0; foreach ($tab_required as $required) { if (empty($_POST[$required])) { $nb_manquant = $nb_manquant + 1; if ($required == 'email') { $leChamp = 'adresse email';} else if ($required == 'prenom') { $leChamp = 'prénom';} else if ($required == 'nom') { $leChamp = 'Nom';} else if ($required == 'ville') {$leChamp = 'ville';} else if ($required == 'telephone') {$leChamp = 'téléphone';} else if ($required == 'nbpersonnes') {$leChamp = 'Nombre de personnes';} echo '<p class="postinfo3">Vous n\'avez pas rempli le champ "'.$leChamp.'" !<br /></p>'; } } if ($nb_manquant > 0) { echo 'Le formulaire n\'a pas eté envoyé. Utilisez le bouton Précédent de votre navigateur...<a href="java script:window.history.go(-1)" target="_self" title="retour">ou cliquez ici pour retourner au bulletin</a>'; exit;}//informations saisiesecho " Email : $email<br />";echo " Prénom : $prenom<br />";echo " Nom : $nom<br />";echo " Ville : $ville<br />";echo " Téléphone : $telephone<br />";echo " Nombre de personnes : $nbpersonnes<br />";echo " Places disponibles : $nbplaces<br />";echo " Demande de place : $demande<br />";echo " Commentaires : $comments<br />";// Le message$message = "Email : $emailPrénom : $prenomNom : $nomVille : $villeTéléphone : $telephoneNombre de personnes : $nbpersonnesPlaces disponibles : $nbplacesDemande de places : $demandeCommentaire : $comments";// Décode UTF-8 en iso-8859-1$message = utf8_decode($message);//On envoit un mail contenant les donneesmail("nullette_AT_nullette.com","Inscription pique-nique 2009", $message, "From: $email\nReply-To: $email");?> Il y a juste le slash qui s'affiche si on écrit quelque chose avec une apostrophe : Commentaires : J\'espère que ça fonctionne. à bientôt! Mais c'est un moindre mal. Merci beaucoup beaucoup.
Occi Posté 17 Avril 2009 Posté 17 Avril 2009 (modifié) Bonjour, content pour toi Pour ton problème de slash, je pense que ça vient de la config de ton php.ini : Au niveau de //informations saisies rajoute : if (get_magic_quotes_gpc()) { $comments = stripslashes($comments); } Bon week end Modifié 17 Avril 2009 par Occi
Nullette Posté 17 Avril 2009 Auteur Posté 17 Avril 2009 Impeccable !!! Je vais m'exercer pour ajouter la même chose pour $nom Voir si il faut un else if. Bon week-end. Avec mon site, je suis dans les Pâques orthodoxes ...les oeufs, les liturgies, etc..
Occi Posté 19 Avril 2009 Posté 19 Avril 2009 Salut, dans ce cas tu peux le faire pour tous en remplaçant if (get_magic_quotes_gpc()) { $comments = stripslashes($comments); } Par if (get_magic_quotes_gpc()) { $message = stripslashes($message); }
Nullette Posté 19 Avril 2009 Auteur Posté 19 Avril 2009 Salut et merci Occi, moi j'avais fait et ça fonctionne ! if (get_magic_quotes_gpc()) { $comments = stripslashes($comments); } if (get_magic_quotes_gpc()) {$nom = stripslashes($nom);} L'idée de mettre la variable $message ne m'était même pas venue en tête
Occi Posté 20 Avril 2009 Posté 20 Avril 2009 Salut, oui sinon, bien vue. Par contre si tu laisses tel quel, tu peux éviter de tester 2 fois en remplaçant par : if (get_magic_quotes_gpc()) { $comments = stripslashes($comments);$nom = stripslashes($nom); }
Nullette Posté 20 Avril 2009 Auteur Posté 20 Avril 2009 Salut, je ne me complique pas la vie (j'ai un autre problème où ni l'hébergeur ni les forums phpbb3 me répondent ...). J'ai gardé la suggestion que tu m'avais faite l'autre jour avec la variable $message. Tout va bien (à part que tout le monde est en vacances et personne ne s'inscrit ). Merci.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant