Problème type encodage ("é","è") etc..

Problème type encodage ("é","è") etc.. - HTML/CSS - Programmation

Marsh Posté le 06-07-2010 à 23:07:37    


Bonjour voici mon problème.
 
Sur mon site j'ai créé un formulaire d'inscription. Je récupère les informations de celui-ci par un script php, le met en forme et je l'envoie sur une adresse mail.
 
A la lecture du mail les accents ne sont pas bien écris.
 
Merci pour vos réponse voici le code et le script.
 
 

Code :
  1. <form name="formulaire" method=POST onSubmit="return verif_formulaire()" action="formail2.php" >
  2.    <fieldset>
  3.     <legend>Formulaire réservation repas</legend>
  4.      <input type=hidden name=subject value=formmail>
  5.      <table style=" font: 10pt verdana;">
  6.       <tr><td>Nom:</td>
  7.        <td><input type=text name="nom" size=20></td>
  8.        <td>Prénom:</td>
  9.        <td><input type=text name="prenom" size=20></td>
  10.       </tr>
  11.       <tr><td>Adresse:</td>
  12.        <td><input type=text name="adresse" size=30></td>
  13.        <td>Téléphone:</td>
  14.        <td><input type=text name="tel" size=20></td>
  15.       </tr>
  16.       <tr><td>CP:</td>
  17.        <td><input type=text name="cp" size=4></td>
  18.        <td>Ville:</td>
  19.        <td><input type=text name="ville" size=20></td>
  20.       </tr>
  21.       <tr><td>Email:</td>
  22.        <td><input type=text name="mail" size=30></td></tr>
  23. etc ..


 
Script
 

Code :
  1. <?php
  2. $nom = $_POST['nom'];
  3. $prenom = $_POST['prenom'];
  4. $adresse = $_POST['adresse'];
  5. $tel = $_POST['tel'];
  6. $cp = $_POST['cp'];
  7. $ville = $_POST['ville'];
  8. $reserve1 = $_POST['cat1'];
  9. $reserve2 = $_POST['cat2'];
  10. $reserve3 = $_POST['cat3'];
  11. $reserve4 = $_POST['cat4'];
  12. $mail = $_POST['mail'];
  13. $objet = "???";
  14. $com = $_POST['message'];
  15. $headers = "MIME-Version: 1.0\r\n";
  16. $headers .= "Content-type: text/html; charset=iso-8859-1\n";
  17. $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
  18. $subject="$objet";
  19. $destinataire="mon@adresse.be";
  20. $message .= "<html>\n";
  21. $message .= "<body style=\"font-family:Verdana font-size:12px; color:#666666;\">\n";
  22. $message .= "<p> $nom $prenom<p>";
  23. $message .="<br>";
  24. $message .="<p>$adresse <br>";
  25. $message .="$cp $ville";
  26. $message .="<br>";
  27. $message .="<b>Téléphone: </b>$tel";
  28. $message .="<br><br>";
  29. $message .="Réserve <b>$reserve1 repas $reserve2</b>";
  30. $message .=" et <b> $reserve3 repas $reserve4</b>. </p>";
  31. $message .="<br>";
  32. $message .="<p><u>Commentaire de $prenom $nom:</u></p> ";
  33. $message .="<p>$com</p>";
  34. $message .= "</body>\n";
  35. $message .= "</html>\n";
  36. if (mail($destinataire,$subject,$message,$headers)) {
  37. echo "Votre mail a &eacute;t&eacute envoy&eacute";
  38. } else {
  39. echo "Une erreur s'est produite";
  40. }
  41. ?>

Reply

Marsh Posté le 06-07-2010 à 23:07:37   

Reply

Marsh Posté le 07-07-2010 à 00:22:05    

Dans ton .php, ajoute la declaration d'une fonction qui te permettra de "nettoyer" tes données récupérées

Code :
  1. function nettoyer($texte){
  2.        $texte = utf8_decode($texte); // converti en utf8
  3.        $texte = stripslashes($texte); // élimine les anti-slashs d'échappement
  4.        $texte = nl2br($texte); // pour bien traduire les retour à la ligne
  5.        $texte = trim($texte); // élimine les '\n', '\r', '\t' etc
  6.        return $texte;
  7. }

Et utilise cette fontion pour tous tes POST...

Code :
  1. $nom = nettoyer($_POST['nom']);
  2. $prenom = nettoyer($_POST['prenom']);
  3. $adresse = nettoyer($_POST['adresse']);
  4. //...


Message édité par abais le 07-07-2010 à 00:22:42

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 07-07-2010 à 00:44:37    

Merci je vais essayer

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed