probleme avec formulaire

probleme avec formulaire - PHP - Programmation

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 :  
 
 

Citation :

<form action="nadform.php3" method="post" name="fomrulaire" id="formulaire" >
            <div align="left">
              <p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Style24">&nbsp;&nbsp;<span class="Style25">&nbsp;</span></span><span class="Style1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vos Coordonn&eacute;es </span></p>
              <p align="center">&nbsp;</p>
              <p align="left">Civilité :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <select name="civilite" id="civilite">
                    <option>Monsieur</option>
                    <option>Madame</option>
                    <option>Mademoiselle</option>
                    <option>Monsieur et Madame</option>
                  </select>
              </p>
              <p> Nom :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <input name="nom" type="text" id="nom">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prenom :
      <input name="prenom" type="text" id="prenom">
              </p>
              <p>Adresse :&nbsp;&nbsp;&nbsp;
                  <input name="adresse" type="text" id="adresse" size="66">
              </p>
              <p>Telephone :
                  <input name="telephone" type="text" id="telephone">
&nbsp;&nbsp;&nbsp;&nbsp;E-mail* :
      <input name="email" type="text" id="email" size="31">
              </p>
              <p>Cp :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <input name="cp" type="text" id="cp">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ville :
      <input name="ville" type="text" id="ville">
              </p>
              <p align="center" class="Style23">&nbsp;</p>
              <p align="center" class="Style23">Votre Bien</p>
              <p>Type de bien : &nbsp;&nbsp;&nbsp;
                  <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&egrave;ces&nbsp; : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Surface :&nbsp;&nbsp;
      <input name="surface" type="text" id="surface">
              </p>
              <p>Ville* : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <input name="ville2" type="text" id="ville2">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D&eacute;partement* :&nbsp;  
      <input name="departement" type="text" id="departement" size="21">
              </p>
              <p>Prix&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <input name="prix" type="text" id="prix">
&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="radio" name="€" value="€">
&euro;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="radio" name="fr" value="Frs">
      Frs </p>
              <p align="center"><span class="Style23">* Indispensable</span></p>
              <p align="center">Descriptif suppl&eacute;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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="reset" name="Submit3" value="Annuler">
              </p>
              <p align="center">&nbsp;</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
 

Citation :

<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>&nbsp;</p><p>&nbsp;</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>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><a href=\"vendre_votre_bien.htm\"><strong>Retour</strong></a></p>" ); //affichage d'un message de confirmation.
}
?>
</body>
</html>

Reply

Marsh Posté le 25-09-2005 à 17:35:31   

Reply

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 ...

Reply

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

Reply

Marsh Posté le 25-09-2005 à 17:55:58    

Code :
  1. if ($cp == "" ){ //nom du champ1
  2.   $MailBody .= "Question 7 : $cp\\n";
  3. }


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 ?


Message édité par shakpana le 25-09-2005 à 17:57:03
Reply

Marsh Posté le 25-09-2005 à 17:59:32    

je voi, donc il faut que je definisse quelque chose entre "" c 'est bien ça?

Reply

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 :
  1. if($cp != "" ){
  2.   $MailBody .= "Question 7 : $cp\n";
  3. }


vois-tu ?

Reply

Marsh Posté le 25-09-2005 à 18:14:58    

je voi par contre je sait pas commen faire ça

Reply

Marsh 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

Reply

Marsh Posté le 25-09-2005 à 18:22:11    

daccor je vai essayer vraimen merci

Reply

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

Reply

Marsh Posté le 25-09-2005 à 18:29:18   

Reply

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 :
  1. if(isset($nom_de_la_checkbox_euro){
  2.   $MailBody .= "En euro\\n";
  3. }
  4. elseif(isset($nom_de_la_checkbox_francs){
  5.   $MailBody .= "En francs\\n";
  6. }
  7. // comment ça des Francs ?! des Francs Suisse ?


Mais des "radio" seront plus adaptés pour ne pas pouvoir selectionner les deux :)
mais c'est un autre sujet ...

Reply

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é :)

Reply

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

Reply

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 :
  1. if(isset($nom_de_la_checkbox_euro)){ // manque une parenthèse - corrigé
  2.   $MailBody .= "En euro\\n";
  3. }
  4. elseif(isset($nom_de_la_checkbox_francs)){ // manque une parenthèse - corrigé
  5.   $MailBody .= "En francs\\n";
  6. }


Message édité par shakpana le 25-09-2005 à 19:40:53
Reply

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

Reply

Marsh Posté le 25-09-2005 à 20:11:50    

impec ça marche

Reply

Marsh Posté le 26-09-2005 à 10:25:29    

P'tain le code HTML :sweat:

Reply

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

Reply

Marsh Posté le 26-09-2005 à 18:52:54    

Pour information, &nbsp; 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.

Reply

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>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed