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 3705 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
Rejoignez-nous