Stoper compte à rebours

shoub-tcy Messages postés 173 Statut Membre -  
shoub-tcy Messages postés 173 Statut Membre -
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

  1. Faucon 95 Messages postés 105 Statut Membre 3
     
    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
    0
    1. shoub-tcy Messages postés 173 Statut Membre 2
       
      Merci d'avoir répondu Faucon 95.
      Mais ce n'est pas du Java, c'est du Javascript :s
      0
    2. Faucon 95 Messages postés 105 Statut Membre 3
       
      C'est la même ;)
      0
    3. shoub-tcy Messages postés 173 Statut Membre 2
       
      Genre quelque chose comme ça? $ TimerStopCmd.exe compteAreboursSec() 1 0
      Mais je ne sais pas du tout ou le placer dans mon code.
      0
    4. shoub-tcy Messages postés 173 Statut Membre 2
       
      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
      0