Script PHP formulaire mail

Fermé
totize Messages postés 47 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 - 25 août 2008 à 21:58
totize Messages postés 47 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 - 27 août 2008 à 16:46
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 mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
25 août 2008 à 22:52
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 samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
26 août 2008 à 10:02
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 samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
26 août 2008 à 14:09
Pas d'idée ?

Je cherche je cherche...
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
26 août 2008 à 14:37
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 samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
26 août 2008 à 15:23
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 samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
26 août 2008 à 15:30
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 mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
26 août 2008 à 15:35
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 samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
26 août 2008 à 16:36
Toujours rien. Tout est blanc. Aie ! Est-ce bon signe ?
0
totize Messages postés 47 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
27 août 2008 à 11:42
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 mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
27 août 2008 à 11:54
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 samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
27 août 2008 à 16:45
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 samedi 10 mai 2008 Statut Membre Dernière intervention 28 septembre 2010 4
27 août 2008 à 16:46
---------------------------------- 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