IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Questionnaires sur plusieurs pages


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 17
    Points
    17
    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 !

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    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.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    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é ?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    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)

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    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 ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    Le champs hidden, c'est comme tes champs text, sauf que le hidden est caché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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.

Discussions similaires

  1. Questionnaires sur plusieurs pages
    Par julcha dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/06/2011, 02h39
  2. Questionnaires sur plusieurs page JSP
    Par zangets dans le forum Spring
    Réponses: 3
    Dernier message: 18/01/2011, 22h46
  3. [CR?] Tableaux sur plusieurs pages
    Par Nout dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 18/05/2005, 14h58
  4. [JSP] affichage de resultat sur plusieurs pages
    Par de LANFRANCHI dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 10/02/2005, 10h00
  5. [CR8] Problème tableau sur plusieurs pages???
    Par christophe28 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 02/11/2004, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo