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 :

Vérification pour un quizz


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Par défaut Vérification pour un quizz
    Bonjour à tous,
    Je réalise un script de quiz actuellement.
    Voici le principe :
    Les questions sont enregistrer dans la base de données comme cela :
    Id de la question :
    Id du quizz concerné :
    Question :
    Reponse1 :
    Reponse2 :
    Reponse3 :
    Reponse4 :
    Bonne_reponse : (Sous la forme reponse[Nombre])

    J'ai donc une page quiz.php ou j'affiche tous les questions ou l'ID du quiz est egal à l'Id de la page.
    Une fois tout ce bazar fini, il me faut verifier les reponses. Or, c'est la que je bloque car je n'arrive pas à faire cette page.

    Voici ma page pour afficher les quiz :
    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
    22
    23
    24
    <form method="post" action="verif_quizz.php">
       <p>
    <?
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("test"); 
     
    $id = $_GET['id'];
     
    $reponse = mysql_query("SELECT * FROM questions WHERE id_quizz='$id'");
     
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>   
           <? echo $donnees['question']; ?><br />
           <label><input type="radio" name="1" value="reponse1" /><? echo $donnees['reponse1']; ?></label><br />
           <label><input type="radio" name="2" value="reponse2" /><? echo $donnees['reponse2']; ?></label><br />
           <label><input type="radio" name="3" value="reponse3" /><? echo $donnees['reponse3']; ?></label><br />
           <label><input type="radio" name="4" value="reponse4" /><? echo $donnees['reponse4']; ?></label>
    <?
    }
    ?>
       </p>
       <input type="submit" name="age" value="Valider" />
    </form>
    Voila donc ma question finale c'est : Comment faire pour compter les points quand l'utilisateur valide ? Merci à vous

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    tu brule les étapes là. Essaye d'abord de déterminer quelle réponse un utilisateur a donné à telle question.
    Commence avec une question, puis deux, puis toutes.

    Ensuite tu t'occuperas des points.

  3. #3
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Par défaut
    Donc si j'ai bien compris :
    Je limite le questionnaire à 10 questions et je verifie une par une ?

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    non. Je te parle technique. Est ce que tu est capable de savoir quel radio a été choisit parmis un groupe de 4 ? quels radios parmis deux groupes ?
    pas besoin de bd pour ca. tu te fais un formulaire bidon avec des radio boutons bidons, tu soumets et tu regarde ce que tu recois. Quand, coté php, tu sauras déterminer quel est le choix de l'utilisateur, là tu pourras continuer dans ton quizz.

  5. #5
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Par défaut
    Ah OK. Je vais tester

  6. #6
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Par défaut
    Voici ma page quizz :
    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
    22
    23
    24
    25
    26
    27
    <form method="post" action="verif_quizz.php?id=<? echo $_GET['id']; ?>">
       <p>
    <?
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("test"); 
     
    $id = $_GET['id'];
     
    $reponse = mysql_query("SELECT * FROM questions WHERE id_quizz='$id'");
     
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>   
           <? echo $donnees['question']; ?>
    	   <select name="reponse">
        <option value="<? echo $donnees['reponse1']; ?>" name="reponse1"><? echo $donnees['reponse1']; ?></option>
        <option value="<? echo $donnees['reponse2']; ?>" name="reponse2"><? echo $donnees['reponse2']; ?></option>
    	<option value="<? echo $donnees['reponse3']; ?>" name="reponse3"><? echo $donnees['reponse3']; ?></option>
    	<option value="<? echo $donnees['reponse4']; ?>" name="reponse4"><? echo $donnees['reponse4']; ?></option>
    </select><br /> 
    <?
    }
    ?>
       <input type="hidden" name="valider" value="<? echo $donnees['id_quizz']; ?>" />
       </p>
       <input type="submit" name="valider" value="Valider" />
    </form>
    Ma page de verification :
    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
    22
    23
    <?
     
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("test"); 
    $id = $_GET['id'];
     
    $retour = mysql_query("SELECT COUNT(*) AS nbre_questions FROM questions WHERE id_quizz='$id'");
    $donnees = mysql_fetch_array($retour);
    {
    for ($point = 0; $point < count($donnees['nbre_questions']); $point++)
    {
     
    $calcul="SELECT * FROM questions WHERE id_quizz='$id'";
    $points = mysql_fetch_array($calcul);
    {
    ?>
    Question : <? echo $points['question']; ?><br />
    Vous avez repondu : <? echo $_POST['reponse']; ?>
    <?
    }
    }
    }
    ?>
    Ca ne marche pas Pourquoi ?

  7. #7
    Membre éclairé Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Par défaut
    Citation Envoyé par magic33
    Voici ma page quizz :
    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
    22
    23
    24
    25
    26
    27
    <form method="post" action="verif_quizz.php?id=<? echo $_GET['id']; ?>">
       <p>
    <?
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("test"); 
     
    $id = $_GET['id'];
     
    $reponse = mysql_query("SELECT * FROM questions WHERE id_quizz='$id'");
     
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>   
           <? echo $donnees['question']; ?>
    	   <select name="reponse">
        <option value="<? echo $donnees['reponse1']; ?>" name="reponse1"><? echo $donnees['reponse1']; ?></option>
        <option value="<? echo $donnees['reponse2']; ?>" name="reponse2"><? echo $donnees['reponse2']; ?></option>
    	<option value="<? echo $donnees['reponse3']; ?>" name="reponse3"><? echo $donnees['reponse3']; ?></option>
    	<option value="<? echo $donnees['reponse4']; ?>" name="reponse4"><? echo $donnees['reponse4']; ?></option>
    </select><br /> 
    <?
    }
    ?>
       <input type="hidden" name="valider" value="<? echo $donnees['id_quizz']; ?>" />
       </p>
       <input type="submit" name="valider" value="Valider" />
    </form>
    Ma page de verification :
    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
    22
    23
    <?
     
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("test"); 
    $id = $_GET['id'];
     
    $retour = mysql_query("SELECT COUNT(*) AS nbre_questions FROM questions WHERE id_quizz='$id'");
    $donnees = mysql_fetch_array($retour);
    {
    for ($point = 0; $point < count($donnees['nbre_questions']); $point++)
    {
     
    $calcul="SELECT * FROM questions WHERE id_quizz='$id'";
    $points = mysql_fetch_array($calcul);
    {
    ?>
    Question : <? echo $points['question']; ?><br />
    Vous avez repondu : <? echo $_POST['reponse']; ?>
    <?
    }
    }
    }
    ?>
    Ca ne marche pas Pourquoi ?
    Peux-tu être plus précis ? Qu'est ce qui ne marche pas ? Ca facilitera la recherche de l'erreur.

    ++
    ShinJava

  8. #8
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Ca ne marche pas Pourquoi ?
    Parce que tu n'as pas suivi mes conseils et donc tu brûles les étapes.

    Aller cadeau : http://www.w3.org/TR/REC-html40/interact/forms.html#radio

  9. #9
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Par défaut
    Je vais essayer de faire etape par etape

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    Bonjour
    En fait j'ai le même problème, j'ai fait une base dans laquelle j'ai mis ma réponse et je voudrais comparer la réponse de la base à la réponse entrée par quelqu'un.
    Je n'arrive pas à faire la comparaison pourquoi? je débute tout juste en php, si quelqu'un peut m'aider voici mon script (ya même le petit texte à coté que j'ai mis pour bien me repérer...) :

    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
    22
    23
    24
    <?php
    	if (isset($_POST['rep1'])) //si on a la reponse
    	{
    	$reponse1 = $_POST['rep1'];
    	}
    	else // La variable n'existe pas encore
    	{
        	$reponse1 = ""; // On crée une variable $reponse vide
    	}
    	mysql_connect("localhost", "", ""); // Connexion à MySQL
    	mysql_select_db("quizz"); // Sélection de la base quizz_reponse
    	$reponse = mysql_query("SELECT * FROM quizz_reponse WHERE id='1'")or die(mysql_error());
    	$rep1 = mysql_result ($reponse, 0);
    	mysql_close(); // Déconnexion de MySQL	
    	if ($reponse1 == $rep2)
    	 {
    include("quizz2.php");
     }
    	else
    	{
    include("quizz1.php");
      }
     
      ?>
    Bon en fait j'ai résolu mon problème en faisant ça :
    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
    22
    23
    24
    25
    26
    27
    28
    <?php
    	if (isset($_POST['rep1'])) //si on a la reponse
    	{
    	$reponse1 = $_POST['rep1'];
    	}
    	else // La variable n'existe pas encore
    	{
        	$reponse1 = ""; // On crée une variable $reponse vide
    	}
    	mysql_connect("localhost", "", ""); // Connexion à MySQL
    	mysql_select_db("anamnesie"); // Sélection de la base quizz_reponse
    	$resultat = mysql_query("SELECT * FROM quizz_reponse WHERE id='1'")or die(mysql_error());
    	$reponse = mysql_fetch_array($resultat);
    	$rep1 = $reponse["reponse"];
    	$validation = eregi("$reponse1",$rep1);
     
     
    	mysql_close(); // Déconnexion de MySQL	
    	if ($validation == "1")
    	{
    		include("quizz2.php");
    	}
    	else
    	{
    		include("quizz1.php");
        }
     
      ?>
    par contre si je tape une lettre du mot ou plusieurs ou le mot en entier ça me valide la réponse! Comment faire pour n'accepter que la bonne réponse?

  11. #11
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    euu, magic33

    par rapport a ton code du 1er post...
    je ne pourrais que te conseiller de chager le nom de tes boutons :

    <label><input type="radio" name="1" value="reponse1" /><? echo $donnees['reponse1']; ?></label><br />
    <label><input type="radio" name="2" value="reponse2" /><? echo $donnees['reponse2']; ?></label><br />
    <label><input type="radio" name="3" value="reponse3" /><? echo $donnees['reponse3']; ?></label><br />
    <label><input type="radio" name="4" value="reponse4" /><? echo $donnees['reponse4']; ?></label>
    si j'étais toi je leur donnerais le nom suivant :
    name="q1_r1"
    name="q1_r2"
    name="q1_r3"
    name="q1_r4"...
    comme ca tu sais a quelle question il répond...pour faire tes test ce sera plus simple..
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. [Checkstyle] Supprimer des vérifications pour certains fichiers
    Par romaintaz dans le forum Qualimétrie
    Réponses: 3
    Dernier message: 19/08/2009, 09h26
  2. Aide et vérification pour fonction Algorithmique
    Par Infinity_hell dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 14/12/2008, 01h33
  3. Quel language utiliser pour un quizz aléatoire?
    Par EncycloCsP dans le forum Débuter
    Réponses: 12
    Dernier message: 18/05/2008, 23h43
  4. fonction temps pour un quizz
    Par stunt35 dans le forum C
    Réponses: 10
    Dernier message: 20/06/2006, 19h37
  5. [VB6]Vérification pour un entier
    Par shinchan dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/01/2005, 15h28

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