Formulaire html confirmation php
florest
Messages postés
4
Statut
Membre
-
dariumis Messages postés 583 Statut Membre -
dariumis Messages postés 583 Statut Membre -
Bonjour tout le monde!
J'ai un problème avec ma confirmation d'envoi de formulaire de contact. En fait je dois faire un site web fictif avec Dreamweaver CS4 dans le cadre d'un projet de Master2, dont un formulaire de contact et une page de confirmation php. (NB : je ne connais rien au langage php, on ne l'a jamais vu en cours...) J'ai donc essayé de comprendre par moi-même en regardant de nombreux forums, mais rien n'y fait, ça ne marche pas!
Quand je rentre les données dans mon formulaire et que je clique sur envoyer, une page blanche s'affiche alors qu'il devrait y avoir marqué "votre message a bien été envoyé".
Voici mon code html pour mon formulaire (que j'ai fait dans un tableau) :
<body>
<center><h1><strong>Informations - Réservations</strong></h1></center>
<table width="100%" border="0">
<tr>
<td width="55%"><table width="100%" border="0">
<tr>
<td colspan="4">Nom :</td>
</tr>
<tr>
<td colspan="4">
<form id="nom" name="Name" method="post" action="envoidemessage1.php">
<span id="sprytextfield1">
<label>
<input type="text" name="Name" size="60px"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span>
</form></td>
</tr>
<tr>
<td colspan="4">E-mail :</td>
</tr>
<tr>
<td colspan="4">
<form id="email" name="Email" method="post" action="envoidemessage1.php">
<span id="sprytextfield2">
<label>
<input type="text" name="Email" size="60px"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span>
</form></td>
</tr>
<tr>
<td colspan="4">Pays :</td>
</tr>
<tr>
<td colspan="4"><select name="pays">
<option>France</option>
<option>Suisse</option>
<option>Belgique</option>
<option>Québec</option>
<option>Luxembourg</option>
<option>Autre</option>
</select>
</td>
</tr>
<tr>
<td width="25%">Check-in : (JJ/MM/AA)</td>
<td colspan="3">Check-out : (JJ/MM/AA)</td>
</tr>
<tr>
<td><input type="text" name="checkin"/></td>
<td><input type="text" name="checkout"/></td>
<td width="21%">Adultes <input type="text" name="adultes" size="5px"/></td>
<td width="29%">Enfants (-12 ans) <input type="text" name="enfants" size="5px"/></td>
</tr>
<tr>
<td colspan="4"><span id="sprycheckbox1">
<input type="checkbox" name="informations2" value="INFORMATIONS TARIFS"/>
<span class="checkboxRequiredMsg">Effectuez une sélection.</span></span>
Informations tarifs
<form id="form3" name="form3" method="post" action="envoidemessage1.php">
<span id="sprycheckbox2">
<label>
<input type="checkbox" name="reservation" value="RESERVATION"/>Réservation
</label>
<span class="checkboxRequiredMsg">Effectuez une sélection.</span></span>
</form>
</td>
</tr>
<tr>
<td colspan="4"> </td>
</tr>
<tr>
<td colspan="4">Commentaires :</td>
</tr>
<tr>
<td colspan="4"><textarea cols="70" rows="20" name="Message"></textarea></td>
</tr>
<tr>
<td><form action="envoidemessage1.php" method="post" name="formulaire">
<input type="submit" value="ENVOYER"/>
</form></td>
<td><input type="reset" value="EFFACER"/></td>
<td colspan="2"> </td>
</tr>
</table>
</body>
Et voici le code php (envoidemessage1.php) :
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie l'email
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été rempli, on envoi
mail("xxx@xxxxxx.fr",$Message,$Name,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
$h = "From: $email\r\nReply-To: $reponse\r\n"; //Content-Type: text/html;
$h .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$h .= "MIME-Version: 1.0\r\n";
$h .= "Content-Transfer-Encoding:8bit\r\n";
?>
Merci pour votre aide!!
J'ai un problème avec ma confirmation d'envoi de formulaire de contact. En fait je dois faire un site web fictif avec Dreamweaver CS4 dans le cadre d'un projet de Master2, dont un formulaire de contact et une page de confirmation php. (NB : je ne connais rien au langage php, on ne l'a jamais vu en cours...) J'ai donc essayé de comprendre par moi-même en regardant de nombreux forums, mais rien n'y fait, ça ne marche pas!
Quand je rentre les données dans mon formulaire et que je clique sur envoyer, une page blanche s'affiche alors qu'il devrait y avoir marqué "votre message a bien été envoyé".
Voici mon code html pour mon formulaire (que j'ai fait dans un tableau) :
<body>
<center><h1><strong>Informations - Réservations</strong></h1></center>
<table width="100%" border="0">
<tr>
<td width="55%"><table width="100%" border="0">
<tr>
<td colspan="4">Nom :</td>
</tr>
<tr>
<td colspan="4">
<form id="nom" name="Name" method="post" action="envoidemessage1.php">
<span id="sprytextfield1">
<label>
<input type="text" name="Name" size="60px"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span>
</form></td>
</tr>
<tr>
<td colspan="4">E-mail :</td>
</tr>
<tr>
<td colspan="4">
<form id="email" name="Email" method="post" action="envoidemessage1.php">
<span id="sprytextfield2">
<label>
<input type="text" name="Email" size="60px"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span>
</form></td>
</tr>
<tr>
<td colspan="4">Pays :</td>
</tr>
<tr>
<td colspan="4"><select name="pays">
<option>France</option>
<option>Suisse</option>
<option>Belgique</option>
<option>Québec</option>
<option>Luxembourg</option>
<option>Autre</option>
</select>
</td>
</tr>
<tr>
<td width="25%">Check-in : (JJ/MM/AA)</td>
<td colspan="3">Check-out : (JJ/MM/AA)</td>
</tr>
<tr>
<td><input type="text" name="checkin"/></td>
<td><input type="text" name="checkout"/></td>
<td width="21%">Adultes <input type="text" name="adultes" size="5px"/></td>
<td width="29%">Enfants (-12 ans) <input type="text" name="enfants" size="5px"/></td>
</tr>
<tr>
<td colspan="4"><span id="sprycheckbox1">
<input type="checkbox" name="informations2" value="INFORMATIONS TARIFS"/>
<span class="checkboxRequiredMsg">Effectuez une sélection.</span></span>
Informations tarifs
<form id="form3" name="form3" method="post" action="envoidemessage1.php">
<span id="sprycheckbox2">
<label>
<input type="checkbox" name="reservation" value="RESERVATION"/>Réservation
</label>
<span class="checkboxRequiredMsg">Effectuez une sélection.</span></span>
</form>
</td>
</tr>
<tr>
<td colspan="4"> </td>
</tr>
<tr>
<td colspan="4">Commentaires :</td>
</tr>
<tr>
<td colspan="4"><textarea cols="70" rows="20" name="Message"></textarea></td>
</tr>
<tr>
<td><form action="envoidemessage1.php" method="post" name="formulaire">
<input type="submit" value="ENVOYER"/>
</form></td>
<td><input type="reset" value="EFFACER"/></td>
<td colspan="2"> </td>
</tr>
</table>
</body>
Et voici le code php (envoidemessage1.php) :
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie l'email
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été rempli, on envoi
mail("xxx@xxxxxx.fr",$Message,$Name,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
$h = "From: $email\r\nReply-To: $reponse\r\n"; //Content-Type: text/html;
$h .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$h .= "MIME-Version: 1.0\r\n";
$h .= "Content-Transfer-Encoding:8bit\r\n";
?>
Merci pour votre aide!!
A voir également:
- Formulaire html confirmation php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Confirmation de lecture whatsapp - Guide
- Editeur html - Télécharger - HTML
- Confirmation de lecture gmail - Guide
7 réponses
J'ai utilisé dreamweaver juste pour le code html, tout le php a été fait à la main!
Enfin, à la main, c'est-à-dire j'ai copié-collé du code que j'ai trouvé sur des forums...et puis j'ai essayé de l'adapter à mon formulaire.
Enfin, à la main, c'est-à-dire j'ai copié-collé du code que j'ai trouvé sur des forums...et puis j'ai essayé de l'adapter à mon formulaire.
Alors, il existe une petite astuce, on l'appelle "isset" elle sert à vérifier si tes formulaires sont vides ou pas :p
Avant tout, tu traites tes variables une à une:
//On vérifie uniquement si quelque chose est dans le form ou pas !
if(isset($_POST['name'])
{
$name=$_POST['name'];
}
else
{
$name="";
}
//reproduis ça pour toutes tes variables, change juste le "name"
//on vérifie ensuite avec un grand if
//tu remplaces variable par ta variable et tu fais ceci autant de fois que tu veux traiter de variables :p
if(($name==NULL) OR ($mail==NULL) OR ($variable==NULL))
{
//ici on traite les variable une à une pour renvoyer les messages d'erreur
if($name==NULL)
{
echo "ton name n'a pas été renseigné !";
}
if($mail==NULL)
{
echo "ton mail n'a pas été renseigné !";
}
//tu fais ceci pour chacune de tes variables, j'ai fait un grand if pour optimiser la boucle, ainsi ta page traitera tous les cas si il y a un problème, alors que si on ne fait pas de " grand if " elle va quad même tout vérifier et ça sert à rien si tout a été rempli :p
}
//sinon on envoie le mail :D tout est bon !
else
{
//j'ai trouvé ta function mail compliqué ! je te file la mienne beaucoup plus simple à mon goût.
$mail=$_POST['mail'];//bon ben le mail de destination récupéré :p
$name=$POST['name'];//le nom :p
$reponse=$_POST['reponse'];//a réponse !
$headers ='From: "ICI TU METS TON NOM OU TON ADRESSE EMAIL"<adresse@fai.fr>'."\n";
(mail($mail, "ICI TU METS TON SUJET", $reponse, $headers));
echo "ton mail a été envoyé !";
}
Voilà, en espérant que ça t'aide, si tu comprends pas demande !
Avant tout, tu traites tes variables une à une:
//On vérifie uniquement si quelque chose est dans le form ou pas !
if(isset($_POST['name'])
{
$name=$_POST['name'];
}
else
{
$name="";
}
//reproduis ça pour toutes tes variables, change juste le "name"
//on vérifie ensuite avec un grand if
//tu remplaces variable par ta variable et tu fais ceci autant de fois que tu veux traiter de variables :p
if(($name==NULL) OR ($mail==NULL) OR ($variable==NULL))
{
//ici on traite les variable une à une pour renvoyer les messages d'erreur
if($name==NULL)
{
echo "ton name n'a pas été renseigné !";
}
if($mail==NULL)
{
echo "ton mail n'a pas été renseigné !";
}
//tu fais ceci pour chacune de tes variables, j'ai fait un grand if pour optimiser la boucle, ainsi ta page traitera tous les cas si il y a un problème, alors que si on ne fait pas de " grand if " elle va quad même tout vérifier et ça sert à rien si tout a été rempli :p
}
//sinon on envoie le mail :D tout est bon !
else
{
//j'ai trouvé ta function mail compliqué ! je te file la mienne beaucoup plus simple à mon goût.
$mail=$_POST['mail'];//bon ben le mail de destination récupéré :p
$name=$POST['name'];//le nom :p
$reponse=$_POST['reponse'];//a réponse !
$headers ='From: "ICI TU METS TON NOM OU TON ADRESSE EMAIL"<adresse@fai.fr>'."\n";
(mail($mail, "ICI TU METS TON SUJET", $reponse, $headers));
echo "ton mail a été envoyé !";
}
Voilà, en espérant que ça t'aide, si tu comprends pas demande !
Merci...mais ça ne marche toujours pas! Maintenant j'ai du code php qui s'affiche dans la page, à partir de \n, j'ai peut-être fait quelque chose de travers...
Petite question : est-ce que je suis obligée de mettre un sujet ? Et à quoi correspond $reponse ? ET, dernière question je promets, pourquoi faut-il que je mette mon adresse mail dans le code php et aussi entre les balises html ?
Merci beaucoup !
Petite question : est-ce que je suis obligée de mettre un sujet ? Et à quoi correspond $reponse ? ET, dernière question je promets, pourquoi faut-il que je mette mon adresse mail dans le code php et aussi entre les balises html ?
Merci beaucoup !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut, tu as essayé, au lieu de faire tous ces if imbriqué, de mettre un boolean initialiser a true qui prend false dans le cas ou il tombe sur un champ vide, et d'ecrire "votre message..." que si il est a true arriver a cette ligne, ça me parait plus logique, surtout plus lisible.
Euh...j'ai compris le principe mais j'avoue que je suis novice en php et que je ne sais pas du tout comment faire! Mais merci je vais voir si je peux trouver des infos sur ce que tu m'as dit ça me paraît être une bonne idée!
je sais pas si ça va changer quelque chose mais au moins tu y verra plus clair:
Mais c'est vrai qu'en général on ce sert des isset.^^
$bool=true;
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
$bool=false;
}
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
$bool=false;
}
if($Email ==""){
// On verifie l'email
echo("Le champ email est vide !");
$bool=false;
}
if($bool==true){
// si tout a été rempli, on envoi
mail("xxx@xxxxxx.fr",$Message,$Name,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
Mais c'est vrai qu'en général on ce sert des isset.^^