Script PHP formulaire mail

totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -  
totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour @ tous !

J'ai mis en place un formulaire qui utilise un script PHP pour l'envoi mail.

Seulement, pour le texte inséré dans chaque input n'est pas envoyé par mail. Il n'y a que la "présentation" du mail décrite dans le script qui est correctement envoyé...

Mon formulaire :

-------------------------------------------------------------------------------------------------------------------------------------------------------------

<form action="../cgi-bin/mail.php" METHOD="POST" enctype="text/plain" class="formulaire" onSubmit="return verification()"><br>

<h4> Nom :
<input name="Nom " type="text" maxlength="25" size="25">
</h4>
<h4>Prénom :
<input name="Prenom " type="text" maxlength="25" size="25">
</h4>
<h4>Téléphone :
<input name="Telephone " type="text" maxlength="25" size="25"></h4>

<h4>E-mail :
<input name="Mail " type="text" maxlength="25" size="25"></h4>

<h4> Nombre de personnes :
<input name="Nombre de personnes " type="text" maxlength="25" size="25">
</h4>
<h4>Nombre de chambres :
<input name="Nombre de chambres " type="text" maxlength="25" size="25"></h4>
<h4><u>Dates de réservation</u><br>
Du :
<input name="Date arrivee " type="text" maxlength="25" size="25">
</h4>
<h4>Au : <input name="Date de fin " type="text" maxlength="25" size="25"></h4>
<h4><br>
Commentaires :
<textarea name="Commentaires " cols="50" rows="5"></textarea>
</h4>
<center><input type="Submit" value="Envoyer" class="button" style="height: 30px" name="=" ></center>
</form>

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Le script PHP :

-------------------------------------------------------------------------------------------------------------------------------------------------------------

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body><?php

$message=stripslashes($_POST[message]);

$destinataire="resa@----.com";

$contenu ="<html><head><title><u>Demande de réservation</u></title></head>";

$contenu.="<body><font size=2 face=arial>Bonjour Mme ------,<br>une nouvelle demande de réservation vous a été faite, voici les coordonnées de la personne :<br><br>";

$contenu.="<b>Nom</b> : {$_POST['Nom']}<br>";

$contenu.="<b>Prénom</b> : {$_POST['Prenom']}<br>";

$contenu.="<b>Téléphone</b> : {$_POST['Telephone']}<br>";

$contenu.="<b>E-mail</b> : {$_POST['Mail']}<br>";

$contenu.="<b>Nombre de personnes</b> : {$_POST['Nombre de personnes']}<br>";

$contenu.="<b>Nombre de chambres</b> : {$_POST['Nombre de chambres']}<br>";

$contenu.="<b>Date d'arrivée</b> : {$_POST['Date arrivee']}<br>";

$contenu.="<b>Date de fin</b> : {$_POST['Date de fin']}<br>";

$contenu.="<b>Commentaires</b> : {$_POST['Commentaires']}<br>";

$contenu.="<br><br>A bientôt.</font>";

$contenu.="</body></html>";

$headers = "MIME-Version: 1.0\n";

$headers.= "Content-type: text/html; charset=utf-8\n";

$headers.= "From: $Prenom $Nom<$Mail>\n";

$headers.= "Reply-To: <$Mail>\n";

mail ($destinataire,$sujet,$contenu,$headers);

echo '<script language="Javascript">
<!--
document.location.replace("http://-------/fr/merci.html");
// -->
</script>';

?>

</body>
</html>

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Ainsi, lorsque je rempli correctement toutes les cases du formulaire.
Il m'est envoyé à la bonne adresse que la mise en page du mail comme demandée dans le script PHP. Mais avec aucun mail d'expéditeur ni rien.

Je reçois ça :

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Bonjour Mme -----,
une nouvelle demande de réservation vous a été faite, voici les coordonnées de la personne :

Nom :
Prénom :
Téléphone :
E-mail :
Nombre de personnes :
Nombre de chambres :
Date d'arrivée :
Date de fin :
Commentaires :

A bientôt.

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Merci de votre aide pour réussir à palier ce problème qui me fait vraiment perdre beaucoup de temps mais que je pense en fait très simple à régler ! =-)

Totize.

12 réponses

  1. gaerebut Messages postés 1060 Statut Membre 171
     
    Slaut,

    je pense que c'est dû aux espace que tu as mis dans tes name du formulaire.

    En fait, tu a mis par exemple name="Nom " avec un espace après Nom et non name="Nom"

    Tu comprends ?!

    Essaye de modifier tout ça et redis moi !

    A+

    Gaerebut
    0
  2. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    Salut ! Merci pour ta réponse. C'était bien vu ! Mais apparement c'est pas ça... Aie !

    J'ai enlevé les espaces comme demandé. Mais rien n'a changé.
    Entre temps j'ai cherché à faire quelques modifs du script PHP :

    -------------------------------------------------------------------------------------------------

    <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
    <body><?php

    // debut de recuperation des donnees

    $Nom = $_POST['Nom'];

    $Prenom = $_POST['Prenom'];

    $Telephone = $_POST['Telephone'];

    $Mail = $_POST['Mail'];

    $Nombrepersonnes = $_POST['Nombre de personnes'];

    $Nombrechambres = $_POST['Nombre de chambres'];

    $Datearrivee = $_POST['Date arrivee'];

    $Datefin = $_POST['Date de fin'];

    $Commentaires = $_POST['Commentaires'];

    // Fin de recuperation des donnees

    $destinataire="resa@-------"; // Destinataire des demandes de resa

    $sujet ="Demande de réservation"; // Sujet du mail

    $contenu.="<body><font size=2 face=arial>Bonjour Mme ----,<br>une nouvelle demande de réservation vous a été faite, voici les coordonnées de la personne :<br><br>";

    $contenu.="<b>Nom</b> : $Nom <br>";

    $contenu.="<b>Prénom</b> : $Prenom <br>";

    $contenu.="<b>Téléphone</b> : $Telephone <br>";

    $contenu.="<b>E-mail</b> : $Mail <br>";

    $contenu.="<b>Nombre de personnes</b> : $Nombrepersonnes <br>";

    $contenu.="<b>Nombre de chambres</b> : $Nombrechambres <br>";

    $contenu.="<b>Date d'arrivée</b> : $Datearrivee <br>";

    $contenu.="<b>Date de fin</b> : $Datefin <br>";

    $contenu.="<b>Commentaires</b> : $Commentaires <br>";

    $contenu.="<br><br>A bientôt.</font>";

    $contenu.="</body></html>";

    $headers.= "MIME-Version: 1.0\n";

    $headers.= "Content-type: text/html; charset=utf-8\n";

    $headers.= "From: $Prenom $Nom <$Mail>\n";

    $headers.= "Reply-To: <$Mail>\n";

    mail ($destinataire,$sujet,$contenu,$headers);

    echo '<script language="Javascript">
    <!--
    document.location.replace("http://-----/fr/merci.html");
    // -->
    </script>';

    ?>

    </body>
    </html>

    Ca me met encore seulement la mise en page HTML du mail c'est tout. Comme avant.

    Sinon je pourrais faire ceci : http://www.commentcamarche.net/forum/affich 1875434 formulaire de contact

    Mais je perdrais ma mise en page mail, ce qui est vraiment dommage ! Et celle-ci est presque obligatoire car mon form reccueille pas mal d'infos et donc si elles se retrouvent toutes sans mise en page, nous ne sauront pas à quoi elles correspondent...

    Voilà !

    Si un pro du PHP passe par là ! Hé Hé :-)

    Totize.
    0
  3. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    Pas d'idée ?

    Je cherche je cherche...
    0
  4. gaerebut Messages postés 1060 Statut Membre 171
     
    Pas très judicieux de mettre des espaces dans tes name entre les mots (comme "Nom de personnes" par exemple!
    Essaye en mettant des _ à la place des espaces.

    Mais essaye de voir si tu reçois bien les variables !

    Fait juste echo $_POST['Nom']; pour voir si ça te renvoie le nom rentré précédemment !

    Tu es bien sur la page mail.php ?!

    A+

    Gaerebut
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    Oui je suis bien sur mail.php.

    J'ai enlevé les espaces pour mettre des "_" à la place.

    Ce qui donne pour le form ---> http://paste2.org/p/65742

    Et pour le script PHP ---> http://paste2.org/p/65744

    Et je reçois par mail ---> http://paste2.org/p/65745

    Alors je teste ce que tu m'as dit avec ce script mail.php ---> http://paste2.org/p/65746

    Je rempli correctement mon formulaire... Et "Envoyer" ! Hop ! Page 100% blanche !

    Donc apparement non, je ne reçois pas les variables ?

    Que faire ? D'où vient le PB ? J'ai tout mis ce que j'ai.

    Merci ! J'en ai presque marre ! lol

    Ca va faire du bien quand cette erreur sera trouvée ! ^^

    Totize.
    0
  7. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    Est-ce qu'il faut pas créer une table SQL ou quelque chose comme ça ???
    0
  8. gaerebut Messages postés 1060 Statut Membre 171
     
    Enlève tout le HTML de ta page mail.php

    <html><head></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><body></body> et </html>

    A+

    Gaerebut
    0
  9. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    Toujours rien. Tout est blanc. Aie ! Est-ce bon signe ?
    0
  10. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    Est-ce que quelqu'un comprends où est l'erreur SVP ?

    Vraiment désolé de presser qui que ce soit mais c'est urgent ^^
    0
  11. gaerebut Messages postés 1060 Statut Membre 171
     
    C'est peut-être dû au enctype de ta page html !

    Je sais pas trop à quoi ça sert mais essaye de l'enlever pour voir! lol

    Et mets method="post" en minuscule comme là et pas en majuscule.

    A+

    Gaerebut
    0
  12. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    C'est bon ! Ca marche nikel !

    C'était le enctype qui foirait tout ! J'ai laissé POST en majuscules car c'est d'origine comme ça.

    Donc pour ceux qui souhaite les deux codes pour bosser dessus ensuite, je les poste :

    ------------------------------ FORMULAIRE HTML ------------------------------------

    <form action="../cgi-bin/mail.php" METHOD="POST" class="formulaire" ><br>

    <h4> Nom :
    <input name="Nom" type="text" maxlength="70" size="25">
    </h4>
    <h4> Prénom :
    <input name="Prenom" type="text" maxlength="70" size="25">
    </h4>
    <h4> Téléphone :
    <input name="Telephone" type="text" maxlength="70" size="25"></h4>

    <h4> E-mail :
    <input name="Mail" type="text" maxlength="70" size="25"></h4>

    <h4> Nombre de personnes :
    <input name="Nombre_de_personnes" type="text" maxlength="70" size="25">
    </h4>
    <h4> Nombre de chambres :
    <input name="Nombre_de_chambres" type="text" maxlength="70" size="25"></h4>
    <h4> <u>Dates de réservation</u><br>
    Du :
    <input name="Date_arrivee" type="text" maxlength="70" size="25">
    </h4>
    <h4> Au : <input name="Date_de_fin" type="text" maxlength="70" size="25"></h4>
    <h4><br>
    Commentaires :
    <textarea name="Commentaires" cols="40" rows="5" maxlength="400"></textarea>
    </h4>
    <center><input type="Submit" value="Envoyer" class="button" style="height: 30px" name="=" ></center>
    </form>

    --------------------------------------------------------------------------------------------------------
    0
  13. totize Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   27
     
    ---------------------------------- SCRIPT PHP ---------------------------------------------------

    <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
    <body><?php

    // debut de recuperation des donnees

    $Nom = $_POST['Nom'];

    $Prenom = $_POST['Prenom'];

    $Telephone = $_POST['Telephone'];

    $Mail = $_POST['Mail'];

    $Nombrepersonnes = $_POST['Nombre_de_personnes'];

    $Nombrechambres = $_POST['Nombre_de_chambres'];

    $Datearrivee = $_POST['Date_arrivee'];

    $Datefin = $_POST['Date_de_fin'];

    $Commentaires = $_POST['Commentaires'];

    // Fin de recuperation des donnees

    $destinataire="emaildereception@mail.com"; // Destinataire des demandes de resa

    $sujet ="Demande de réservation"; // Sujet du mail

    $contenu.="<body><font size=2 face=arial>Bonjour,<br><br>";

    $contenu.="<b>Nom</b> : $Nom <br><br>";

    $contenu.="<b>Prénom</b> : $Prenom <br><br>";

    $contenu.="<b>Téléphone</b> : $Telephone <br><br>";

    $contenu.="<b>E-mail</b> : $Mail <br><br>";

    $contenu.="<b>Nombre de personnes</b> : $Nombrepersonnes <br><br>";

    $contenu.="<b>Nombre de chambres</b> : $Nombrechambres <br><br>";

    $contenu.="<b>Date d'arrivée</b> : $Datearrivee <br><br>";

    $contenu.="<b>Date de fin</b> : $Datefin <br><br>";

    $contenu.="<b>Commentaires</b> : $Commentaires <br>";

    $contenu.="<br><br>A bientôt.<br><br>";

    $contenu.="(Vous pouvez r&eacutepondre directement à cet E-mail)</font>";

    $contenu.="</body></html>";

    $headers.= "MIME-Version: 1.0n";

    $headers.= "Content-type: text/html; charset=utf-8n";

    $headers.= "From: $Prenom $Nom <$Mail>n";

    $headers.= "Reply-To: <$Mail>n";

    mail ($destinataire,$sujet,$contenu,$headers);

    echo '<script language="Javascript">
    <!--
    document.location.replace("http://pagederemerciement.com/merci.html");
    // -->
    </script>';

    ?>

    </body>
    </html>

    ---------------------------------------------------------------------------------------------------------
    0