Probleme de vérification de questionnaire en PHP

[Fermé]
Signaler
-
Messages postés
3110
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
24 mai 2021
-
Bonjour, voila j'ai un souci quand je réponds au questionnaire il me dit que la réponse est fausse alors qu'il affiche la bonne réponse qui est celle coché
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>QCM</title>
<script type="text/javascript">
function noBack(){window.history.forward()}
  noBack();
  window.onload=noBack;
  window.onpageshow=function(evt){if(evt.persisted)noBack()}
  window.onunload=function(){void(0)}
</script>
</head>
<body bgcolor="#FFFFF2">


<ul id=menu>
<TABLE BORDER="1">  
  <TR> 
 <TH><a href="index.php">Accueil</a></TH> 
  </TR>
  <TR> 
 <TH><a href="questio.php">QCM</a></TH> 
  </TR>
  <TR> 
 <TH><a href="index.php">Accueil</a></TH> 
  </TR>
  
</TABLE>
</ul>
<style type="text/css">
#menu {
  position: fixed;
  left: -30;
  top: 1%;
  width: 0em;
  margin-top: 0em;
}
</style>


<script type="text/javascript">

dateheure = new Date();

 document.write("<p align=right>le "+dateheure.getDate()+"/"+(dateheure.getMonth()+1)+"/"+dateheure.getFullYear()+" "); document.write(" "+dateheure.getHours()+":"+dateheure.getMinutes()+":"+dateheure.getSeconds()+"</P>");

</script>

<center><table border="1" cellpadding="5" bgcolor="#D5FAB4"><tr><td>Questionnaire sur les jeux vidéo</td></tr></table></CENTER><br>


<form method="post" action="test.php">

<?php


$questions = Array();
$questions[] = Array('A qui appartient ce site ?', 'Son créateur', 'Vous', 'L\'hébergeur web du site', 'À personne', 'Je ne sais pas', 1);
$questions[] = Array('Que faut-il faire avant de poser une question sur les forums ?', 'Rien', 'Demander à son voisin s\'il a la réponse', 'Une recherche sur le site', 'Consulter Google', 'Je ne sais pas', 3);
$questions[] = Array('Vous pouvez supprimer votre compte...', 'quand vous voulez', 'quand vous voulez en le demandant à un administrateur', 'seulement le mardi', 'seulement si vous ne respectez pas le règlement', 'Je ne sais pas', 2);
$questions[] = Array('Quel titre de sujet convient ?', 'PC en carton plante tout le temps', 'Grrrrrrrrr!!!! Quelqu\'un a un marteau ?', 'A l\'aiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiide !!', '[Windows] Plantage système au démarrage', 'Je ne sais pas', 4);
$questions[] = Array('Qui surveille les forums ?', 'L\'équipe de modération', 'Les administrateurs', 'L\'hébergeur web du site', 'Il se surveille tout seul', 'Je ne sais pas', 1);
$questions[] = Array('Quel sujet n\'est pas légal ?', '[SONDAGE] Vous lavez-vous souvent les cheveux ?', '[HOTMAIL] Contourner le filtre anti-spam', 'La nouvelle loi Hadopi, la fin du P2P en France ?', 'Topic flood !', 'Je ne sais pas', 2);
$questions[] = Array('Si quelqu\'un vous demande votre mot de passe...', 'il n\'est pas membre de l\'équipe du site', 'c\'est qu\'il est curieux', 'vous lui donnez', 'vous lui demandez le sien en échange', 'Je ne sais pas', 1);
$questions[] = Array('Quel langage est interdit sur ce site ?', 'L\'anglais', 'L\'allemand', 'Le braille', 'Le SMS', 'Je ne sais pas', 4);
$questions[] = Array('1En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('2En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('3En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('4En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('5En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('6En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('7En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('8En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('9En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);
$questions[] = Array('10En vous inscrivant vous reconnaissez', 'être fan du site', 'aimer le chocolat', 'avoir accepté la charte', 'être bête', 'Je ne sais pas', 3);

$Tquestions = count($questions);
?>
<?php
$locate = Array();
$i=1;
 
while($i<=10)
{
	$k = $questions[mt_rand(0,$Tquestions-1)];
	while(in_array($k, $locate))
	{
		$k = $questions[mt_rand(0,$Tquestions-1)];
	}
	$locate[] = $k;
	$i++;
}
?>
<?php
$i=1;
while($i<=10)
{
	$_SESSION['reponse'.$i] = $locate[$i-1][6];
?>

<?php
	$i++;
}


$score=0;

if (isset($_POST["retour"]))
 {
   echo "<BR><CENTER>CORRIGE<BR>(allez consulter votre <a href=\"#sco\">score</a> au bas de cette page)</CENTER><BR>";
 } 

for ($i=0;$i<10;$i++)
 {
  $a_repondu[$i] = false;
  $nbchoix=sizeof($locate[$i]);
  $no=$i+1;
  echo "<center><table border=\"1\" width=\"80%\" bgcolor=\"#DFDFFF\"></center>";
  echo "<tr>";
  echo "<td colspan=\"$nbchoix\">";
  echo "<center><h3><font color=\"#FF0000\">$no</font></h3></center>";
  echo $locate[$i][0]; 
  echo "</td>";
  echo "</tr>";
    if (isset($_POST["retour"]))
     {
       if (isset($_POST["bt"][$i]))
       {
         $bt[$i] = $_POST["bt"][$i];
       }
       else $bt[$i] = "";
     }
     else $bt[$i] = "";

  for ($j=1;$j<$nbchoix-1;$j++) 
    {
	
     echo "<tr>";
     echo "<td align=\"left\" bgcolor=\"#FFFF80\">";
     echo "<input type=\"radio\" name=\"bt[$i]\" value=\"bt[$j]\" ";
     if ($bt[$i]=="bt[$j]")
       {
        echo "checked";
        $k=$j+1;
        $a_repondu[$i]=true;
       }
     echo ">".$locate[$i][$j];
     echo "</td>";
      echo "</tr>";
    }
	$o=$locate[$i][6];
	
	
	
  echo "</tr>";
  echo "<tr bgcolor=\"#FFD5D5\">";
  echo "<td COLSPAN=\"$nbchoix\">";

  if ($a_repondu[$i])
   {
     if ($locate[$i][$k]==$locate[$i][$o])
        {

         echo $mess[$i]="exact";
         $score++;
        }
     else
      
	   {
	   
        echo $mess[$i]="<center>non c'est:</center>" ; 
		$o=$locate[$i][6];
		echo "<center>".$locate[$i][6];echo ". "; echo $locate[$i][$o];
		
		}
    }
	



  echo "</td>";
  echo "</tr>";
  echo "</table>";
  echo "<br>";
  }
if (isset($_POST["retour"]))
 {
 echo "<BR><BR><CENTER><table border=\"1\" cellpadding=\"5\" bgcolor=\"#FFC9AE\"><tr><td><a name=\"sco\">Score : $score/$i</td></tr></table></CENTER>";
 }
else
{
 echo "<INPUT type=\"hidden\" name=\"retour\" value=\"1\">";
 echo "<BR><BR><CENTER><INPUT type=\"submit\" value=\"Confirmer\"></CENTER>";
}

?>


</form>
</body>
</html>




et je cherche aussi un moyen de figer la page quand je clic sur le bouton corrigé pour ne pas ravoir une nouvelle série de question

merci



1 réponse

Messages postés
3110
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
24 mai 2021
140
Lu'

Moi j'utilise du html et javascript, nettement plus simple que le php :

http://www.fan-de-mixmaster.legtux.org/questionnaire.php (clique droit pour voir le code source)

http://www.fan-de-mixmaster.legtux.org/rep_questionnaire.js

Malheureusement je ne suis pas assez doué en PHP pour t'aider avec le code dont tu dispose.