J'essaye de créer un quiz sur mon site, qui limite le temps de réponse pour chaques questions grace à un compte à rebours. Cela fonctionne parfaitement, mais le problème est que si l'utilisateur donne une mauvaise réponse, ça le ramène à la question 1 et le compte à rebours rédémarre. Je voudrais donc que si l'utilisateur donne une mauvaise réponse, le compte à rebours s'arrète, mais je ne sais pas du tout comment m'y prendre.
//Si le membre donne une bonne réponse à la première question : if ($ligne = $req->fetch()) {
try{ $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=newquiz', 'root', '', $pdo_options); $reponse = $bdd->query("SELECT categorie, question, reponse_j, reponse_f FROM categories WHERE categorie like '%_2' ORDER BY RAND( )LIMIT 1" );
Marsh Posté le 05-04-2012 à 19:27:02
Bonjour à tous,
J'essaye de créer un quiz sur mon site, qui limite le temps de réponse pour chaques questions grace à un compte à rebours.
Cela fonctionne parfaitement, mais le problème est que si l'utilisateur donne une mauvaise réponse, ça le ramène à la question 1 et le compte à rebours rédémarre. Je voudrais donc que si l'utilisateur donne une mauvaise réponse, le compte à rebours s'arrète, mais je ne sais pas du tout comment m'y prendre.
Voici le code de mon compte à rebours :
<script language='javascript'>
nombreDeSeconde=21;
document.getElementById('idIciSecondes').innerHTML=nombreDeSeconde;
function compteAreboursSec()
{
nombreDeSeconde=nombreDeSeconde-1;
document.getElementById('idIciSecondes').innerHTML=nombreDeSeconde;
if(nombreDeSeconde>0){
setTimeout("compteAreboursSec()",1000);
}
else if(nombreDeSeconde<1)
{
document.getElementById('formulaire_questions').submit();
}
}
Et voici le code pour bonne ou mauvaise réponse :
//Si le membre donne une bonne réponse à la première question :
if ($ligne = $req->fetch()) {
try{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=newquiz', 'root', '', $pdo_options);
$reponse = $bdd->query("SELECT categorie, question, reponse_j, reponse_f FROM categories WHERE categorie like '%_2' ORDER BY RAND( )LIMIT 1" );
//affichage de la 2eme question
while ($donnees = $reponse->fetch()){
$res = '<div id="question1" style="display:none"><p id="temps_restant">Temps restant<p/>'
. '<div id="empty"><div id="d2"></div><span id="idIciSecondes"></span></div>'
. '<p id="este">Question 2:</p><p id="quest">' .$donnees['question']. '</p>'
. '<p><label id="reponse_q_1"><input type="radio" name="check" value="'.$donnees['reponse_j'].'">'.$donnees['reponse_j'].'</label>'
. ' <label id="reponse_q_1"><input type="radio" name="check" value="'.$donnees['reponse_f'].'">'.$donnees['reponse_f'].'</label></p>'
. '<p><input style="display:none" type="submit" value="Entrée" /><p></div>';
}
$reponse->closeCursor();
} catch(Exception $e) {
die('Erreur : '.$e->getMessage());
}
}
// ou bien si il donne une mauvaise réponse
else {
echo '<span class="erreur"><p>Vous avez donné une mauvaise réponse.</p></span>';
}
Si vous avez une petite idée n'hésitez pas
Cordialement