Réalision d'un test en ligne en plusieurs étapes

Eléphant du PHP | 104 Messages

05 oct. 2010, 10:51

Bonjour.

Je souhaiterais réaliser un questionnaire pour mon site qui ce déroule en plusieurs étapes.

Quand la personne arrive sur le questionnaire, elle y ajoute des informations sur elle (nom, prenom, tel, etc..) ce qui me servira a créer son ID pour la suite. Quand elle clique sur "suivant" j'aimerais que juste la partie centrale du site ce modifie (pas toute la page) et donc affiche la 1ère série de questions. La personne répond et arrivé en bas, clique sur suivant pour avoir la présentation de la 2ème partie du test. De nouveau elle clique sur "suivant" et répond donc à la dernière partie du test. A la fin elle clique sur "terminer" et les réponses sont enregistrer dans une BDD.

Bon en php je sais faire mon questionnaire et enregistrer mes réponses dans ma BDD. Par contre j'ignore :
- la manière dont il faut faire pour changer de question sans changer de page
- comment le script peut il retenir les réponses à chaque fois que l'utilisateur fait suivant, puis à la fin les rentrer tous dans la BDD sur l'ID de la personne

Avez vous des tutoriels assez compréhensible à me conseiller (il y en a beaucoup sur internet, mais pas forcement très compréhensible pour moi..) ? Des conseils sur la façon dont je dois m'y prendre ? Dans quel ordre avancer ?

Je voudrais aussi par la suite ajouter du temps pour le test. Du genre l'internaute n'aura que 15min pour faire la 1ère partie, et à la fin des 15min, ca passe à la présentation de la 2ème partie du test tout en sauvegardant les réponses de la partie 1. Est ce possible de le faire en AJAX ? Si oui, puis je essayer de le faire tout à la fin, ou dois-je le prendre en compte dès le début ?

Merci

Mammouth du PHP | 661 Messages

05 oct. 2010, 15:13

je peux te proposer : http://4code.fr/JS:post/view:Un_menu_ch ... -Fin-.html pour le fonctionnement de l'ajax et la gestion des différents environnements (ajax/ou pas ^^)

dis moi si tu ne comprends pas tout ;)

ViPHP
AB
ViPHP | 5818 Messages

05 oct. 2010, 19:25


Quand elle clique sur "suivant" j'aimerais que juste la partie centrale du site ce modifie (pas toute la page) et donc affiche la 1ère série de questions. La personne répond et arrivé en bas, clique sur suivant pour avoir la présentation de la 2ème partie du test. De nouveau elle clique sur "suivant" et répond donc à la dernière partie du test. A la fin elle clique sur "terminer" et les réponses sont enregistrer dans une BDD.

Bon en php je sais faire mon questionnaire et enregistrer mes réponses dans ma BDD. Par contre j'ignore :
1/ la manière dont il faut faire pour changer de question sans changer de page
2/ comment le script peut il retenir les réponses à chaque fois que l'utilisateur fait suivant, puis à la fin les rentrer tous dans la BDD sur l'ID de la personne



3/ Je voudrais aussi par la suite ajouter du temps pour le test. Du genre l'internaute n'aura que 15min pour faire la 1ère partie, et à la fin des 15min, ca passe à la présentation de la 2ème partie du test tout en sauvegardant les réponses de la partie 1. Est ce possible de le faire en AJAX ? Si oui, puis je essayer de le faire tout à la fin, ou dois-je le prendre en compte dès le début ?

Merci
1/ Bah ça va te faire pas mal de boulot en javascript pour enregistrer les données de ton formulaire, à moins d'utiliser des lib toutes faites. Regardes du côté de jquery qui sait faire ça. Un lien vers jquery et l'envoi de formulaire

2/ J'envisagerais d'enregistrer chaque partie du formulaire - comme un formulaire - dans une variable de session.

3/ Tu pourras le faire par la suite sans avoir à refaire ce que tu as déjà fait.


Enfin bon ce serait beaucoup, beaucoup plus rapide de tout faire en php (excepté la partie 3 qui demandera un peu de javascript). Si tu as un temps limité pour faire ça, demandes-toi si tu ne pourrais pas faire plus simplement un reload de la page pour chaque questionnaire. Sinon c'est un luxe qui va te coûter cher en temps de développement.
D'un autre côté si tu as pas mal de temps devant toi, cela te permettra d'apprendre à utiliser jquery, ce qui sera un bon investissement pour le futur... A toi de voir si c'est le moment, ou si c'est impératif...