[php] qui peux m'aider ??

antic80 Messages postés 4877 Statut Contributeur -  
antic80 Messages postés 4877 Statut Contributeur -
bonjour

voila j'ai ce morceau de code

if ($Rep_correcte != $Reponse){
echo "<div align='center'><font size='6'>Non, c'est une mauvaise réponse</font></div>";
echo "<br />";
echo "<br />";
echo "<div align='center'><img border='0' src='../../../Image/MauvRep.gif' ></div>";
$NumEssai=$NumEssai+1;
$sql2="UPDATE apprenant SET NbEssai='$NumEssai' where nom='$Nom' and prenom='$Prenom' and pseudo='$pseudom'";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
}
else
{

$NumQuestion=$NumQuestion+1;
$NEssai="0";
$NombreReponseBonne=$NombreReponseBonne+1;

$chgtQuestion2="UPDATE apprenant SET NumQuestion='$NumQuestion', NbEssai='$NEssai', NbReponseBonne='$NombreReponseBonne' where nom='$Nom' and prenom='$Prenom' and pseudo='$pseudom'";
$reqchgtQuestion2 = mysql_query($chgtQuestion2) or die('Erreur SQL !<br>'.$chgtQuestion2.'<br>'.mysql_error());
echo "<div align='center'><font size='6'>Bravo, c'est une bonne réponse</font></div>";
echo "<br />";
echo "<br />";
echo "<div align='center'><img border='0' src='../../../Image/BonRep.gif' ></div>";

$insertstats="INSERT INTO Stats(Id,id_eleve,id_question,id_categorie,Essai,BonneRep,MauvaiseRep) VALUES('','$Ideleve','$Nquest','$Cat','$NumEssai','1','0')";
$reqinsertstats = mysql_query($insertstats) or die('Erreur SQL !<br>'.$insertstats.'<br>'.mysql_error());
}

echo $NumQuestion;
echo $NbQ;

if($NumQuestion==$NbQ)
{
echo "<meta http-equiv='refresh' content='2; URL=http://127.0.0.1/Membre/Exercices/TN/index.php'>";
}
?>




ce code permet de verifié la reponse d'une question si c bon on passe a la question sinon on incremente le nombre d'essai et on reviens a la question

j'aimerai savoir comment faire pour quand j'arrive a la derniere question les requetes s'execute quand meme sauf l'incrémentation du numéro de la question et etre redirigé vers une autre page

j'espere etre clair

merci a vous

6 réponses

  1. Sethpolma Messages postés 66 Statut Membre 15
     
    Tout d'abord, j'ai pas lu tout ton code. C'est un peu trop monolithique pour moi ! :)

    Mais, juste une chose : tu peux fermer la balise PHP et la reprendre un peu après, si tu veux écrire du HTML. Ca évitera de voir fleurir des <i>echo</i> un peu partout. Exemple :

    <?php
    
     if(!$_POST['Nom'])
    {?>
         <strong>Attention !!!</strong><br/>
         Vous n'avez pas saisi de nom dans le formulaire précédent !
    <?php }
    
    else
    {
         // Traitement du formulaire
    }
    ?>
    

    Ceci étant dit, je reviens plus précisément sur ta question, il suffit de tester ta variable $nbquestion au début du script (pour éviter des problèmes de header) :
    if( $nbquestion >= $NOMBRE_QUESTIONS )
    {
         // Redirection vers la page fin_du_quizz.php
         header("Location: fin_du_quizz.php");
    }
    else
    {
         // Autre partie du code
    }
    0
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Ou sinon, pour éviter d'avoir des ruptures dans le code avec des {?> <?} qui rendent le code un peu illisible, on peut afficher plusieurs lignes d'un coup
    sans avoir à se préoccuper des guillemets en utilisant la syntaxe heredoc:

    if(!$_POST['Nom'])
    {
         echo <<<PROUT
         <strong>Attention !!!</strong><br/>
         Vous n'avez pas saisi de nom dans le formulaire précédent !
    PROUT;
    <?php }

    Voir https://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.heredoc
    0
  3. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    le header ne marche pas dans mon code

    il me dis qu'il peux pas ouvrir un header ou je sais pas koi

    ca me dis header cannot modify etc....
    0
  4. ricric Messages postés 34 Statut Membre 7
     
    Bonsoir
    A la place de cela:
    if($NumQuestion==$NbQ)
    {
    echo "<meta http-equiv='refresh' content='2; URL=http://127.0.0.1/Membre/Exercices/TN/index.php'>";
    }
    ?>
    je te propose
    if($NumQuestion==$NbQ)
    {
    echo "<a href='index.php'>Recommencer ou ce que tu veux</a>";
    }
    ?>


    Par ailleurs quand tu as une erreur, poste le message d'erreur exact. Cela nous aidera à t'aider.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    oui j'y est penser mais j'aimerai que quand on verifie la derniere question, si c'était la derniere question on va directement vers une autre page
    0
  7. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    par rapport au message de Setpholma je ne peux car en fait si je fais ca au moment ou je vais validez la question 2 étant donnée que son N° est deja 2 je vais etre renvoyez directement sur la page mais les stats comme le nombre de reponse bonnes ne sera pas incrémenté
    0