Version complète: sur le forum Webmaster Hub : petit probleme de php
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Jeannick
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 biggrin.gif
Jeannick
Voici mon code.... je suis certains qu'il sagit d'une niaiserie...mais bon..je trouve pas où mettre ma ligne. huh.gif

CODE

<?

$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\n
Nom: $fname $lname
Email: $email
Entreprise: $cname
Cette personne $type être abonner au bulletin

Voici son message:
$comments

Logged Info :
------------------------------
Using: $HTTP_USER_AGENT
Hostname: $ip
IP address: $REMOTE_ADDR
Date/Time: $date","FROM:$adminaddress");


mail("$email","Merci d'avoir visiter le site d'$sitename",
"Bonjour $fname $lname,\n
Merci de l'interêt que vous portez à $sitename!. Nous entrerons en contact avec vous dans les plus bref délais.\n
Cordialement,

$sitename
$siteaddress","FROM:$adminaddress");


$sendresult = "Merci $fname $lname,";
$send_answer = "answer=";
$send_answer .= rawurlencode($sendresult);
echo "$send_answer";

endif;

?>


Merci!
ghost
Essaye comme ça, peut être !!

CODE
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
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) :
CODE
$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 ? wink.gif
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.... wink.gif


Bon courage, t'y es presque...
ghost
Autant pour moi ...

CODE
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
je vais essayer d'explorer tout ça..merci beaucoup pour votre aide.
Pour ce qui est de sécurisé mon truc.... wacko.gif j'vais atttendre encore un peu..je suis très loin de ce niveau. ^_^
Jeannick
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

CODE
$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);
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.