Problème d'accents dans un formulaire
matsydney
-
kristof36 -
kristof36 -
Bonjour à tous,
Je réalise actuellement un site web et j'aimerai intégrer un formulaire de contact!! Le problème est que je reçois parfaitement les mails mais dès qu'un accent est rentré par l'utilisateur mon message est coupé et je ne reçois pas la suite. vous comprenez que c'est assez génant.
Voici le code de ma page de traitement :
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("The field name is empty !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
if($Message ==""){
// On verifie le message
echo("The field message is empty !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("The field subject is empty !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
// On verifie l'email
if(($Email == "") || (!preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $Email))){
echo("Invalid E-mail !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
// si tout a été remplie, on envoi
mail("info@toileamatelas.com.au",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
Je vous remercie par avance si vous connaissez une astuce.
Je réalise actuellement un site web et j'aimerai intégrer un formulaire de contact!! Le problème est que je reçois parfaitement les mails mais dès qu'un accent est rentré par l'utilisateur mon message est coupé et je ne reçois pas la suite. vous comprenez que c'est assez génant.
Voici le code de ma page de traitement :
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("The field name is empty !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
if($Message ==""){
// On verifie le message
echo("The field message is empty !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("The field subject is empty !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
// On verifie l'email
if(($Email == "") || (!preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $Email))){
echo("Invalid E-mail !<br><br>
<a class='ex1' href='contactus.html'>Come back on the page contact us.</a>");
}
else{
// si tout a été remplie, on envoi
mail("info@toileamatelas.com.au",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
Je vous remercie par avance si vous connaissez une astuce.
A voir également:
- Problème d'accents dans un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Récupérer compte outlook sans formulaire - Forum Hotmail / Outlook.com
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
6 réponses
Aha! Il existe une fonction php pour ça! L'idée doit être là.
Essaye:
$Name = htmlentities($_POST['Name'], ENT_QUOTES);
$Message = htmlentities($_POST['Message'], ENT_QUOTES);
$Message .= "
$Name";
$Sujet = htmlentities($_POST['Sujet'], ENT_QUOTES);
$Email = htmlentities($_POST['Email'], ENT_QUOTES);
Essaye:
$Name = htmlentities($_POST['Name'], ENT_QUOTES);
$Message = htmlentities($_POST['Message'], ENT_QUOTES);
$Message .= "
$Name";
$Sujet = htmlentities($_POST['Sujet'], ENT_QUOTES);
$Email = htmlentities($_POST['Email'], ENT_QUOTES);
Avec du retard mais je viens de me poser la me^me question que toi, j'ai trouvé la réponse ici:
https://codes-sources.commentcamarche.net/
Utilis la fonction utf8_decode() (ex: $c2=utf8_decode($c); )
https://codes-sources.commentcamarche.net/
Utilis la fonction utf8_decode() (ex: $c2=utf8_decode($c); )
Bonsoir, oui, c'est normal que les é soient transformé en é , c'est le but de la fonction: transformer, l'insérer dans la bdd ainsi, puis lorsqu'on l'affiche avec php, et qu'on ouvre la page, on revoit un é, car la manipulation par le navigateur est inverse.
Ca ne marche pas avec l'utf-8
Mes é sont convertis en & Atilde; & copy;
Y a-t-il un moyen d'y remédier ?
Mes é sont convertis en & Atilde; & copy;
Y a-t-il un moyen d'y remédier ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question