Page 1 sur 2

urgent : problème accent

Posté : 31 mai 2005, 22:37
par Dan
Bonsoir,

Entant le dire tout de suite, c'est ma première journée en php. J'ai plus ou moins écrit un script pour recevoir sur mon mail les données d'un formulaire. Ca marche...
Par contre, toute les lettres avec accent (é ou à) du mail adressé automatiquement à la personne qui a rempli le formulaire, genre "votre message est bien arrivé", disparaissent.

Pourtant, j'ai mis en tête du script :

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

Une idée ? Faut-il mettre des balises html avant le texte ?

Merci beaucoup pour votre aide

Dan

Posté : 31 mai 2005, 22:44
par collaud
pourquoi tu veux leur envoyer un mail ??

Un simple affichage suffit !

---edit---

tu as t'as page de formulaire (supposons "form.php". Sur cette page tu clique sur un bouton "envoyer"...les infos sont alors transférées à la page "envoi.php" qui contient le code php. Et sur cette page, tu écris "Merci, votre mess a bien été envoyé, retour à l'accueil..."

Posté : 31 mai 2005, 22:50
par fab
htmlentities()
et petit rappel des regles de ce forum, le terme URGENT quand on demande de l'aide, nous sommes ici pour aider, nous sommes bénévole donc ici on ne connait pas l'urgence quand tu poses une question tu es au même titre que les autres

Posté : 31 mai 2005, 22:55
par Cyrano
Le truc que tu peux essayer, c'est de remplacer les lettres accentuées par leurs équivalent ascii :
é = é
à = à
etc...

Posté : 31 mai 2005, 22:58
par rami
Puisque dans le header, tu as bien précisé text/html, en passant le message dans htmlentities() comme t'a dit fab te permettra de résoudre ton problème ;)

vos réponses

Posté : 31 mai 2005, 23:08
par Dan
Merci pour vos réponses et désolé pour l'urgent... suis un peu sous pression.

Pourquoi envoyer un mail, pour rappeller que la personnes s'est inscrite à une conférence et qu'il ne faut pas qu'elle oublie d'y venir. Ca a l'air bête mais c'est pourtant nécessaire...

pour les codes ASCII, j'ai essayer mais nada, au lieu d'avoir les lettres accentués, ce sont ces codes qui s'affichent.

Posté : 31 mai 2005, 23:10
par fab
et avec ma fonction ?

la fonction

Posté : 31 mai 2005, 23:15
par Dan
Je pense que ta fonction peut marcher mais je ne sais pas comment l'utiliser.

voici la partie du script (par contre j'ai fait plein d'essais et je ne sais plus mettre à la ligne...)


$message = "Bonjour ".$_POST['prenom']." ".$_POST['nom']."Votre inscription à la conférence est bien enregistrée. N'oubliez pas de noter cet événement dans votre agenda.n\n\Rappel de l'adresse inscrite : ".$_POST['email']."n\n\L'équipe de PhonethiK aura la plaisir de vous y accueillir.n\ Bonne journée";

Posté : 31 mai 2005, 23:24
par Cyrano
les retours à la ligne, c'est \n, pas n\:
$message = "Bonjour ".$_POST['prenom']." ".$_POST['nom']."\n".
"Votre inscription à la conférence est bien enregistrée. N'oubliez pas de noter cet événement dans votre agenda.\n\n".
"Rappel de l'adresse inscrite : ".$_POST['email']."\n\n".
"L'équipe de PhonethiK aura la plaisir de vous y accueillir.\n".
" Bonne journée";

et la fonction ?

Posté : 31 mai 2005, 23:29
par Dan
Merci Cyrano pour la précision... par contre concernant la fonction de Fab. as-tu une idée où il faut la glisser pour que les é et les à reste afficher ?

Posté : 31 mai 2005, 23:31
par fab
$message = htmlentities($message);

test

Posté : 31 mai 2005, 23:38
par Dan
j'ai placé cette ligne devant le paragraphe concerné.
le mail reçu n'affiche aucune lettre accentué


..."Votre inscription ? la conf?rence est bien enregistr?e. N'oubliez pas de noter cet ?v?nement dans votre agenda."...

Ce n'est pas le bon endroit... mais où alors ?

Posté : 31 mai 2005, 23:42
par fab
apres le paragraphe
$message = "Bonjour ".$_POST['prenom']." ".$_POST['nom']."\n".
"Votre inscription à la conférence est bien enregistrée. N'oubliez pas de noter cet événement dans votre agenda.\n\n".
"Rappel de l'adresse inscrite : ".$_POST['email']."\n\n".
"L'équipe de PhonethiK aura la plaisir de vous y accueillir.\n".
" Bonne journée";
$message = htmlentities($message);

Posté : 31 mai 2005, 23:46
par Dan
marche pas non plus...

Posté : 31 mai 2005, 23:50
par fab
je vois pas alors désolé, peut etre que ton client mail n'aime pas le charset iso mais bon c'est peu probable :s