[php] qui peux m'aider ??
antic80
Messages postés
4877
Statut
Contributeur
-
antic80 Messages postés 4877 Statut Contributeur -
antic80 Messages postés 4877 Statut Contributeur -
bonjour
voila j'ai ce morceau de code
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
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
-
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 } -
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 -
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....
-
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 proposeif($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.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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
-
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é