Aller au contenu

petit probleme de php


Jeannick

Sujets conseillés

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 :D

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

Voici mon code.... je suis certains qu'il sagit d'une niaiserie...mais bon..je trouve pas où mettre ma ligne. :huh:


<?

$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!

Modifié par Portekoi
Lien vers le commentaire
Partager sur d’autres sites

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);

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

je vais essayer d'explorer tout ça..merci beaucoup pour votre aide.

Pour ce qui est de sécurisé mon truc.... :wacko: j'vais atttendre encore un peu..je suis très loin de ce niveau. ^_^

Lien vers le commentaire
Partager sur d’autres sites

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);

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...