Stoper compte à rebours

Bonjour,

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

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Tu l'a codé Java , ok j'ai ma solution
    Donc c'est un compte à rebours, il faut choisir le temps, et le processus à fermer, plus les options, et une fois le temps expiré, le prog ferme le processus.

    Nouvelle version pour Windows Wp, Vista et Seven (pour ce dernier à tester et lancer le Test.jar afin de m'aider dans le développement pour Win 7)

    MAJ : Avec la version en ligne de commande, la commande à lancer est de la sorte, dans le dossier de travail :
    $ java -jar "TimerStopCmd.jar" [processustokill] [delay] [exit:0|1]

    Par exemple pour killer firefox au bout de 10 minutes et éteindre l'ordinateur après :
    $ java -jar "TimerStopCmd.jar" opera 10 1

    Sans éteindre l'ordinateur :
    $ java -jar "TimerStopCmd.jar" opera 10 0

    Ou avec le .exe :
    $ TimerStopCmd.exe opera 10 1
    1. Merci d'avoir répondu Faucon 95.
      Mais ce n'est pas du Java, c'est du Javascript :s
    2. C'est la même ;)
    3. Genre quelque chose comme ça? $ TimerStopCmd.exe compteAreboursSec() 1 0
      Mais je ne sais pas du tout ou le placer dans mon code.
    4. Merci Faucon 95, c'est gentil mais le premier lien c'est moi qui l'ai posté, et le 2ème ne m'aide pas des masses :s