Jeannick Posté 11 Mai 2006 Posté 11 Mai 2006 Bonjour à tous j'ai besoin de votre aide. Je suis archie nul en php et je suis présentement en train de faire un formulaire en flash qui envoie les variables à un serveur php qui les renvoit en email. Pour se qui est du flash...tous beigne..c'est au niveau de mon php. Je suis incapable d'insérer une ligne de code pour mettre un charset. les mail que je recois sont truffés de Ã?, é ,etc. si quelqun pouvait m'aider j'en serais vraiment heureux
Jeannick Posté 11 Mai 2006 Auteur Posté 11 Mai 2006 (modifié) Voici mon code.... je suis certains qu'il sagit d'une niaiserie...mais bon..je trouve pas où mettre ma ligne. <? $adminaddress = "exemple_AT_hotmail.com"; $siteaddress ="http://www.exemplesite.ca"; $sitename = "example"; if ($REMOTE_ADDR == "") $ip = "no ip";else $ip = getHostByAddr($REMOTE_ADDR);if ($action != ""): mail("$adminaddress","Message de exemplesite.ca.", "Un visiteur d'exemplesite.ca a laisser les informations suivantes\nNom: $fname $lnameEmail: $emailEntreprise: $cnameCette personne $type être abonner au bulletinVoici son message:$commentsLogged Info :------------------------------Using: $HTTP_USER_AGENTHostname: $ipIP address: $REMOTE_ADDRDate/Time: $date","FROM:$adminaddress"); mail("$email","Merci d'avoir visiter le site d'$sitename", "Bonjour $fname $lname,\nMerci de l'interêt que vous portez à $sitename!. Nous entrerons en contact avec vous dans les plus bref délais.\nCordialement,$sitename$siteaddress","FROM:$adminaddress"); $sendresult = "Merci $fname $lname,";$send_answer = "answer=";$send_answer .= rawurlencode($sendresult);echo "$send_answer";endif;?> Merci! Modifié 11 Mai 2006 par Portekoi
ghost Posté 11 Mai 2006 Posté 11 Mai 2006 Essaye comme ça, peut être !! mail("$email","Merci d\'avoir visiter le site d\'".$sitename."<br />"."Bonjour". $fname. $lname."<br />"."Merci de l\'interêt que vous portez à ".$sitename." ! Nous entrerons en contact avec vous dans les plus bref délais."."<br />Cordialement,"."<br /><br />".$sitename." ".$siteaddress."<br />"."FROM : ".$adminaddress);
baboon Posté 11 Mai 2006 Posté 11 Mai 2006 Salut, L'email que tu reçois est encodé utf-8 par défaut...d'ou le probléme des caractères accentués... Le client mail avec lequel tu lis l'email ne prend pas nécéssairement le charset utf-8 pour visualiser le mail mais un autre....puisque en envoyant ton email aucune mention n'est faite sur le charset à utiliser... Un mail doit etre structuré avec un respect minimum dans l'entête du mail et ceci au travers du paramètre headers de la fonction php. rappel sur les paramètres de la fonction mail de php : mail($femail_destinataire,$objet_du_message,$message,$headers); Ce qui, dans du code, pourrait donner ça (juste pour l'header) : $headers = "";$headers .= "X-Sender: $from_de <$from_de>\n"; $headers .= "From: $from_de <$from_de>\n";$headers .= "Reply-To: $from_de <$from_de>\n";$headers .= "Date: ".date("r")."\n";$headers .= "Message-ID: <".date("YmdHis")."form2mail@".$_SERVER['SERVER_NAME'].">\n";$headers .= "Return-Path: $from_de <$from_de>\n";$headers .= "Delivered-to: $femail_destinataire <$femail_destinataire>\n";$headers .= "MIME-Version: 1.0\n";$headers .= "Content-type: text/html;charset=ISO-8859-9\n";$headers .= "X-Priority: 1\n";$headers .= "Importance: High\n";$headers .= "X-MSMail-Priority: High\n";$headers .= "X-Mailer: Mail With PHP\n"; $headers .= "Content-type: text/html;charset=ISO-8859-9\n"; C'est peu être ça qui manque dans ton mail ? Mais le reste de l'entête est important aussi... Je te conseille donc de jeter un oeil sur la fonction mail de php....et d'en profiter pour sécurisé ton formulaire...contre les injections d'headers.... Bon courage, t'y es presque...
ghost Posté 11 Mai 2006 Posté 11 Mai 2006 Autant pour moi ... mail("$email",'Merci d\'avoir visiter le site d\''.$sitename.'<br />'.'Bonjour '. $fname.' '. $lname.'<br />'.'Merci de l\'interêt que vous portez à '.$sitename.' ! Nous entrerons en contact avec vous dans les plus brefs délais.'.'<br />Cordialement,'.'<br /><br />'.$sitename.' '.$siteaddress.'<br />'.'FROM : '.$adminaddress); C'est plus mieux comme ça! Bon courage
Jeannick Posté 12 Mai 2006 Auteur Posté 12 Mai 2006 je vais essayer d'explorer tout ça..merci beaucoup pour votre aide. Pour ce qui est de sécurisé mon truc.... j'vais atttendre encore un peu..je suis très loin de ce niveau.
Jeannick Posté 13 Mai 2006 Auteur Posté 13 Mai 2006 Salut a tous, finalement j'ai résolu mon problème. J'ai rajouté ces balises au tout début de mon code... c'est surment pas la meilleure méthode mais ça fonctionne. merci a vous pour votre aide $fname=utf8_decode($fname);$fname=eregi_replace( "\r", "\n", $fname);$fname=stripcslashes($fname);$lname=utf8_decode($lname);$lname=eregi_replace( "\r", "\n", $lname);$lname=stripcslashes($lname);
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant