probleme avec formulaire - PHP - Programmation
Marsh Posté le 25-09-2005 à 17:44:51
comment dire, c'est un peu la zone .... :~
c'est quoi les réponses que tu ne reçois pas, à partir de là tu pourras avancer un peu plus ...
Marsh Posté le 25-09-2005 à 17:51:33
ah merci dc en fait j'avai pri un script tout fait, il fonctionnai bien mais le probleme c'est que si un des critères n'étaient pas repondu le mail ne senvoyai pas, jai donc suprimer la ligner "echo"
maintenen le probleme est que d'une part, je ne reçoit ni les info des liste déroulante, et qand je repond aux qestions qui n'ont plus les "echo" je ne reçoi pas les infos dans le mail, et bizarmen quan ya pa de réponse je reçoi "question 1 et c'est vierge"
les seul reponse quie marche sont donc les qestion email,deparrtemen et ville 2
Marsh Posté le 25-09-2005 à 17:55:58
Code :
|
Regardes bien cette ligne ... ce qui se passe :
si $cp est vide on rajoute "Question 7 : $cp\n" à $MailBody
ce qui à mon avis n'est pas ce que tu souhaites faire
tu vois l'truc ?
Marsh Posté le 25-09-2005 à 17:59:32
je voi, donc il faut que je definisse quelque chose entre "" c 'est bien ça?
Marsh Posté le 25-09-2005 à 18:04:34
nan ...
il faudrait que tu vérifies plutôt que $cp n'est pas vide, au lieu de l'inverse ...
Code :
|
vois-tu ?
Marsh Posté le 25-09-2005 à 18:14:58
ReplyMarsh Posté le 25-09-2005 à 18:21:04
lilougirl8 a écrit : je voi par contre je sait pas commen faire ça |
?
tu remplaces == par != dans le fichier nadform.php3
seulement sur les champs concernés, par ex. $cp
Marsh Posté le 25-09-2005 à 18:29:18
bon ça à la'air de marcher vraimen merci, par contre, pour les case a cocher comment ça marche, parce que j'ai défini donc une ligne prix avec une case à choché soir pour euros soit pour francs
Marsh Posté le 25-09-2005 à 18:41:08
bon c cool alors ...
mais deux choses, si t'en as envie :
- interresses-toi à CSS pour simplifier et améliorer ton formulaire
- penches-toi sur php4, $_GET, $_POST, http://fr3.php.net/manual/fr/security.globals.php
pour les checkbox, soit la case a été cochée, et tu récupères la variable avec le nom correspondant soit la variables n'existe pas car la case ... n'a pas été cochée ...
donc
Code :
|
Mais des "radio" seront plus adaptés pour ne pas pouvoir selectionner les deux
mais c'est un autre sujet ...
Marsh Posté le 25-09-2005 à 19:13:10
normalemen c'est des radio merci je vai me penché la dessus
apres je regarderai le lien que tu ma envoyé
Marsh Posté le 25-09-2005 à 19:26:31
ah jai un petit soucis
Parse error: parse error, unexpected '{' in /home10/eq42432/html/nadform.php3 on line 76
Marsh Posté le 25-09-2005 à 19:40:32
bon là, faut faire marcher un peu tes neurones
y'a 2 erreurs dans l'ex. que je t'ai mis plus haut ...
Code :
|
Marsh Posté le 25-09-2005 à 20:07:34
a oui effectivement lol.. dsl je ne connai pas du tout le langage php.. je sui vraiment débutant mintenen quand je vois effectivement il manque une parenthese mais c'est le genre d' erreur qui méchappe lol je vais tester merci
Marsh Posté le 26-09-2005 à 18:50:40
oué pr le code jarrivai pa a claé ds la page alor jai mis des espace lol
systeme D
Faut que je retravail tout ça
Marsh Posté le 26-09-2005 à 18:52:54
Pour information, sert à mettre une espace insécable, par exemple entre un point d'interrogation et le mot qui le précède. Ca ne sert absolument pas à mettre de l'espace entre deux éléments... Pour ça, faut utiliser des marges, qui doivent êtres définies dans le CSS.
Marsh Posté le 26-09-2005 à 19:15:41
<offtopic>
Je rajouterais le respect de la syntaxe html ça va un peu va avec le respect de l'ortographe, ça permet de (re)lire ... pa ske sno spa vidan
</offtopic>
Marsh Posté le 25-09-2005 à 17:35:31
bonjour voila je voudrai créer un formulaire et recevoir les réponses par mail
J'ai réalisé la page du formulaire voici le code :
<form action="nadform.php3" method="post" name="fomrulaire" id="formulaire" >
<div align="left">
<p align="center"> <span class="Style24"> <span class="Style25"> </span></span><span class="Style1"> Vos Coordonnées </span></p>
<p align="center"> </p>
<p align="left">Civilité :
<select name="civilite" id="civilite">
<option>Monsieur</option>
<option>Madame</option>
<option>Mademoiselle</option>
<option>Monsieur et Madame</option>
</select>
</p>
<p> Nom :
<input name="nom" type="text" id="nom">
Prenom :
<input name="prenom" type="text" id="prenom">
</p>
<p>Adresse :
<input name="adresse" type="text" id="adresse" size="66">
</p>
<p>Telephone :
<input name="telephone" type="text" id="telephone">
E-mail* :
<input name="email" type="text" id="email" size="31">
</p>
<p>Cp :
<input name="cp" type="text" id="cp">
Ville :
<input name="ville" type="text" id="ville">
</p>
<p align="center" class="Style23"> </p>
<p align="center" class="Style23">Votre Bien</p>
<p>Type de bien :
<select name="typebien" id="typebien">
<option>Villa</option>
<option>Maison de village</option>
<option>Appartement</option>
<option>Cabanon</option>
<option>Fond de commerce</option>
<option>Terrain</option>
</select>
</p>
<p>Nombre de pièces :
<select name="nbpiece" id="nbpiece">
<option>Studio</option>
<option>T1</option>
<option>T2</option>
<option>T3</option>
<option>T4</option>
<option>T5 et +</option>
</select>
Surface :
<input name="surface" type="text" id="surface">
</p>
<p>Ville* :
<input name="ville2" type="text" id="ville2">
Département* :
<input name="departement" type="text" id="departement" size="21">
</p>
<p>Prix :
<input name="prix" type="text" id="prix">
<input type="radio" name="" value="">
€
<input type="radio" name="fr" value="Frs">
Frs </p>
<p align="center"><span class="Style23">* Indispensable</span></p>
<p align="center">Descriptif supplémentaire </p>
<p align="center">
<textarea name="commentaire" cols="70" rows="8" wrap="VIRTUAL" id="commentaire"></textarea>
</p>
<p align="center">
<input type="submit" name="Submit2" value="Envoyer">
<input type="reset" name="Submit3" value="Annuler">
</p>
<p align="center"> </p>
</div>
</form>
et ensuite script php pour recevoir le formulaire, je ne m'y conais pas trop et donc ça merde au niveau du mail, je le reçoi mais j'ai pas toutes les réponse
je ne compren pa je sui perdu ...sniff
<html>
<head></head>
<body>
<?
/* Ce script a été développé par Nadine Gaine.
Vous pouvez l'utiliser gratuitement à des fins NON-COMMERCIALES seulement, et le modifier à votre convenance.
Trouvé sur http://www.toulouse-renaissance.net/c_outils/
*/
$MailTo = "@.fr"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "@.fr"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Reponse au formulaire"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "From: @.fr"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3" ).
/* Les routines suivantes permettent à chacune des variables de prendre la valeur des champs du formulaire et de les stocker ensuite dans la variable globale MailBody qui constituera le corps du message */
$Envoi = 1; //initialisation de la variable envoi à 1
if ($civilite == "" ){ //nom du champ1
$MailBody .= "Question 1 : $civilite\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($nom == "" ){
$MailBody .= "Question 2 : $nom\n";
}
if ($prenom == "" ){
$MailBody .= "Question 3 : $prenom\n";
}
if ($adresse == "" ){ //nom du champ1
$MailBody .= "Question 4 : $adresse\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($telephone == "" ){
$MailBody .= "Question 5 : $telephone\n";
}
if ($email == "" ){
$Envoi = 0;
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 6</font><br>" );
$MailBody .= "Question 6 : $email\n";
}
if ($cp == "" ){ //nom du champ1
$MailBody .= "Question 7 : $cp\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($ville == "" ){
$MailBody .= "Question 8 : $ville\n";
}
if ($typebien == "" ){
$MailBody .= "Question 9 : $typebien\n";
}
if ($nbpiece == "" ){ //nom du champ1
$MailBody .= "Question 10 : $nbpiece\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($surface == "" ){
$MailBody .= "Question 11 : $surface\n";
}
if ($ville2 == "" ){
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 12</font><br>" );
$Envoi = 0;
}
else {
$MailBody .= "Question 12 : $ville2\n";
}
if ($departement == "" ){ //nom du champ1
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 13.</font><br>" ); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Question 13 : $departement\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($prix == "" ){
$MailBody .= "Question 14 : $prix\n";
}
if ($commentaire == "" ){
$MailBody .= "Question 15 : $commentaire\n";
}
//Routine pour les cases à cocher
$MailBody .="Question 8 : ";
$items = 3; //initialisation du nombre d'items possibles
for ($i = 1; $i <= $items; $i++) { //boucle sur le nombre d'items
$MailBody .= "$champ8[$i], "; //stockage des items choisis dans la variable MailBody
}
if ($Envoi == 0) echo("<p> </p><p> </p><p align=\"center\"><a href=\"vendre_votre_bien.htm\"><strong>Retour</strong></a></p>" );
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
//mail($MailCc, $MailSubject, $MailBody, $MailHeader); //envoi du communiqué (enlever // pour le rendre opérationnel
echo("<p><font face=verdana size=2>Votre message a bien été envoyé à l'un de nos conseillers.<br>Merci de vos commentaire. <br> Nous vous contacterons dans les plus bref délais.</font>" ); echo("<p> </p><p> </p><p align=\"center\"><a href=\"vendre_votre_bien.htm\"><strong>Retour</strong></a></p>" ); //affichage d'un message de confirmation.
}
?>
</body>
</html>