Problème dans un système de points
Mickael86480 Messages postés 698 Statut Membre -
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
- Problème dans un système de points
- Vérificateur des fichiers système - Guide
- Restauration systeme windows 10 - Guide
- Points de suite word - Guide
- Comment refaire le système d'un ordinateur - Guide
- Systeme binaire - Guide
2 réponses
Le fil porte sur un quiz géographique utilisant des radio-boutons, où le score démarre à 100 et diminue de 10 à chaque erreur, mais peut remonter à 100 après une réponse. Des échanges soulignent des soucis de transmission PHP-JavaScript, notamment hidden inputs mal gérés et valeurs non envoyées, ainsi que vérifications de radio dépendant de l’ID plutôt que du nom. Plusieurs propositions visent à stabiliser le flux, comme passer les valeurs via des paramètres JS, attacher des IDs corrects aux champs cachés et synchroniser point et question dans le POST. Autre piste: stocker le score côté serveur ou préserver l’intégrité des données via des sessions, afin d’éviter qu’un chemin de code ou une soumission écrase puis réinitialise le total.
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.
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.
<?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>
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) echo '0';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