Formulaire html confirmation php

Fermé
florest Messages postés 4 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 27 mars 2010 - 27 mars 2010 à 15:38
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 - 27 mars 2010 à 22:29
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!!

A voir également:

7 réponses

xqM Messages postés 98 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 31 mars 2014 4
Modifié par xqM le 27/03/2010 à 15:50
Bonjour,

tout ces lignes ont été codées avec dreamweaver ?!
Tu n'as donc rien ajouté à la main ?!
0
florest Messages postés 4 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 27 mars 2010
27 mars 2010 à 15:58
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.
0
xqM Messages postés 98 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 31 mars 2014 4
Modifié par xqM le 27/03/2010 à 16:34
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 !
0
florest Messages postés 4 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 27 mars 2010
27 mars 2010 à 21:13
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 !
0

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

Posez votre question
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
27 mars 2010 à 22:09
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.
0
florest Messages postés 4 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 27 mars 2010
27 mars 2010 à 22:22
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!
0
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
27 mars 2010 à 22:29
je sais pas si ça va changer quelque chose mais au moins tu y verra plus clair:

$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.^^
0