Problème d'accents dans formulaire php
Résolu
spike2012
Messages postés
2
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je bloque sur un formulaire pour mon site, j'ai une page formulaire.php et une page mail.php, le formulaire est bien envoyé sur mon mail mais si il y a des accents ils sont remplacés (par ex é est remplacé par "& e a cute;" sans les espaces) j'ai essayé plein de chose trouvé sur le net mais rien de concluant. Voici mon code si quelqu'un peut m'aider:
EDIT : Ajout de la coloration SYNTAXIQUE dans les balises de code
<?php
$nom=htmlentities($_POST['txtnom']);
$prenom=htmlentities($_POST['txtprenom']);
$ville=htmlentities($_POST['txtville']);
$mel=htmlentities($_POST['txtmail']);
$mobile=htmlentities($_POST['txtmobile']);
$pseudo=htmlentities($_POST['txtpseudo']);
$metier=htmlentities($_POST['txtmetier']);
$destinataire = 'XXXXX@XXXXX.fr';
$from='From : XXXXX@XXXXXX.fr';
$objet = 'XXXXXX';
$contenu .= "Nom : " . $nom;
$contenu .= " - Prenom : " . $prenom;
$contenu .= " - Ville : " . $ville;
$contenu .= " - Email : " . $mel;
$contenu .= " - Mobile : " . $mobile;
$contenu .= " - Pseudo : " . $pseudo;
$contenu .= " - Metier : " . $metier;
$retour=mail($destinataire,$objet, $contenu, $from);
if($retour)
echo 'Votre message a bien été envoyé !';
?>
EDIT : Ajout de la coloration SYNTAXIQUE dans les balises de code
2 réponses
-
Bonjour,
Commence par appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
NB: Je déplace ta question dans le forum PHP
-
Et remplace le contenu de ta variable $from par:
$from = "XXXXX@XXXXXX.fr"; // create header $header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $header .= 'From: ' . $from. "\r\n";
et donc l'appel de la fonction mail$retour=mail($destinataire,$objet, $contenu, $header);
-
-
Merci ça fonctionne, voici le code qui fonctionne pour les prochains:
<?php $nom=htmlentities($_POST['txtnom']); $prenom=htmlentities($_POST['txtprenom']); $ville=htmlentities($_POST['txtville']); $mel=htmlentities($_POST['txtmail']); $mobile=htmlentities($_POST['txtmobile']); $pseudo=htmlentities($_POST['txtpseudo']); $metier=htmlentities($_POST['txtmetier']); $destinataire = 'XXXXX@XXXXX.fr'; $from='From : XXXXX@XXXXXX.fr'; $objet = 'XXXXXX'; $header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $header .= 'From: ' . $from. "\r\n"; $contenu .= "Nom : " . $nom; $contenu .= " - Prenom : " . $prenom; $contenu .= " - Ville : " . $ville; $contenu .= " - Email : " . $mel; $contenu .= " - Mobile : " . $mobile; $contenu .= " - Pseudo : " . $pseudo; $contenu .= " - Metier : " . $metier; $retour=mail($destinataire,$objet, $contenu, $header); if($retour) echo 'Votre message a bien été envoyé !'; ?>