Votre question

Un formulaire en 2 page....?

Tags :
  • Input
  • Programmation
Dernière réponse : dans Programmation
1 Juin 2009 11:00:07

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

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



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

Autres pages sur : formulaire page

1 Juin 2009 11:32:31

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 :

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


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).
1 Juin 2009 11:41:44

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 ?
Contenus similaires
1 Juin 2009 11:48:44

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:

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

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?
1 Juin 2009 12:21:57

il faut le if, obligatoirement. As-tu bien pensé à rajouter la deuxième partie? (ce que j'avais rajouté dans le deuxième if)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS