Problème script de quizz

Fermé
joeyw - 11 avril 2008 à 15:29
 joeyw - 11 avril 2008 à 16:31
Salut à tous !

J'ai crée un quizz mais voila qu'en pahse de test, le compteur de score bug, en effet, j'ai toujours 0 points ! J'ai beau cehrcher dans le code, je ne trouve rien. Voila le code :

<html>


Quizz Dragon Ball Z : Niveau Débutant.
</center>
<p align="center">
<p align="center"><br>

<form method="post" action="quizz.php">
<?php
//Questions à modifiées-----------------------------------
// la numerotation commence à zero!!!!
//exemple :

/*$question[0]="intituler de la question";
$choix[0]=array("reponse 1","reponse 2","reponse 3");
$bonne_rep[0]=$choix[0][numero_de_la_repnse_raportant_2_point];
$mi_bonne_rep[0]=$choix[0][numero_de_la_repnse_raportant_1_point];*/




$question[0]="Quel est le héros de la série ?";
$choix[0]=array("Freezer","Sangoku","Cell");
$bonne_rep[0]=$choix[0][2];
$mi_bonne_rep[0]=$choix[0][0];

$question[1]="Quelle est la technique préférée de Sangoku ?";
$choix[1]=array("Le Kaméhaméha","Le Makkankosappo","Le Rayon de la Mort");
$bonne_rep[1]=$choix[1][1];
$mi_bonne_rep[1]=$choix[0][0];

$question[2]="Comment s'appele le fils de Végéta ?";
$choix[2]=array("Sangoten","Trunks","Il n'en a pas.");
$bonne_rep[2]=$choix[2][2];
$mi_bonne_rep[2]=$choix[0][0];

$question[3]="Quel est le meilleur ennemi de Sangoku ?";
$choix[3]=array("Piccolo Daimaô","Krillin","Végéta");
$bonne_rep[3]=$choix[3][3];
$mi_bonne_rep[3]=$choix[0][0];

$question[4]="Quel est la couleur des cheveux d'un Super Saiyen ?";
$choix[4]=array("Noir","Blonds","Roux");
$bonne_rep[4]=$choix[4][2];
$mi_bonne_rep[0]=$choix[4][0];

$question[5]="Que fait Sangoku quand Freezer tue Krillin ?";
$choix[5]=array("Il se transforme.","Il va aider Krillin","Il s'enfuit.");
$bonne_rep[5]=$choix[5][1];
$mi_bonne_rep[0]=$choix[5][0];

$question[6]="Comment se nomme les robots du Dr. Gero ?";
$choix[6]=array("Les Cyborgs","Les Ciborgs","Les Cyiborgs.");
$bonne_rep[6]=$choix[6][1];
$mi_bonne_rep[6]=$choix[0][0];

$question[7]="Quel est le niveau maximum d'un Super Saiyen ?";
$choix[7]=array("Le niveau 1","Le niveau 2","Le niveau 3");
$bonne_rep[7]=$choix[7][3];
$mi_bonne_rep[7]=$choix[7][0];

$question[8]="Quel est le plus puissant des ennemis ?";
$choix[8]=array("Freezer","Bou","Cell");
$bonne_rep[8]=$choix[8][2];
$mi_bonne_rep[8]=$choix[0][0];

$question[9]="Quel est l'apprenti de Sangoku à la fin de la série ?";
$choix[9]=array("Bou","Majoub","Oub");
$bonne_rep[9]=$choix[9][3];
$mi_bonne_rep[9]=$choix[0][0];

//------------------------------------------------------------------------------------------------------------------

$nbquest=sizeof($question);
$score=0;
$doublenbquest=(2*($nbquest));
$x=(($doublenbquest)/3);
$m=(($x)*2);
if (isset($HTTP_POST_VARS["retour"])) // retour : on réaffiche la page corrigée
{
echo "<br><center><a href=\"http://dbz.advanced.free.fr\">Corrigé<br></a></center><br>";

}

// on met les questions dans des tableaux pour améliorer la présentation
for ($i=0;$i<$nbquest;$i++) // nombre de tableaux
{
$a_repondu[$i] = false;
$nbchoix=sizeof($choix[$i]);
$no=$i+1;
echo "<table border=\"0\" width=\"95%\" bgcolor=\"#5A58FF\">";
echo "<tr>";
echo "<td colspan=\"$nbchoix\">";
echo "<center><h3><font color=\"#5A58FF\">$no</font></h3></center>";
echo "<br><center>$question[$i]</center><br><br>";
echo "</td>";
echo "</tr>";
if (isset($HTTP_POST_VARS["retour"]))
{
if (isset($HTTP_POST_VARS["bt"][$i])) // si bouton coché
{
$bt[$i] = $HTTP_POST_VARS["bt"][$i];
}
else $bt[$i] = "";
}
else $bt[$i] = "";

for ($j=0;$j<$nbchoix;$j++) // nombre de colonnes
{
echo "<tr>";
echo "<td align=\"left\" bgcolor=\"#5A58FF\">";
echo "<input type=\"radio\" name=\"bt[$i]\" value=\"bt[$j]\" ";
if ($bt[$i]=="bt[$j]")
{
echo "checked"; // cocher le bouton au retour
$k=$j;
$a_repondu[$i]=true; // certaines questions pourront être omises !
}
echo ">".$choix[$i][$j];
echo "</td>";
echo "</tr>";
}

echo "<tr>";

//Résultat---------------->score--------------------
if ($a_repondu[$i])
{
if ($choix[$i][$k]==$bonne_rep[$i])
{
$score++;
$score++;//bonne réponse----> +2 pour le compteur compteur
}
elseif($choix[$i][$k]==$mi_bonne_rep[$i])
{
$score++;//mi-bonne réponse----> +1 pour le compteur compteur
}
else
{
//mauvaise reponse-----> rien pour le compteur

}
}

echo "</td>";
echo "</tr>";
echo "</table>";
echo "<br>";
}
if (isset($HTTP_POST_VARS["retour"]))
{
echo "<br><br><center><table border=\"2\" cellpadding=\"5\" bgcolor=\"#5A58FF\"><tr><td><a name=\"sco\">SCORE : $score sur $doublenbquest</td></tr></table></center>";


if ($score<=$x)
{
//texte a modifier selon le score-------------------------------
echo "<br><br><center><table border=\"2\" cellpadding=\"5\" bgcolor=\"#5A58FF\"><tr><td><a name=\"sco\">Il te reste encore beaucoup de chemin à parcourir pour devenir un fan de Dragon Ball Z ! Continue à regarder plus attentivement la série !</td></tr></table></center>";
}

elseif (($x<=$score)&&($score<=$m))
{
echo"<br><br><center><table border=\"2\" cellpadding=\"5\" bgcolor=\"#5A58FF\"><tr><td><a name=\"sco\">Tu as des points forts et points faibles ! Regarde les détails de chaque épisode et tu seras incollable !</td></tr></table></center>";
}
else
{
echo "<br><br><center><table border=\"2\" cellpadding=\"5\" bgcolor=\"#5A58FF\"><tr><td><a name=\"sco\">Bravo ! C'est un excellent score ! Tu connais bien DBZ mais attention, ce ne sont que les questions les plus faciles !</td></tr></table></center>";
}



}
else
{
echo "<input type=\"hidden\" name=\"retour\" value=\"1\">";
echo "<br><br><center><input type=\"submit\" value=\"Corriger\">";
echo "<input type=\"reset\" value=\"Effacer\"></center>";

}
?>
</form>



<div align="center" class="Style16">
<script language="JavaScript"><!--
MSFPhover =
(((navigator.appName == "Netscape") &&
(parseInt(navigator.appVersion) >= 3 )) ||
((navigator.appName == "Microsoft Internet Explorer") &&
(parseInt(navigator.appVersion) >= 4 )));
function MSFPpreload(img)
{
var a=new Image(); a.src=img; return a;
}
// --></script>
</p>
<a href="quizz.php">Refaire le test</a> </div></td>


</html>


Merci !!
A voir également:

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
11 avril 2008 à 15:35
Bonjour,

Deux remarques :
1 - Utilise la balise <code> !! Quand tu nous fournis du code source aussi long, c'est le seul momyen d'avoir un truc lisible.

2 - if ($bt[$i]=="bt[$j]") Pourquoi les guillemets ? Ça ne peux pas marcher, enlève-les, et mets un $ au bt de droite.

Xavier.
0
Ca amrche, merci !!
0