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 :

créer un questionnaire à partir de liste déroulante


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut créer un questionnaire à partir de liste déroulante
    Bonjour à tous le forum,

    je voudrais créer un quizz, il y a une question les personnes doivent choisir une réponse dans une liste déroulante.

    exemple :
    la bonne réponse étalon
    voici le code :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <form action="etalon1.php" method="post" >
    Le nom du mâle ?
    <select name="liste">
    <option value="ane" name="ane">Ane</option>
    <option value="belier" name="belier">Bélier</option>
    <option value="bouc" name=">Bouc</option>
    <option value="canard" name=">Canard</option>
    <option value="chat" name=">Chat</option>
    <option value="chien" name=">Chien</option>
    <option value="coq" name=">Coq</option>
    <option value="dindon" name=">Dindon</option>
    <option value="etalon" name="Etalon">Etalon</option>
    <option value="jars" name=">Jars</option>
    <option value="lapin" name=">Lapin</option>
    <option value="pigeon" name=">Pigeon</option>
    <option value="pintade" name=">Pintade</option>
    <option value="taureau" name=">Taureau</option>
    <option value="verrat" name=">Vérrat</option>
    </select>
    </form>

    je voudrais par le php, savoir si la réponse est bonne ou fausse et savoir le nombre de bonnes réponses et le nombre de mauvaises réponses a la fin du quizz.

    Merci d'avance à tous

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Ben tout dépend si tu as une base de données pour les réponses.

    Si ce n'est pas le cas, que tu veux mettre les réponses en "dur", il te suffit d'écrire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (isset($_POST['liste']))
    {
        if($_POST['liste'] == 'etalon')
            echo "Bonne réponse";
        else
            echo "Mauvaise réponse";
    }

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    bonjour godzinho,

    je ne veux pas de base de donnée,
    j'ai essayé le code, rien s'écrit

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    J'ai mis mon fichier dans easy php, maintenant ça marche.

    j' ai plusieurs questions et je voudrais comptabiliser les mauvaises réponses et les bonnes réponses.

    Merci d'avance

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Salut
    si tu testes toutes tes réponses avec le genre de bloc qu'a proposé godzinho, il te suffit de rajouter une variable "nombre de bonnes réponses" et l'incrémenter après la phrase "bonne réponse !"

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Ben il te faut créer une variable qui te servira de compteur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $cpt = 0;
    if (isset($_POST['liste']))
    {
        if($_POST['liste'] == 'etalon')
            echo "Bonne réponse";
            $cpt++;
        else
            echo "Mauvaise réponse";
    }
    Tu fais de meme pour chaque autre bonne réponse, mais sa va etre long si tu dois faire sa à chaque fois !!!

    Fais voir ton code en entier (pièce jointe)

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    voici mon fichier
    Fichiers attachés Fichiers attachés

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Ok, en fait maintenant il faut que tu renommes tes select pour distinguer chaque question et tu ne créé qu'un seul formulaire.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method="post" action="etalon1.php">
        <select name="liste1">
        ...
        <select name="liste2">
        ...
    </form>
    Ensuite il faut que dans ton fichier etalon1.php tu vérifies que la réponse est correcte.

    Tu dois donc pour chaque question faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    $cpt=0;
    if (isset($_POST['liste1']))
    {
        if($_POST['liste1'] == 'bonne_réponse')
            echo "Bonne réponse";
            $cpt++;
        else
            echo "Mauvaise réponse";
    }
     
    if (isset($_POST['liste2']))
    {
        if($_POST['liste2'] == 'bonne_réponse')
            echo "Bonne réponse";
            $cpt++;
        else
            echo "Mauvaise réponse";
    }
     
    ....

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    Je te remercie de ton aide,

    @+

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    j'ai éssayé et j'ai une erreur :

    <?php
    echo 'Question 1'
    $cpt=1;
    if (isset($_POST['liste']))
    {
    if($_POST['liste'] == 'etalon')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste1']))
    {
    if($_POST['liste1'] == 'mammifere')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }

    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste2']))
    {
    if($_POST['liste2'] == 'chaud')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste3']))
    {
    if($_POST['liste3'] == 'jument')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste4']))
    {
    if($_POST['liste4'] == 'pelage')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste5']))
    {
    if($_POST['liste5'] == 'ovipare')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste6']))
    {
    if($_POST['liste6'] == 'poulain')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste7']))
    {
    if($_POST['liste7'] == 'herbivore')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    <br>
    <br>
    echo 'Question 1'
    if (isset($_POST['liste8']))
    {
    if($_POST['liste8'] == 'hennit')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }
    ?>

    dans le navigateur, il me marque ce message d'erreur :

    Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\images\etalon1.php on line 10

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Bon va falloir que t'apprennes sérieusement le php
    Pourtant je ne suis pas très très bon.

    C'est une erreur de syntaxe.

    Faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "Question 1";
    Tu as oublié le ;

    Voilà, bonne continuation.

  12. #12
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    excuse moi pour le ";" , mais il y a une autre erreur

  13. #13
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    ok, mais c'est quoi l'erreur.

  14. #14
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    l'erreur :


    Parse error: parse error in c:\program files\easyphp1-8\www\images\etalon1.php on line 16

  15. #15
    Membre habitué
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    if (isset($_POST['liste1']))
    {
    if($_POST['liste1'] == 'mammifere')
    echo "Bonne réponse";
    $cpt++;
    else
    echo "Mauvaise réponse";
    }


    tu met un deuxieme if mais tu met pas les {}

  16. #16
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Ah oui, dsl ce coup-ci c'est moi qui ai fait une erreur de syntaxe :

    Dans chaque if il faut mettre les accolades comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (isset($_POST['liste3']))
    {
        if($_POST['liste3'] == 'jument')
        {
            echo "Bonne réponse";
            $cpt++;
        }
        else
            echo "Mauvaise réponse";
    }

  17. #17
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    ce n'est pas "{}"

  18. #18
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Ton formulaire est en ligne ??

    Si oui, donne l'adresse du site sinon envoi les nouveaux fichiers, merci.

    Soit plus clair dans ce que tu demandes et pense à mettre les balises pour le code.

  19. #19
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Points : 22
    Points
    22
    Par défaut re
    je ne vois pas ou le mettre

  20. #20
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Envoie les nouveaux fichiers stp !!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2012, 19h46
  2. Recherche multicritères sous Excel à partir de liste déroulantes
    Par cynoq dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/12/2008, 18h43
  3. Réponses: 1
    Dernier message: 22/05/2008, 20h37
  4. remplir une table à partir une liste déroulante
    Par anthony_rexis dans le forum IHM
    Réponses: 3
    Dernier message: 06/11/2007, 11h29

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