Tom's Guide > Forum > Programmation > Un formulaire en 2 page....?
Mot :    Pseudo :           
 

Bonjour, je voudrait créer un mini-formulaire sur ma page d'accueil et que lorsqu'on clic sur "envoyer" cela redirige vers une autre page où se termine le formulaire et au clic du deuxième bouton d'envoi cela envoie le tout dans la bdd.

J'ai fait mes 2 formulaires, mon premier renvoi bien sur mon deuxième mais le problème vient du fait que ma bdd enregistre soit le premier, soit le deuxième formulaire mais pas les deux...hors c'est là mon but :-)

J'ai bien fait attention aux nom des boutons d'envoi pour qu'ils aient chacun le leur....mais est-ce bien?

Enfin bref quelque chose ne fonctionne pas et je n'ai aucune idée de ce que c'est :-(


Première partie du formulaire:

Code :
  1. <form method="post" action="inscription.php" >
  2.                         <p>
  3.                             Pseudo:
  4.                     <input id="decalage1" type="text" name="pseudo"/>
  5.                     <br/><br/>
  6.                             Mot de pass:
  7.                     <input id="decalage2" type="text" name="password"/>
  8.                     <br/><br/>
  9.                             E-mail:
  10.                     <input id="decalage3" type="text" name="mail"size="40"/>
  11.                     <br/><br/>
  12.                             Année de naissance:
  13.                     <input id="decalage4" type="text" name="annee_naissance"/>
  14.                     <br/>
  15.                     <input type="hidden" value="<?php $date ?>" name="date_inscription"/>
  16.                     <input id="valider" type="submit" name="confirmer" value="envoyer"/>
  17.                         </p>
  18.                     </form>




Deuxième partie sur une autre page:

Code :
  1. <?php
  2.             if (isset($_POST['confirmer']))
  3.             {
  4.                 $pseudo=$_POST['pseudo'];
  5.                 $password=$_POST['password'];
  6.                 $mail=$_POST['mail'];
  7.                 $annee_naissance=$_POST['annee_naissance'];
  8.                 $date_inscription=$_POST['date_inscription'];
  9.                 $date_inscription=$date;
  10.             ?>
  11.                 <form method="post" action="inscription.php" >
  12.                     <p>
  13.                     <b>Vous êtes</b>
  14.             <input id="h1" type="radio" name="sexe" value="homme"/>Homme
  15.             <input id="f1" type="radio" name="sexe" value="femme"/>Femme<br/>
  16.                     <b>Vous recherchez</b>
  17.             <input id="attir1" type="radio" name="attirance" value="amitier"/>Amitier
  18.             <input id="attir2" type="radio" name="attirance" value="relation"/>Relation/Amour
  19.             <input id="attir3" type="radio" name="attirance" value="sexe"/>Sexe<br/>
  20.                     <b>Votre situation</b>
  21.             <input id="situ1" type="radio" name="situation" value="celibataire"/>Célibataire
  22.             <input id="situ2" type="radio" name="situation" value="en couple"/>En couple<br/>
  23.                     <b>Localisation</b>
  24.             <input id="local1" type="radio" name="localisation" value="bruxelles"/>Bruxelles
  25.             <input  type="radio" name="localisation" value="hainaut"/>Hainaut
  26.             <input  type="radio" name="localisation" value="brabant_wallon"/>Brabant Wallon
  27.             <input  type="radio" name="localisation" value="brabant_flamand"/>Brabant Flamand
  28.             <input  type="radio" name="localisation" value="flandre"/>Flandre
  29.             <input  type="radio" name="localisation" value="etranger"/>Etranger<br/>
  30.                     <b>Enfant(s)</b>
  31.             <input id="enfant1" type="radio" name="enfant" value="0"/>0
  32.             <input id="enfant2" type="radio" name="enfant" value="1"/>1
  33.             <input id="enfant3" type="radio" name="enfant" value="2"/>2
  34.             <input id="enfant4" type="radio" name="enfant" value="3"/>3
  35.             <input id="enfant5" type="radio" name="enfant" value="4"/>4
  36.             <input id="enfant6" type="radio" name="enfant" value="plus"/>+<br/>
  37.                     <b>Langue(s)</b>
  38.             <input id="decalage5" type="text" name="langue" size="60"/>
  39.             <br/><br/>
  40.             <input type="hidden" value="<?php $date ?>" name="date_inscription"/>
  41.             <input id="valider2" type="submit" name="valider" value="confirmer"/>
  42.                     </p>
  43.                 </form>
  44.                 <?php
  45.                 if (isset($_POST['valider']))
  46.                 {
  47.                 $sexe=$_POST['sexe'];
  48.                 $attirance=$_POST['attirance'];
  49.                 $style=$_POST['style'];
  50.                 $situation=$_POST['situation'];
  51.                 $localisation=$_POST['localisation'];
  52.                 $enfant=$_POST['enfant'];
  53.                 $langue=$_POST['langue'];
  54.             mysql_connect ("localhost","root","mysql" );
  55.             mysql_select_db ("b" );
  56.             mysql_query ("INSERT INTO membres (pseudo,password,mail,annee_naissance,date_inscription,sexe,situation,localisation,enfant,langue)
  57.             VALUES ('$pseudo','$password','$mail','$annee_naissance','$date_inscription','$sexe','$situation','$localisation','$enfant','$langue')" );
  58.             mysql_close();
  59.                 }
  60.             }
  61.             ?>




Voilà si vous voyez ce qui peut clocher dans mon histoire.... les réponses sont les bienvenues :-)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Pour conserver les données du premier formulaire lors du remplissage du deuxième, il faut soit les stocker dans un input de type "hidden" ou alors dans les variables de session. Je te conseille plutôt la première méthode, ce qui donnerait par exemple :

Code :
  1. <?php
  2.             if (isset($_POST['confirmer']))
  3.             {
  4.                 $pseudo=$_POST['pseudo'];
  5.                 $password=$_POST['password'];
  6.                 $mail=$_POST['mail'];
  7.                 $annee_naissance=$_POST['annee_naissance'];
  8.                 $date_inscription=$_POST['date_inscription'];
  9.                 $date_inscription=$date;
  10.             ?>
  11.                 <form method="post" action="inscription.php" >
  12. // Lignes ajoutées
  13.             <input type="hidden" name="pseudo" value="<?php echo $pseudo; ?>" />
  14.             <input type="hidden" name="password" value="<?php echo $password; ?>" />
  15.             <input type="hidden" name="mail" value="<?php echo $mail; ?>" />
  16.             <input type="hidden" name="annee_naissance" value="<?php echo $annee_naissance; ?>" />
  17.             <input type="hidden" name="date_inscription" value="<?php echo $date_inscription; ?>" />
  18. // Fin de l'ajout
  19.                     <p>
  20.                     <b>Vous êtes</b>
  21.           <input id="h1" type="radio" name="sexe" value="homme"/>Homme
  22.             <input id="f1" type="radio" name="sexe" value="femme"/>Femme<br/>
  23.                   <b>Vous recherchez</b>
  24.             <input id="attir1" type="radio" name="attirance" value="amitier"/>Amitier
  25.             <input id="attir2" type="radio" name="attirance" value="relation"/>Relation/Amour
  26.           <input id="attir3" type="radio" name="attirance" value="sexe"/>Sexe<br/>
  27.                     <b>Votre situation</b>
  28.           <input id="situ1" type="radio" name="situation" value="celibataire"/>Célibataire
  29.           <input id="situ2" type="radio" name="situation" value="en couple"/>En couple<br/>
  30.                   <b>Localisation</b>
  31.           <input id="local1" type="radio" name="localisation" value="bruxelles"/>Bruxelles
  32.           <input  type="radio" name="localisation" value="hainaut"/>Hainaut
  33.           <input  type="radio" name="localisation" value="brabant_wallon"/>Brabant Wallon
  34.           <input  type="radio" name="localisation" value="brabant_flamand"/>Brabant Flamand
  35.           <input  type="radio" name="localisation" value="flandre"/>Flandre
  36.           <input  type="radio" name="localisation" value="etranger"/>Etranger<br/>
  37.                     <b>Enfant(s)</b>
  38.           <input id="enfant1" type="radio" name="enfant" value="0"/>0
  39.           <input id="enfant2" type="radio" name="enfant" value="1"/>1
  40.           <input id="enfant3" type="radio" name="enfant" value="2"/>2
  41.           <input id="enfant4" type="radio" name="enfant" value="3"/>3
  42.           <input id="enfant5" type="radio" name="enfant" value="4"/>4
  43.           <input id="enfant6" type="radio" name="enfant" value="plus"/>+<br/>
  44.                   <b>Langue(s)</b>
  45.           <input id="decalage5" type="text" name="langue" size="60"/>
  46.             <br/><br/>
  47.           <input type="hidden" value="<?php $date ?>" name="date_inscription"/>
  48.           <input id="valider2" type="submit" name="valider" value="confirmer"/>
  49.                     </p>
  50.                 </form>
  51.                 <?php
  52.               if (isset($_POST['valider']))
  53.                 {
  54. // Lignes ajoutées
  55.                 $pseudo=$_POST['pseudo'];
  56.                 $password=$_POST['password'];
  57.                 $mail=$_POST['mail'];
  58.                 $annee_naissance=$_POST['annee_naissance'];
  59.                 $date_inscription=$_POST['date_inscription'];
  60. // Fin de l'ajout
  61.                 $sexe=$_POST['sexe'];
  62.                 $attirance=$_POST['attirance'];
  63.                 $style=$_POST['style'];
  64.                 $situation=$_POST['situation'];
  65.               $localisation=$_POST['localisation'];
  66.                 $enfant=$_POST['enfant'];
  67.                 $langue=$_POST['langue'];
  68.           mysql_connect ("localhost","root","mysql" );
  69.             mysql_select_db ("b" );
  70.             mysql_query ("INSERT INTO membres (pseudo,password,mail,annee_naissance,date_inscription,sexe,situation,localisation,enfant,langue)
  71.             VALUES ('$pseudo','$password','$mail','$annee_naissance','$date_inscription','$sexe','$situation','$localisation','$enfant','$langue')" );
  72.             mysql_close();
  73.                 }
  74.           }
  75.             ?>



Bon je prends pas en compte les traitements dessus genre addslashes ou htmlentities et compagnie, faudra les rajouter si tu veux éviter les problèmes (c'est connu, un utilisateur c'est loin d'être parfait).


Message édité par hacherie le 01-06-2009 à 11:35:35
Répondre à hacherie

Je ne doit donc pas reprendre la première partie de code tout au-dessus:

# if (isset($_POST['confirmer']))
# {
# $pseudo=$_POST['pseudo'];
# $password=$_POST['password'];
# $mail=$_POST['mail'];
# $annee_naissance=$_POST['annee_naissance'];
# $date_inscription=$_POST['date_inscription'];
# $date_inscription=$date;

si je suis ton exemple ?

Répondre à caliche

bah dans les hidden tu peux remettre directement $_POST, ou alors laisser comme ça (je réutilise les variables où tu mets les $_POST).
Mais oui, si tu les supprimes ça ne te fera que quelques lignes en moins dans ton code.
De toute façon, comme je l'ai mis là, pour que ça fonctionne tu n'as que les parties indiquées comme "ajoutées" à remettre dans ton code.

EDIT :
Une suppression donnerait ça:

Code :
  1. if (isset($_POST['confirmer']))
  2.             {
  3.             ?>
  4.                 <form method="post" action="inscription.php" >
  5. // Lignes ajoutées
  6.             <input type="hidden" name="pseudo" value="<?php echo $_POST['pseudo']; ?>" />
  7.             <input type="hidden" name="password" value="<?php echo $_POST['password']; ?>" />
  8.             <input type="hidden" name="mail" value="<?php echo $_POST['mail']; ?>" />
  9.             <input type="hidden" name="annee_naissance" value="<?php echo $_POST['annee_naissance']; ?>" />
  10.             <input type="hidden" name="date_inscription" value="<?php echo $_POST['date_inscription']; ?>" />


Message édité par hacherie le 01-06-2009 à 11:51:58
Répondre à hacherie

Bon alors j'ai tester les 2 façons (avec et sans le if au-dessus) lol oui je sais ça peut paraitre débile mais bon quand on est débutante...on teste plus qu'on ne comprend Mdr

Et résultat....aucun des 2 ne fonctionne :-(

Quelqu'un à une idée du pourquoi?

Répondre à caliche

il faut le if, obligatoirement. As-tu bien pensé à rajouter la deuxième partie? (ce que j'avais rajouté dans le deuxième if)

Répondre à hacherie
Tom's Guide > Forum > Programmation > Un formulaire en 2 page....?
Aller à :

Il y a 1417 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens