Script PHP formulaire mail

totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -  
totize Messages postés 47 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.
A voir également:

12 réponses

gaerebut Messages postés 1017 Date d'inscription   Statut Membre Dernière intervention   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
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
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
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
Pas d'idée ?

Je cherche je cherche...
0
gaerebut Messages postés 1017 Date d'inscription   Statut Membre Dernière intervention   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

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

Posez votre question
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
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
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
Est-ce qu'il faut pas créer une table SQL ou quelque chose comme ça ???
0
gaerebut Messages postés 1017 Date d'inscription   Statut Membre Dernière intervention   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
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
Toujours rien. Tout est blanc. Aie ! Est-ce bon signe ?
0
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
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
gaerebut Messages postés 1017 Date d'inscription   Statut Membre Dernière intervention   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
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
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
totize Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   4
 
---------------------------------- 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épondre 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