mail envoyé avec formulaire n'accepte pas les accents

Petit nouveau ! | 7 Messages

04 févr. 2006, 15:45

Bonjour,

J'ai un soucis sur mon formulaire, c'est à dire que lorsqu'un visiteur en envoi un, les accents et apostrophes compris dans son message n'apparaisse pas et son remplacé par des chaines de caractères ce qui rend le message illisible.
Auriez-vous une solution car après de nombreuses recherches sur le net et de nombreux test je n'ai rien trouvé de fiable.

Voici le code de ma pager d'envoi php :
<?php
$TO = "mon@adresse";

$FR = "mon site";

$h = "From: " . $FR;

$message = "";

$subject = "Formulaire du site Dynamique-Environnement";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.monsite.fr");

?>
merci pour vos réponses.

Mammouth du PHP | 768 Messages

04 févr. 2006, 16:44

$HTTP_POST_VARS
:-k
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Mammouth du PHP | 19672 Messages

04 févr. 2006, 17:16

Code un peu obsolète : essaye comme ceci:
<?php
$TO = "mon@adresse";

$FR = "mon site";

$h  = "From: " . $FR ."\r\n";
$h .= "MIME-Version: 1.0\r\n";
$h .= "Content-type: text/html; charset=iso-8859-1\r\n";

$subject = "Formulaire du site Dynamique-Environnement";

$message = "";
while (list($key, $val) = each($_POST))
{
    $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.monsite.fr");
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 7 Messages

04 févr. 2006, 19:58

super ! :)
bon ce script marche très bien, il y a juste les apostrophes qui ne passent pas (ça met un slash avant l'apostrophe (lien au php?!)), mais je ne sais pas si ça ce résoud comme problème.

Par contre il y a juste une chose qui doit sans doute être possible, c'est que toutes les valeurs de mon formulaire de suivre dans le mail(il n'y a pas de passage à la ligne à chaque champs). Comment puis-je y remedier ?

Merci

Mammouth du PHP | 19672 Messages

04 févr. 2006, 23:27

Alors formate le de façon à avoir des retours à l'affichage:
//...
while (list($key, $val) = each($_POST))
{
    $message .= $key ." : ". $val ."<br />\n";
}
//...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 7 Messages

06 févr. 2006, 15:40

:) j'avais pas vu ça comme ça mais là c'est bon je crois que j'ai compris...
merci beaucoup pour tous ces éclaircissements ! :)
Juste une dernière question, il n'est pas possible de faire prendre en compte les apostrophes dans le texte envoyé par le formulaire.

C'est à dire que le texte "c'est l'été" devient "c\'est l\'été".

Peut-être peut t'on spécifier d'enlever tous les slashs ou alors il faut réussir à les prendre en compte.

Y a t'il une solution ?