Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Nozon le le 19-04-2011 a 17:53:44

Titre: Je reçois mal les infos de mon formulaire
Posté par: Nozon le le 19-04-2011 a 17:53:44

Bonjour!
Je reçois bien les informations par mail de mon formulaire mais toute à la suite: comme ceci:

Reservation chambre Pernelle Civilite : Mme Nom : Dupont Prénom : Josette Adresse : Route d’Oron 4 No.Postal : 1458 Ville : Paris Téléfone : 1234-456789 Email : webmaster@site.fr Pays : France Date arrivée : 12.12.2011 Nbr nuits : 2 Nbr Personnes : 2 personnes Commentaire : SDF

Et je le désire comme ceci:

Reservation chambre Pernelle
Civilite : Mme
Nom : Dupont
Prénom : Josette
Adresse : Route d’Oron 4
No.Postal : 1458
Ville : Paris
Téléfone : 1234-456789
Email : webmaster@site.fr
Pays : France
Date arrivée : 12.12.2011
Nbr nuits : 2 Nbr
Personnes : 2 personnes
Commentaire : SDF

J'ai bien tenté de replacer les "\n" par "</br>" dans $msgTexte et $headers mais le formulaire génère une erreur et ne part pas.

Merci de votre aide!

Voici le script php de mon formulaire:

<?php
      $statSentMsg="";
      if(isset($_POST['Envoyer'])){
         // Destination de message
         $mailDestinataire = "webmaster@site.fr";
         // Titre du message
         $msgTitre = "Reservation chambre Pernelle";
         // Suppression des balises html ou scripts malveillants
         while(list($indice,$valeur)=each($_POST)){
            ${$indice}=strip_tags(trim($valeur));
         }
         // Création du message
            $msgTexte="Reservation chambre Pernelle\n";
         $msgTexte .= "Civilite : ".$Civilite."\n";
         $msgTexte .= "Nom : ".$nom."\n";
         $msgTexte .= "Prénom : ".$prenom."\n";
         $msgTexte .= "Adresse : ".$adresse."\n";
         $msgTexte .= "No.Postal : ".$nopostal."\n";
         $msgTexte .= "Ville : ".$ville."\n";
         $msgTexte .= "Téléfone : ".$telefone."\n";
         $msgTexte .= "Email : ".$email."\n";
         $msgTexte .= "Pays : ".$pays."\n";
         $msgTexte .= "Date arrivée : ".$datearrivee."\n";
         $msgTexte .= "Nbr nuits : ".$nbrenuits."\n";
         $msgTexte .= "Nbr Personnes : ".$nbrePersonnes."\n";
         $msgTexte .= "Commentaire : ".$commentaire."\n";
         // Creation des entêtes
         $headers ='From: "Chambre Pernelle"<'.$email.'>'."\n";
         $headers .='Reply-To: '.$email."\n";
         $headers .='Content-Type: text/html; charset="utf-8"'."\n";
         $headers .='Content-Transfer-Encoding: 8bit';
   
   // prise en compte de l'accentuation   
         //Formatage du contenu
$msgTexte = stripslashes($msgTexte);
$msgTexte = htmlentities($msgTexte,ENT_QUOTES,'UTF-8');

         
         // Envoi du message
         if(mail($mailDestinataire, $msgTitre, stripslashes($msgTexte), $headers)) {


            $statSentMsg="ok";
         }else{
            $statSentMsg="error";
         }
      }
      ?>
<?php if($statSentMsg=="ok"){ ?>
<div>
<center><font face="Verdana, Geneva, sans-serif" color="#009900" size="+1" >Votre demande à bien été envoyée...</font></center>
</div>
      <?php }elseif($statSentMsg=="error"){ ?>
<div>
<center><font face="Verdana, Geneva, sans-serif" color="#FF0000" size="+1" >Une erreur est survenue lors de l'envoi de votre demande...</font></center>
</div>
      <?php }else {
      
      ?>

Titre: Re:Je reçois mal les infos de mon formulaire
Posté par: Ether Création le le 03-05-2011 a 19:49:28

Bonjour,

Essaye avec ca :
if($_POST['Envoyer']){   
      while (list($key, $val) = each($HTTP_POST_VARS)) {
       $message_dzedf .= "$key : $val\n";
      }   
      
      //envoi du message
      mail('webmaster@site.fr','Formulaire de contact',$message_dzedf);   
   }
Ca fonctionnera !

Cordialement,

Arthur

Titre: Re:Je reçois mal les infos de mon formulaire
Posté par: MarvinLeRouge le le 04-05-2011 a 10:05:37

Salut,

La solution proposée est effectivement plus propre, plus simple, mais elle ne corrigera pas la véritable source de ton problème :
Ton absence de retour à la ligne vient du fait que tu sépares tes lignes par des \n, alors que tu indiques dans tes en-têtes que ton contenu est du html.
Donc, soit tu choisis d'indiquer que ton contenu est du texte (modification des en-têtes), soit tu choisis le retour à la ligne html, à savoir la balise <br>.

Titre: Re:Je reçois mal les infos de mon formulaire
Posté par: Pad le le 17-05-2011 a 15:03:16

Nozon je crois que tu t'es trompé avec ta balise <br>. Ce n'est pas </br> mais <br /> qu'il faut mettre ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.