Nl2br génére des <br> (formulaire)

tonydanza
Messages postés
51
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
2 septembre 2009
- 1 août 2009 à 19:15
tonydanza
Messages postés
51
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
2 septembre 2009
- 2 août 2009 à 14:13
Bonjour,

j'ai un petit problème en php.

J'ai un formulaire de contact qui fonctionne
mais lorsque je reçoi le message
les retour chario sont affichés
comme ça

pouvez vous m'aider svp?

voila mon code:


<?php
$headers .= "Content-Type: text/plain; charset=utf-8".$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol;
$headers .= "MIME-Version: 1.0 ";



$email = "";
$nom = nl2br(stripslashes($_POST["nom"]));
$prenom = nl2br(stripslashes($_POST["prenom"]));
$tel = nl2br(stripslashes($_POST["tel"]));
$adr_envoyeur = nl2br(stripslashes($_POST["adr_envoyeur"]));
$message = nl2br(stripslashes($_POST["Message"]));
$sujet = nl2br(stripslashes($_POST["sujet"]));
$msg="\nSujet : ".$sujet."\nNom : ".$nom."\nPrenom : ".$prenom."\nTel : ".$tel."\nE-mail : ".$adr_envoyeur."\nLe Message est :\n".$message."\n";
$entete = "From: ".$adr_envoyeur."\nContent-Type: text/html; charset=utf-8";
$msg .= nl2br(stripslashes($_POST['msg']));



email($email,$adr_envoyeur,utf8_decode($msg));
echo "OK";

?>

vous en pensez quoi ?

6 réponses

tonydanza
Messages postés
51
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
2 septembre 2009

1 août 2009 à 19:52
J'ai essayé ça

<?php
$headers .= "Content-Type: text/plain; charset=utf-8".$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol;
$headers .= "MIME-Version: 1.0 ";



$email = "";
$nom = nl2br(stripslashes($_POST["nom"]));
$prenom = nl2br(stripslashes($_POST["prenom"]));
$tel = nl2br(stripslashes($_POST["tel"]));
$adr_envoyeur = nl2br(stripslashes($_POST["adr_envoyeur"]));
$message = nl2br(stripslashes($_POST["Message"]));
$sujet = nl2br(stripslashes($_POST["sujet"]));
$msg="\nSujet : ".$sujet."\nNom : ".$nom."\nPrenom : ".$prenom."\nTel : ".$tel."\nE-mail : ".$adr_envoyeur."\nLe Message est :\n".$message."\n";
$entete = "From: ".$adr_envoyeur."\nContent-Type: text/html; charset=utf-8";
$msg .= str_replace('
', '',($_POST['msg']));


email($email,$adr_envoyeur,utf8_decode($msg));
echo "OK";

?>

mais c'est pareil ....
0
tonydanza
Messages postés
51
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
2 septembre 2009

1 août 2009 à 23:50
quelqu'un s'y connait un peu ?
0
tonydanza
Messages postés
51
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
2 septembre 2009

2 août 2009 à 05:06
aprés quelques heurs j'avance un peu


<?php


$email = "";
$nom = stripslashes($_POST["nom"]);
$prenom = stripslashes($_POST["prenom"]);
$tel = stripslashes($_POST["tel"]);
$adr_envoyeur = stripslashes($_POST["adr_envoyeur"]);
$message = stripslashes($_POST["Message"]);
$sujet = stripslashes($_POST["sujet"]);
$msg="\nSujet : ".$sujet."\nNom : ".$nom."\nPrenom : ".$prenom."\nTel : ".$tel."\nE-mail : ".$adr_envoyeur."\nLe Message est :\n".$message."\n";
$entete = "From: ".$adr_envoyeur."\nContent-Type: text/plain; charset=utf-8.";
$msg .= stripslashes($_POST['msg']);

email($email,$adr_envoyeur,$msg);
echo "OK";

?>

je n'ai plus les

par contre je n'ai plus de retour a la ligne non plus
0
cs_47
Messages postés
197
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
20 février 2013
1
2 août 2009 à 07:37
Bonjour,

quand tu utilisers le nl2br (donc dans ton 1er code), tente de mettre

Content-Type: text/html;

à la place de
Content-Type: text/plain;


bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
2 août 2009 à 12:26
Salut,

Tu n'as pas l'impression que tu omets les headers dans la fonction mail ??
$headers, $entete ne sont jamais utilisés dans tes bouts de code.

mail($to, $subject, $message, $headers);

Et puis il faut choisir :
Tu veux envoyer un mail en texte : Content-type: text/plain; avec \r\n comme retour chariot
Tu veux envoyer un mail en HTML : Content-type: text/html; avec
comme retour chariot


Tu devrais revoir la doc de mail, il y a des exemples qu'il suffit de copier / coller.


Cordialement,


Kohntark -
0
tonydanza
Messages postés
51
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
2 septembre 2009

2 août 2009 à 14:13
bonjour ,

non non pas en html...
le header $entete et remplacé par $adr_envoyeur

voila mon code


<?php
$email = "";
$nom = stripslashes($_POST["nom"]);
$prenom = stripslashes($_POST["prenom"]);
$tel = stripslashes($_POST["tel"]);
$adr_envoyeur = stripslashes($_POST["adr_envoyeur"]);
$message = stripslashes($_POST["Message"]);
$sujet = stripslashes($_POST["sujet"]);
$msg="\nSujet : ".$sujet."\nNom : ".$nom."\nPrenom : ".$prenom."\nTel : ".$tel."\nE-mail : ".$adr_envoyeur."\nLe Message est :\n".$message."\n";
$entete = "From: ".$adr_envoyeur."\nContent-Type: text/plain; charset=utf-8";
$msg .= stripslashes($_POST['msg']);


email($email,$adr_envoyeur,utf8_decode($msg));
echo "OK";

?>

il fonctionne mais comment faire les retour a la ligne, actuellement il y en a pas ...

merci
0