Rechercher : dans
Par :

Problème d'accents dans un formulaire

Dernière réponse le 11 fév 2009 à 16:59:54 matsydney, le 18 oct 2007 à 03:46:16 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Problème d'accents dans un formulaire » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
Javascript - Effacer un champ de formulaire lors du clic (focus) VoirIl vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de...
Les formulaires HTML VoirIntérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...
Servlets - Gestion des formulaires VoirIntroduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise...
Bases de données - Utilisation de formulaires VoirUtilisation de formulaires Afin d'exploiter les bases de données, il faut fournir une interface à l'utilisateur lui permettant de visualiser des données en fonction de certains critères. Pour cela il existe un outil : les formulaires. Un formulaire...

1

Serge_La, le 18 oct 2007 à 03:51:00

Bonjour,
Ne pourrais-tu pas encoder les accents en html avec un javascript avant (ou même après) de l'envoyer dans ton php?
Par exemple, transformer é en &eacute;, etc.

Serge.

Répondre à Serge_La

2

ilan27, le 18 oct 2007 à 10:36:02
  • +1

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

Répondre à ilan27

3

matsydney, le 22 oct 2007 à 03:32:06

Bonjour,

Merci ilan27. J'arrive à récupérer les accents mais ils sont écrits n'importe comment : le é est transformé en é...

Auriez vous une idée??

Merci beaucoup.

Répondre à matsydney

4

ilan27, le 25 oct 2007 à 18:01:31

Bonsoir, oui, c'est normal que les é soient transformé en &eacute; , 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.

Répondre à ilan27

5

Duche, le 16 oct 2008 à 16:36:30

Ca ne marche pas avec l'utf-8
Mes é sont convertis en & Atilde; & copy;
Y a-t-il un moyen d'y remédier ?

Répondre à Duche

6

 kristof36, le 11 fév 2009 à 16:59:54

Avec du retard mais je viens de me poser la me^me question que toi, j'ai trouvé la réponse ici:

http://www.phpcs.com/...

Utilis la fonction utf8_decode() (ex: $c2=utf8_decode($c); )

Répondre à kristof36
Collection CommentÇaMarche.net