Problème dans un système de points
Mickael86480
Messages postés
660
Date d'inscription
Statut
Membre
Dernière intervention
-
Mickael86480 Messages postés 660 Date d'inscription Statut Membre Dernière intervention -
Mickael86480 Messages postés 660 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis en train de développer un site de geo dans lequel il y a un quizz avec des radio-bouton pour les réponses. L'utilisateur part avec un total de 100 pts au début du quizz et à chaque erreur, il perd 10 pts. Tout fonctionne sauf que lorsque l'utilisateur arrive à 0 pt et qu'il trouve la bonne réponse, le total repasse à 100 alors qu'il devrait rester à 0 et je ne vois pas où est l'erreur, bien que j'ai une petite idée ( mis en gras).
Voici le code de la page :
merci de votre aide
Voici le code de la page :
<?php // On démarre la session AVANT d'écrire du code HTML session_start(); ?> <html> <head> <title>Capitale</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="HAPedit 2.6"> </head> <body bgcolor="#FFFFaa"> <?php include ("connection.php"); $point = $_POST['point']; $identifiant = $_SESSION['pseudo']; $question = $_POST['question'] + 1; $passage = rand(1, 2); if($question <= 5){ if($passage == 1) $id = rand(1, 10); if($passage == 2) $id = rand(11, 20); } if(($question > 5) && ($question <= 10)){ if($passage == 1) $id = rand(21, 30); if($passage == 2) $id = rand(31, 40); } if(($question > 10) && ($question <= 15)){ if($passage == 1) $id = rand(41, 50); if($passage == 2) $id = rand(51, 60); } if(($question > 15) && ($question <= 20)){ if($passage == 1) $id = rand(61, 70); if($passage == 2) $id = rand(71, 80); } //niveau facile if($question <= 5){ if($question == 1){ ?> <script language="JavaScript"> alert("Niveau 'facile' du quizz"); </script> <?php $time = mktime(date(G), date(i), date(s)); $requetedebut = "UPDATE quizz SET debut=".$time." WHERE identifiant=\"".$identifiant."\""; mysql_query($requetedebut); } if($question == 2){ $requetefinale = "SELECT * FROM 'quizz' WHERE identifiant like ('".$identifiant."')"; $show = mysql_query($requetefinale)or die(mysql_error()); while ($data = mysql_fetch_array($show)){ $essai = $data['essaiscap'] + 1; $requeteessai = "UPDATE 'quizz' SET essaiscap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requeteessai)or die(mysql_error()) ; } } $requete = "SELECT * FROM capitale WHERE niveau=1 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if($question == 6){ ?> <script language="JavaScript"> alert("Niveau 'moyen' du quizz"); </script> <?php } //niveau moyen if(($question > 5) && ($question <= 10)){ $requete = "SELECT * FROM capitale WHERE niveau=2 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if($question == 11){ ?> <script language="JavaScript"> alert("Niveau 'dur' du quizz"); </script> <?php } //niveau dur if(($question > 10) && ($question <= 15)){ $requete = "SELECT * FROM capitale WHERE niveau=3 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if($question == 16){ ?> <script language="JavaScript"> alert("Niveau 'expert' du quizz"); </script> <?php } //niveau expert if(($question > 15) && ($question <= 20)){ $requete = "SELECT * FROM capitale WHERE niveau=4 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if(($question >= 1) && ($question <= 20)){ while($bonnereponse = mysql_fetch_array($query)){ echo'<table><center><font size="2" face="verdana"><b>Quelle est la capitale de '.$bonnereponse['nom_pays'].' ?</b><br><br></center></table>'; echo'<br>qts:'.$question.'<br>pts:'.$_POST['point'].''; echo'<div id="Reponse"> <center><b>Total des points : '; if(!empty($_POST['point'])) echo ''.$_POST['point'].''; else if($question == 1) echo '100'; else if(($_POST['point'] == 0)/* && ($question < 1)*/) echo '0'; echo '</b></center></div> <div id="Question" align="center"> <table> '; echo '</b></center></table></div> <div id="Choix" align="center"> <table><center> '; echo'<div id="Faux"> <center><b> </b></center></div><br>'; //autres réponses if($question <= 5){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=1 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } if(($question > 5) && ($question <= 10)){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=2 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } if(($question > 10) && ($question <= 15)){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=3 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } if(($question > 15) && ($question <= 20)){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=4 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } while($mauvaisereponse = mysql_fetch_array($queryglobal)){ echo'<center><input type="radio" name="Liste" id="'.$mauvaisereponse['capitale'].'" onClick="Radio();">'.$mauvaisereponse['capitale'].'</center><br>'; } ?> <script type="text/javascript"> var question = 0; <?php if(question == 0){ echo 'point = 100;'; } else if(!empty($_POST['point'])){ echo 'point = '.$_POST['point'].';'; } else if(question > 0 && $_POST['point'] == 0){ echo 'point = 0;'; } else if(empty($_POST['point'])){ echo 'point = 20;'; } if(!empty($_POST['question'])) { echo 'question = '.$_POST['question'].';'; } ?> function Radio() { if (document.getElementById('<?php echo $bonnereponse['capitale']; ?>').checked == true) { question = question + 1 document.getElementById('Reponse').innerHTML = '<center><b>Total des points : ' + point +'</b></center>'; document.getElementById('Question').innerHTML = '<br><center><b>Question n° : ' + question +'</b></center>'; document.getElementById('Choix').innerHTML = '<br><b>Bonne réponse <?php echo $bonnereponse['capitale']; ?></b><br><br><form action="capitale.php" method="POST"><input type="hidden" value="' + point + '" name="point"><input type="hidden" value="' + question + '" name="question"><input type="submit" value="Capitale suivante" name="boutonquestion"></form>'; } else { point = point - 10 document.getElementById('Reponse').innerHTML = '<center><b>Total des points : ' + point +'</b></center>'; } } </script> <?php } } if($question == 21){ $time = mktime(date(G), date(i), date(s)); $requetefin = "UPDATE quizz SET fin=".$time." WHERE identifiant=\"".$identifiant."\""; mysql_query($requetefin); $requetefinale = "SELECT * FROM 'quizz' WHERE identifiant like ('".$identifiant."')"; $show = mysql_query($requetefinale)or die(mysql_error()); while ($data = mysql_fetch_array($show)){ $essai = $data['essaiscap']; //si on bat le meilleur score if($point > $data['capitale']){ if($essai < 1){ echo'<center><b>Vous avez battu votre meilleur score, félicitation, il passe de '.$data['capitale'].' à '.$point.'</b></center>'; } if($essai == 1){ echo'<center><b>Votre meilleur score est '.$point.', bravo.</b></center>'; } $requete = "UPDATE 'quizz' SET capitale=\"".$point."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $tempsdebut = $data['debut']; $tempsfin = $data['fin']; $tps = $tempsfin - $tempsdebut; if($essai == 1){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } else if($data['meilleurtpscap'] > $tps){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); $requetemeilleur = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } else{ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } } //si on ne bat pas le meilleur score if($point < $data['capitale']){ if($essai < 1){ echo'<center><b>Vous n\'avez pas battu votre meilleur score, dommage, il est de '.$data['capitale'].' et vous avez réalisé '.$point.'</b></center>'; } if($essai == 1){ echo'<center><b>Votre meilleur score est '.$point.', bravo.</b></center>'; $tempsdebut = $data['debut']; $tempsfin = $data['fin']; $tps = $tempsfin - $tempsdebut; $requete = "UPDATE 'quizz' SET capitale=\"".$point."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; } } //si on égalise le meilleur score if($point == $data['capitale']){ if($essai < 1){ echo'<center><b>Vous avez égalé votre meilleur score, bravo, il est toujours de '.$data['capitale'].'</b></center>'; } if($essai == 1){ echo'<center><b>Votre meilleur score est '.$point.', bravo.</b></center>'; $requete = "UPDATE 'quizz' SET capitale=\"".$point."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; } $tempsdebut = $data['debut']; $tempsfin = $data['fin']; $tps = $tempsfin - $tempsdebut; if($essai == 1){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } if($data['meilleurtpscap'] > $tps){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; } } } echo'<br><center><br><form action="capitale.php" method="post"> <input type="submit" name="recommencer" value="Recommencer"></form></center>'; } ?> </body> </html>
merci de votre aide
A voir également:
- Problème dans un système de points
- Restauration systeme windows 10 - Guide
- Mettre des points sur une carte - Guide
- Comment insérer des points de suite sur word - Guide
- Comment inserer une video dans un power point - Guide
- Vous avez besoin d'une autorisation de la part de système pour modifier ce dossier - Guide
2 réponses
A moins que ce soit volontaire,etant donné que les points ne peuvent aller qu'en décroissant, pourquoi ne pas stopper le quizz dès que l'utilisateur tombe à 0 point plutôt que de lui reposer une question ?
Sinon, ta portion de code PHP suivante est a l'intérieur de balise Javascript, en général ca fait pas bon ménage. Le problème vient du fait que question est une variable déclarée en JS, et que tu essayes de la traiter en tant que PHP, ca ne peut pas fonctionner.
Sinon, ta portion de code PHP suivante est a l'intérieur de balise Javascript, en général ca fait pas bon ménage. Le problème vient du fait que question est une variable déclarée en JS, et que tu essayes de la traiter en tant que PHP, ca ne peut pas fonctionner.
<?php if(question == 0){ echo 'point = 100;'; } else if(!empty($_POST['point'])){ echo 'point = '.$_POST['point'].';'; } else if(question > 0 && $_POST['point'] == 0){ echo 'point = 0;'; } else if(empty($_POST['point'])){ echo 'point = 20;'; } if(!empty($_POST['question'])) { echo 'question = '.$_POST['question'].';'; } ?>
var question = $_POST['question']
Normal qu'il te sorte NaN, vu que tu tentes d'affecter une valeur PHP à une variable Javascript (comme dit plus haut, ça ne fonctionne pas).
Le mieux, ce serait d'enregistrer ta valeur PHP dans un élément (un input hidden par exemple), et de le récupérer via ton JS avec getElementById(id_input).value.
Sinon pour ta portion de code, tu devrais quand même la sortir des balises script. Ca ne t'empêche pas d'afficher ton texte au même endroit précis.
A mon avis, ce serait vraiment plus simple si tu incluais dans ton formulaire 2 champs hidden "question" et "point", et surtout de ne pas les placer dans des balises script car techniquement c'est incorrect niveau code. Il est possible que ça fonctionne sous certains navigateurs pas trop sensible (du genre IE), mais il y aura forcément des bugs sur des navigateurs plus propre.
Tu fais donc deux champs hidden, et a chaque validation de formulaire, tu modifies les valeurs en questions EN PHP. (avec value="$_POST['question']").
Dans ton cas, le JS il est juste là pour contrôler tes champs et afficher à l'utilisateur où il se situe, mais le calcul réel des points doit se faire au niveau du PHP..
Une fois le formulaire valider, tu traites les données comme suit :
Et à partir de là tu fais tes contrôles pour savoir quoi afficher à l'utilisateur.
Tu fais donc deux champs hidden, et a chaque validation de formulaire, tu modifies les valeurs en questions EN PHP. (avec value="$_POST['question']").
Dans ton cas, le JS il est juste là pour contrôler tes champs et afficher à l'utilisateur où il se situe, mais le calcul réel des points doit se faire au niveau du PHP..
Une fois le formulaire valider, tu traites les données comme suit :
$question = $_POST['question']; $point= $_POST['point']; $reponse = $_POST['reponse ']; // le champ indiquant si la réponse était juste ou fausse if($reponse == false) { $point -= 10; }
Et à partir de là tu fais tes contrôles pour savoir quoi afficher à l'utilisateur.
Je te mets en gras les modifs que j'ai apporté, dit moi si c'est à quoi tu pensais :
<?php // On démarre la session AVANT d'écrire du code HTML session_start(); ?> <html> <head> <title>Capitale</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="HAPedit 2.6"> </head> <body bgcolor="#FFFFaa"> <?php include ("connection.php"); $point = $_POST['pts']; $identifiant = $_SESSION['pseudo']; $question = $_POST['qts'] + 1; $passage = rand(1, 2); if($question <= 5){ if($passage == 1) $id = rand(1, 10); if($passage == 2) $id = rand(11, 20); } if(($question > 5) && ($question <= 10)){ if($passage == 1) $id = rand(21, 30); if($passage == 2) $id = rand(31, 40); } if(($question > 10) && ($question <= 15)){ if($passage == 1) $id = rand(41, 50); if($passage == 2) $id = rand(51, 60); } if(($question > 15) && ($question <= 20)){ if($passage == 1) $id = rand(61, 70); if($passage == 2) $id = rand(71, 80); } //niveau facile if($question <= 5){ if($question == 1){ ?> <script language="JavaScript"> alert("Niveau 'facile' du quizz"); </script> <?php $time = mktime(date(G), date(i), date(s)); $requetedebut = "UPDATE quizz SET debut=".$time." WHERE identifiant=\"".$identifiant."\""; mysql_query($requetedebut); } if($question == 2){ $requetefinale = "SELECT * FROM 'quizz' WHERE identifiant like ('".$identifiant."')"; $show = mysql_query($requetefinale)or die(mysql_error()); while ($data = mysql_fetch_array($show)){ $essai = $data['essaiscap'] + 1; $requeteessai = "UPDATE 'quizz' SET essaiscap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requeteessai)or die(mysql_error()) ; } } $requete = "SELECT * FROM capitale WHERE niveau=1 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if($question == 6){ ?> <script language="JavaScript"> alert("Niveau 'moyen' du quizz"); </script> <?php } //niveau moyen if(($question > 5) && ($question <= 10)){ $requete = "SELECT * FROM capitale WHERE niveau=2 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if($question == 11){ ?> <script language="JavaScript"> alert("Niveau 'dur' du quizz"); </script> <?php } //niveau dur if(($question > 10) && ($question <= 15)){ $requete = "SELECT * FROM capitale WHERE niveau=3 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if($question == 16){ ?> <script language="JavaScript"> alert("Niveau 'expert' du quizz"); </script> <?php } //niveau expert if(($question > 15) && ($question <= 20)){ $requete = "SELECT * FROM capitale WHERE niveau=4 AND passage=".$passage." AND id=".$id.""; $query = mysql_query($requete); } if(($question >= 1) && ($question <= 20)){ while($bonnereponse = mysql_fetch_array($query)){ echo'<table><center><font size="2" face="verdana"><b>Quelle est la capitale de '.$bonnereponse['nom_pays'].' ?</b><br><br></center></table>'; echo'<br>qts:'.$question.'<br>pts:'.$_POST['point'].''; echo'<div id="Reponse"> <center><b>Total des points : '; if(!empty($_POST['point'])) echo ''.$_POST['point'].''; else if($question == 1) echo '100'; else if(($_POST['point'] == 0)/* && ($question < 1)*/) echo '0'; echo '</b></center></div> <div id="Question" align="center"> <table> '; echo '</b></center></table></div> <div id="Choix" align="center"> <table><center> '; echo'<div id="Faux"> <center><b> </b></center></div><br>'; //autres réponses if($question <= 5){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=1 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } if(($question > 5) && ($question <= 10)){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=2 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } if(($question > 10) && ($question <= 15)){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=3 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } if(($question > 15) && ($question <= 20)){ $requeteglobal = "SELECT * FROM capitale WHERE niveau=4 AND passage=".$passage." ORDER BY capitale"; $queryglobal = mysql_query($requeteglobal); } while($mauvaisereponse = mysql_fetch_array($queryglobal)){ echo'<center><input type="radio" name="Liste" id="'.$mauvaisereponse['capitale'].'" onClick="Radio();">'.$mauvaisereponse['capitale'].'</center><br> <input type=hidden name=qts value='.$question.'> <input type=hidden name=pts value='.$point.'>'; } if($question == 0){ echo 'point = 100;'; } else if(!empty($_POST['point'])){ echo 'point = '.$_POST['point'].';'; } else if($question > 0 && $_POST['point'] == 0){ echo 'point = 0;'; } else if(empty($_POST['point'])){ echo 'point = 20;'; } if(!empty($_POST['question'])) { echo 'question = '.$_POST['question'].';'; } ?> <script type="text/javascript"> function Radio() { if (document.getElementById('<?php echo $bonnereponse['capitale']; ?>').checked == true) { question = question + 1 document.getElementById('Reponse').innerHTML = '<center><b>Total des points : ' + point +'</b></center>'; document.getElementById('Question').innerHTML = '<br><center><b>Question n° : ' + question +'</b></center>'; document.getElementById('Choix').innerHTML = '<br><b>Bonne réponse <?php echo $bonnereponse['capitale']; ?></b><br><br><form action="capitale.php" method="POST"><input type="hidden" value="' + point + '" name="point"><input type="hidden" value="' + question + '" name="question"><input type="submit" value="Capitale suivante" name="boutonquestion"></form>'; } else { point = point - 10 document.getElementById('Reponse').innerHTML = '<center><b>Total des points : ' + point +'</b></center>'; } } </script> <?php } } if($question == 21){ $time = mktime(date(G), date(i), date(s)); $requetefin = "UPDATE quizz SET fin=".$time." WHERE identifiant=\"".$identifiant."\""; mysql_query($requetefin); $requetefinale = "SELECT * FROM 'quizz' WHERE identifiant like ('".$identifiant."')"; $show = mysql_query($requetefinale)or die(mysql_error()); while ($data = mysql_fetch_array($show)){ $essai = $data['essaiscap']; //si on bat le meilleur score if($point > $data['capitale']){ if($essai < 1){ echo'<center><b>Vous avez battu votre meilleur score, félicitation, il passe de '.$data['capitale'].' à '.$point.'</b></center>'; } if($essai == 1){ echo'<center><b>Votre meilleur score est '.$point.', bravo.</b></center>'; } $requete = "UPDATE 'quizz' SET capitale=\"".$point."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $tempsdebut = $data['debut']; $tempsfin = $data['fin']; $tps = $tempsfin - $tempsdebut; if($essai == 1){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } else if($data['meilleurtpscap'] > $tps){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); $requetemeilleur = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } else{ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } } //si on ne bat pas le meilleur score if($point < $data['capitale']){ if($essai < 1){ echo'<center><b>Vous n\'avez pas battu votre meilleur score, dommage, il est de '.$data['capitale'].' et vous avez réalisé '.$point.'</b></center>'; } if($essai == 1){ echo'<center><b>Votre meilleur score est '.$point.', bravo.</b></center>'; $tempsdebut = $data['debut']; $tempsfin = $data['fin']; $tps = $tempsfin - $tempsdebut; $requete = "UPDATE 'quizz' SET capitale=\"".$point."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; } } //si on égalise le meilleur score if($point == $data['capitale']){ if($essai < 1){ echo'<center><b>Vous avez égalé votre meilleur score, bravo, il est toujours de '.$data['capitale'].'</b></center>'; } if($essai == 1){ echo'<center><b>Votre meilleur score est '.$point.', bravo.</b></center>'; $requete = "UPDATE 'quizz' SET capitale=\"".$point."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; } $tempsdebut = $data['debut']; $tempsfin = $data['fin']; $tps = $tempsfin - $tempsdebut; if($essai == 1){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); } if($data['meilleurtpscap'] > $tps){ $requetemeilleur = "UPDATE 'quizz' SET meilleurtpscap=\"".$tps."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requetemeilleur); $requete = "UPDATE 'quizz' SET meilleurcap=\"".$essai."\" WHERE identifiant=\"".$identifiant."\""; mysql_query($requete)or die(mysql_error()) ; } } } echo'<br><center><br><form action="capitale.php" method="post"> <input type="submit" name="recommencer" value="Recommencer"></form></center>'; } ?> </body> </html>
Donc j'ai modifié comme tu me l'as dis, mais ensuite la fonction radio() ne fonctionne plus.
Le problème, je pense, vient de la valeur que prend question, j'ai bien tenté un mais cela ne fonctionne pas car il m'affiche question n° : NaN donc j'ai seulement trouvé qui fonctionne à peu près bien, a part le problème que je vous signale.
En fait, l'affichage est ok, le problème c'est la valeur réelle des points, car lorsque l'utilisateur a 0 pt et qu'il trouve la bonne réponse au lieu d'avoir 0 pt il en a 100. Je pense, je suis pas sur, mais il doit y avoir confusion entre la valeur de point et la valeur de question, car lorsque point = 10 pas de problème pour la suite, il est toujours à 10, de même pour les valeurs négative. Le problème c'est pour le 0, il revient à 100 et comme par hasard, dans le code il y lorsque question = 0, point =100.
Bon je ne sais pas si je suis clair donc je vous mets un lien vers mon site pour que vous voyez par vous même.
http://mickael.bernaudeau.free.fr/index.htm
merci de votre aide