Formulaire de contact et caractères accentués
Bonjour à tous :D,
J'ajoute sur un csm encodé utf-8, un très simple formulaire de contact.
Le problème se traduit à la lecture du message reçu.
Exemple du message reçu :
===
Bonjour,
Je fais un essai : L'autre - à é ô où
VoilÃ
===
J'ai tenté de nombreuses modifications, mais en vain, il y a quelque chose que je ne dois pas comprendre ou qui m'a échappé.
Je me permets de venir vous demander un coup de main, et de mettre pour indication la source complète du formulaire, ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| <?php
// Sécurité
if ( !defined ( 'TAGADASH' ) )
{
header ( 'Location: ../' );
die ( -1 );
}
// Titre de la page
$page_titre = 'Contacter l’administrateur';
$page_infos = 'Contacter l’administrateur';
$page_texte .= "<h3 align=\"center\">Formulaire de contact</h3>";
$page_texte .= "<p align=\"center\">Ce formulaire, vous permet d'envoyer un message à l'administrateur du site</p>";
if(empty($_POST))
{
if($_GET["message"]=="ok")
{
$corps.="Votre mail a bien été envoyé, ainsi que votre adresse IP : ".$_SERVER['REMOTE_ADDR']."\r\n<br/>" ;
}
else
{
$premiernombre = rand(0,100);
$secondnombre = rand(100, 200);
$troisiemenombre = rand(0, 200);
$page_texte .="
<form method=\"post\" action=\"index.php?page=F_contact\" style=\"width:100%;\" style=\"margin-left:5px;\">
<fieldset>
<legend> Contacter l'administrateur </legend>
<br />
Nom, Prénom :<br />
<input type=\"text\" name=\"nom\" id=\"nom\"/><br />
Votre adresse e-mail :<br />
<input type=\"text\" name=\"email\" id=\"email\"/><br />
Objet du message :<br />
<input type=\"text\" name=\"objet\" id=\"objet\"/><br />
Message :<br />
<textarea name=\"message\" id=\"message\" cols=\"30\" rows=\"10\" style=\"width:85%;\"></textarea><br />
Question anti-robots :<br />
<input type=\"text\" name=\"premiernombre\" value=".$premiernombre." size=\"1\" readonly=\"readonly\" />
<input type=\"text\" name=\"secondnombre\" size=\"1\" value=".$secondnombre." readonly=\"readonly\" />
<input type=\"text\" name=\"troisiemenombre\" value=".$troisiemenombre." size=\"1\" readonly=\"readonly\" /><br />
Recopiez les nombres contenus dans le premier et le troisième champ (ci-dessus) l'un à la suite de l'autre dans le champ ci-dessous :<br />
<input type=\"text\" name=\"question\" id=\"question\" size=\"4\" />
<br />
<input type=\"submit\" name=\"Envoyer\" value=\"Envoyer\"/><br /><br />
Votre adresse IP, sera jointe à votre envoi.<br /><br />
Votre adresse IP est, ".$_SERVER['REMOTE_ADDR']." <br /><br />
</fieldset>
</form>
";
}
}
else
{
$temp=array_map('trim', $_POST) ;
$post=array_map('htmlspecialchars', $temp) ;
$erreur='' ;
if(empty($post["nom"]))
{
$erreur.="<font color=\"#cc0000\">Vous n'avez pas rempli le champ \"Nom, Prénom\".</font><br/>" ;
}
if(empty($post["email"]))
{
$erreur.="<font color=\"#cc0000\">Vous n'avez pas rempli le champ \"Votre adresse e-mail\".</font><br/>" ;
}
if(empty($post["objet"]))
{
$erreur.="<font color=\"#cc0000\">Vous n'avez pas rempli le champ \"Objet du message\".</font><br/>" ;
}
if(!empty($post["email"]) && !preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#', $post["email"]))
{
$erreur.="<font color=\"#cc0000\">L'adresse e-mail que vous avez rentré est incorrecte.</font><br/>" ;
}
if(empty($post["message"]))
{
$erreur.="<font color=\"#cc0000\">Vous n'avez pas rempli le champ \"Votre message\".</font><br/>" ;
}
if($post["question"]!=$post["premiernombre"].$post["troisiemenombre"])
{
$erreur.="<font color=\"#cc0000\">La réponse à la question anti-robots ne correspond pas à la réponse attendue !</font><br/><br /><img src='themes/commun/images/quote.gif' alt='' width='20' height='15' /> <a href='javascript:history.back()'>Retournez sur le formulaire !</a> Merci." ;
}
if(empty($erreur))
{
if(mail('votre.adressemail@fai.com', stripslashes($post["objet"]), stripslashes("Un visiteur vous a contacté\r\n\r\nSon nom : ".$post['nom']."\r\n\r\n Son adresse E-mail : ".$post["email"]."\r\n\r\n Son adresse IP : ".$_SERVER['REMOTE_ADDR']."\r\n\r\n ".$post["message"]), "From: Site Tagadash <$email>"."\r\n"."Reply-To: ".$post["email"]))
$page_texte .="
<br />
<center>
<fieldset>
<legend> Merci </legend>
<font color=\"#1877d5\">
<br /><br />
Votre message a bien été envoyé, ainsi que votre adresse IP : ".$_SERVER['REMOTE_ADDR']." <br /><br />
Je vous répondrai, dans les meilleurs délais.
<br /><br /><br />
</font>
</fieldset>
</center>
<br />
";
}
else
{
$page_texte .= $erreur ;
}
}
?> |
D'avance, je remercie ceux qui voudront bien se pencher sur la question.