Page 1 sur 1

Formulaire dynamique

Posté : 24 nov. 2013, 18:16
par fabricephp88
bonjour,
je souhaiterai faire un formulaire dynamique pour récupérer des infos de personnes.
Dans mon formulaire de base j'ai un champs dans lequel je demande à l'internaute le nombre de personne participant.

Code : Tout sélectionner

<select name="Nbrpersonne"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> </select>
En fonction du choix de ce champs je souhaiterai créé automatiquement pour chaque personne une genre de sous formulaire pour récupérer le nom, prénom, age, ville.
C'est ici que j'ai besoin d'un coup de main pour générer automatique les champs

Code : Tout sélectionner

Personne 1 : <input name="Nom" type="text" /> <input name="prenom" type="text" /> <input name="age" type="text" /> <input name="ville" type="text" /> Personne 2 : <input name="Nom" type="text" /> <input name="prenom" type="text" /> <input name="age" type="text" /> <input name="ville" type="text" /> ....
Ensuite un foi toute les données saisies je récupérerai le tout dans une base de donnée.

Merci de votre aide.

Re: Formulaire dynamique

Posté : 25 nov. 2013, 23:57
par moogli
salut,

coté html il te faut utiliser la notation tableau pour nommer les champs.
<input name="Nom[]" type="text"  />
<input name="prenom[]" type="text"  />
<input name="age[]" type="text"  />
<input name="ville[]" type="text"  />
Tu auras donc un tableau php dans $_POST['Nom'], $_POST['prenom'] etc
Chaque tableau aura le même index, tu pourras donc utiliser un foreach pour parcourir le tableau.

pour l'ajout des champs dynamiquement il faut que tu le fasse en html (tu trouvera de l'aide sur google ;) ).


@+

Re: Formulaire dynamique

Posté : 26 nov. 2013, 17:01
par nico63800
salut
tu peux faire çà en 2 étapes
une premiere page ou on choisit le nb de personnes et on valide
une seconde page qui affiche autant d'elements de formulaires que de personnes

apres tu recuperes tout çà dans une troisieme page et roules .... :D



<!-- ici le code de la première page -->
<form method="post" action="page2.php">
            <select name="nb_personnes">
                        <?php for($i=1; $i<=7; $i++) : ?>
                                   <option value="<?php echo $i ?>"><?php echo $i ?></option>
                        <?php endfor; ?>
            </select>
            <input type="submit" value="Suivant" />
</form>
<!-- fin de la première page -->



<!-- ici le code de la seconde page -->
<?php  $nb_personnes = $_POST['nb_personnes']; ?>

<form method="post" action="page3.php">
            <?php for($i=1; $i<=$nb_personnes; $i++): ?>

                        Personne <?php echo $i ?>&nbsp;

                        nom <input type="text" name="nom<?php echo $i ?>" />
                        prenom <input type="text" name="prenom<?php echo $i ?>" />
                        age <input type="text" name="age<?php echo $i ?>" />
                        ville <input type="text" name="ville<?php echo $i ?>" />
                        <br />

            <?php endfor; ?>

            <br /><br />
            <input type="submit" value="Suivant" />
</form>