Page 1 sur 1

Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 05:40
par biggildas
Salut à tout le monde.
Actuellement j’écris une application avec plusieurs formulaires et je rencontre quelques problèmes

Sur le première formulaire on a les info suivantes :
-nom
-prénom
-date de naissance
-lieu de naissance
-nombre d'enfants.

Pour le deuxième formulaire on a les infos suivants :
-nom
-prénom
-date de naissance
-lieu de naissance
-Établissement
-Sexe
-couleur préférée
-niveau d’études
-suivant (un bouton)
Le problème est le suivant :
En fonction du nombre d'enfant entre dans le formulaire 1 (n)

le formulaire 2 doit s'afficher n fois, actuellement l'affichage de tous les formulaires se fait sur une même page. J'aimerais avoir l'affichage d'un formulaire par page avec à un bouton suivant.
Aide moi aussi dans la récupération des données.

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 10:18
par Mazarini
bonjour,

Tu peux stocker les données dans des variables de session ou les ajouter dans des input hidden de tes formulaires.

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 11:45
par yeste64
Salut, je développe aussi une application de ce genre en ce moment. Pour les boutons suivant, tu règles ce problème en mettant "Suivant >" comme value à ton "submit" par exemple. Ensuite, pour tes valeurs, dans la page suivante, tu les récupère dans des variables de sessions, ceci te permets aussi de mettre en place un bouton "< Précédent" qui serait un simple lien vers ta page précédente et les variables de session te permettrait de pré-remplir tes champs. Attention, tu te lances dans un petit casse-tête je te préviens (surtout si tu as des listes déroulantes dépendantes et qui peuvent être grisées comme moi ^^'). Mais bon, avec BEAUCOUP de patience, tu y arriveras sans problème, la difficulté n'est pas grande, seule l'organisation est exigeante. Si jamais tu as besoin d'autres précisions..

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 11:55
par Invité
ca me marche
Salut, je développe aussi une application de ce genre en ce moment. Pour les boutons suivant, tu règles ce problème en mettant "Suivant >" comme value à ton "submit" par exemple. Ensuite, pour tes valeurs, dans la page suivante, tu les récupère dans des variables de sessions, ceci te permets aussi de mettre en place un bouton "< Précédent" qui serait un simple lien vers ta page précédente et les variables de session te permettrait de pré-remplir tes champs. Attention, tu te lances dans un petit casse-tête je te préviens (surtout si tu as des listes déroulantes dépendantes et qui peuvent être grisées comme moi ^^'). Mais bon, avec BEAUCOUP de patience, tu y arriveras sans problème, la difficulté n'est pas grande, seule l'organisation est exigeante. Si jamais tu as besoin d'autres précisions..
A quelle niveau tu fais la vérification des donnes après chaque submit ou bien ou dernier

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 12:02
par Invité
Salut, je développe aussi une application de ce genre en ce moment. Pour les boutons suivant, tu règles ce problème en mettant "Suivant >" comme value à ton "submit" par exemple. Ensuite, pour tes valeurs, dans la page suivante, tu les récupère dans des variables de sessions, ceci te permets aussi de mettre en place un bouton "< Précédent" qui serait un simple lien vers ta page précédente et les variables de session te permettrait de pré-remplir tes champs. Attention, tu te lances dans un petit casse-tête je te préviens (surtout si tu as des listes déroulantes dépendantes et qui peuvent être grisées comme moi ^^'). Mais bon, avec BEAUCOUP de patience, tu y arriveras sans problème, la difficulté n'est pas grande, seule l'organisation est exigeante. Si jamais tu as besoin d'autres précisions..
Comment fais-tu le mon des champs des elements du formulaire 2 tu utilise un tableau du nom[$i] ou tout simplement nom

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 12:14
par yeste64
Lorsque tu as un formulaire, dans ton "action=...", tu indiques la pages vers laquelle tu envoies tes données. Ce sera dans cette page que tu récupèreras toutes les données du formulaire dans des variables de session. Par exemple :
<!-- page1.php -->
<form action="page2.php" method="post">
<input type="text" name="nom" /> <!-- L'utilisateur entrera son nom ici -->
<input type="submit" value="Suivant >" />
</form>



<!-- page2.php -->
if (isset($_POST['nom']) && !empty($_POST['nom'])){  <!-- Si l'utilisateur a renseigné son nom précédemment -->
  $_SESSION['nom']= $_POST['nom'];
}

...
...
...
<a href="page1.php"><input type="button" value="< Pr&eacute;c&eacute;dent" /></a> <!-- Ton bouton précédent -->




<!-- Et donc du coup dans ta page1.php tu auras en premier -->

if (isset($_SESSION['nom']) && !empty($_SESSION['nom'])){  <!-- Si tu reviens du formulaire suivant -->
  $nom= $_SESSION['nom'];
}
else{
  $nom='';
}

<form action="page2.php" method="post">
<input type="text" name="nom" value="<?php echo $nom; ?>"/>  <!-- L'utilisateur entrera son nom ici, et ce sera pré-rempli si ça a déjà été fait -->
<input type="submit" value="Suivant >" />
</form>

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 13:24
par Invité
Merci yeste64 pour tes différentes réponses. Je les ai toutes comprise.
Visiblement tu n'as encore cerne mon vrai problème ou-bien je me suis mal exprime.
je reprends donc :
j'ai deux types de formulaire
Formulaire "papa" et formulaire "enfants"
Dans le formulaire "papa" il y plusieurs champ et surtout le champ nombre d'enfants.
en fonction du nombre d'enfants entré (exemple 5) dans le champ nombre d'enfants du Formulaire "papa" le formulaire"enfants" doit apparaitre 5 fois de suite; mais il doit apparaitre un formulaire de type formulaire "enfants" par page; actuellement j'arrive a faire apparaitre tous les cinq formulaires(Formulaire"enfants" x 5) sur un même page

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 14:28
par yeste64
Si je comprends bien, tu veux que si le nombre d'enfants est "5" dans le formulaire papa, alors il en résultera 5fichiers php contenant chacun un formulaire enfant, et se dirigeant chacun vers son suivant ..? Si c'est cela, le formulaire papa doit pointer sur une page de "traitement", analysant le nombre entré dans le champs "nombre d'enfants" et permettant de créer le nombre de fichiers php correspondants en renseignant leur contenu (en faisant bien attention d'adapter le "action" de chacun pour qu'il pointe sur le suivant).
Moi, je ferais comme ça...

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 14:44
par Invité
yeste64 tu es genial. Je crois que tu commence a comprendre nom problème.
Après la validation et la vérification des données du formulaire papa on affiche un première fois le formulaire enfants ensuite après la validation et la vérification des données du formulaire du 1er formulaire enfants on re-afficher une fois encore le formulaire enfant vide mais entre temps on a déjà sauvegarder les données du première formulaire enfant. Tu as une idée de comment faire?

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 14:51
par yeste64
Oui, je viens de te l'expliquer lol.
Je vais détailler un peu plus :
Ton fichier de traitement (celui sur qui pointera le formulaire papa), sera une énorme boucle qui s'exécutera autant de fois que le nombre entré dans "nombre d'enfants" dans le formulaire papa. Et à chaque tour de boucle, tu créeras un fichier php contenant le formulaire enfant. Tu dois incrémenter le nom du fichier créé à chaque tour de boucle ainsi que le formulaire suivant sur qui il pointera. De plus, il faut que sauvegardes chaque donnée envoyé par le formulaire précédent dans une variable de session (différente pour chaque donnée de chaque formulaire, donc là tu dois à nouveau incrémenter le nom, mais des variables de session cette fois-ci). Et enfin, ton dernier formulaire devra pointer vers une page qui conclura ce processus et qui contiendra donc les données de tous les formulaires (les variables de session ne s'effaçant pas d'une page à une autre). Il faut que tu penses aussi à supprimer tous les fichiers (correspondant donc aux formulaires enfants) précédemment créés une fois que la boucle s'achève.
J'espère que tu as compris, je n'ai pas le temps de détailler plus que ça ou de rédiger du code supplémentaire (et puis je ne vais pas tout te faire quand même ;) )
Voilà, en espérant que tu y arriveras, mais tu as tous les éléments pour maintenant.

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 15:03
par Invité
Merci pour ta réponse un dernier chose aides-moi pour
l'énorme boucle qui s'exécutera autant de fois que le nombre entré dans "nombre d'enfants" dans le formulaire papa. Et à chaque tour de boucle, tu créeras un fichier php contenant le formulaire enfant

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 15:05
par yeste64
ben je ne sais pas..

tu n'es quand même pas en train de me demander comment fait-on une boucle en PHP ? Ou encore comment créé-t-on un fichier en PHP ?
Dans ce cas-là tu vas dans PHP Débutant et tu ouvres un topic..
Je ne peux pas être plus clair que dans mon message précédent!

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 26 avr. 2011, 16:21
par Invité
merci un fois encore le pb j'ai un peu mal avec la manipulation des fichiers je suis l'aise avec avec une bd? tu es que la meilleure solution

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 05 mai 2011, 09:09
par Invité
Merci yeste64 pour ta solution.Elle marche parfaitement . A première lecture je n'avais pas très bien compris, je n'ai compris qu’après la 5eme relecture. Une fois encore grand MERCI a toi =D> =D> :D :D

Re: Multi-formulaire formulaire sur plusieurs pages

Posté : 28 févr. 2013, 17:35
par faf615
Bonjour,
Au risque de 'déterrer', veuillez m'en excuser, je suis débutant en php et j'ai quasiment la même problématique que vous (générations de n formulaires de saisie identiques avec passage suivant-précédent et envoi global des données à une page de traitement) et je voulais savoir si vous pouvez partager le code qui vous a permis de régler votre problème.
D'avance merci.