Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/06/2011, 20h55   #1
Invité régulier
 
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 5
Points : 5
Par défaut Questionnaires sur plusieurs pages

Bonjour à tous !

Je débute sur mon premier site et pour cette occasion, je dois faire un sondage.
Le code html du sondage est fait. Il y a trois parties (donc trois pages) différentes. Ce sondage est anonyme.
Jusque là, bien.
Maintenant mon gros soucis est de récupérer les résultats à la fin du sondage.
J'ai donc pensé à créer une base de données. J'ai alors rencontré deux problèmes.
- Comment garder les réponse de l'utilisateur dans les listes: POST et GET sur plusieurs pages ? En effet, quand l'utilisateur répond à la première page, je l'envoie (via un action) sur un autre document.php qui est ma deuxième partie de questionnaire. L'utilisateur répond donc à cette deuxième partie et lorsqu'il envoie ces résultats: plus rien des résultats de la première partie mais seulement de la deuxième partie !
- J'ai donc pensé à stocker mes données au fur et à mesure dans ma base de données mais comment faire pour sauvegarder ces résultats dans ma base de données sur une même clé. C'est à dire comment rendre la variable 'clé' globale à ces trois pages ?
-Et enfin puisque ce questionnaire est anonyme, comment générer une clé automatique qui serait la même sur trois pages ? (qui irait de 1 à ... )

Quelles seraient selon vous la meilleure méthode pour mon problème ? Surtout je débute alors, pour moi rien est évident... Si vous avez une idée, détaillez la moi s'il vous plait. Merci d'avance !
julcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 22h19   #2
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 198
Points : 198
Salut,
Pour régler ton souci, et rendre la tache simple, tu devrais regarder du coté des variables de sessions.
Du coup tu les stockerais au fur et à mesure des étapes, et insérerais une seule fois en base à la dernière étape.
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 22h24   #3
Invité régulier
 
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 5
Points : 5
Oui j'avais pensé à ça. Mais ça veut dire que sur plusieurs pages, je peux garder mes variables dans la liste SESSION, n'est-ce-pas ?
Mais as tu une idée à propos de ce problème de clé ?
julcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 22h58   #4
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 198
Points : 198
Oui les variables de sessions serais conservées jusqu'au bout, à condition de pas perdre la session en cours...
Tu perdras aussi les infos des 1er étapes si l'internaute ne va pas jusqu'à la dernière.

Donc peu être voir pour ton système de clef pour ne rien oublier.
Ma 1er idée serait de générer cette clef dès le départ, et de la passer entre les étapes via un champs hidden. (je te déconseil de passer tous tes champs entre étape via hidden)
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 23h13   #5
Invité régulier
 
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 5
Points : 5
Ok jvais essayer ça.
Par contre j'ai du mal à comprendre comment marche le champ hidden. Peux tu m'expliquer un peu son fonctionnement ? et comment je dois utiliser la clé après déclaration dans les autres documents ?

Et donc si je déclare une session sur mon premier document avec l'instruction start, pour mes deux autres documents, je peux utiliser la même session sans rien déclarer auparavant ?
julcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 23h31   #6
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 198
Points : 198
Le champs hidden, c'est comme tes champs text, sauf que le hidden est caché :
Code :
<input type="hidden" name="clef" value="k2PrZtuW8s"/>
Génére ta clef lors de la validation étape 1, enregistre les 1er infos + la clef, et donc ensuite tu la transmet entre les étapes via ce input.
Et tu retrouveras la ligne dans la bdd à l'envoi de chaque étape grace à par exemple $_POST['clef'] qui est envoyé en champs hidden avec le reste.
Je pense que tu va capter le truc

Pour les sessions, tu as simplement besoins de mettre un session_start au début de chaque page.
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h24.


 
 
 
 
Partenaires

Hébergement Web