Bonjour,
Voila je rencontre un petit problème avec mon code: J'essaie de réaliser un qcm à partir de questions et réponses se trouvant dans une BDD. Pour éviter d'avoir les mêmes questionnaires, je choisis aléatoirement les questions ainsi que leur ordre d'apparition. Je fais de même pour les différentes réponses possibles. J'utilise un formulaire et deux boucles foreach pour réaliser les questionnaires.
Je débute en PHP et POO et je me casse les dents sur ce problème.
Voici mon code de la partie qui coince:
Ce que je fais
<?php
foreach ($alea_questions_par_categorie as $questions_par_categorie):
?>
<form action="" method="post" >
<label input type="text" name="question"> <?= $questions_par_categorie->question; ?> </label>
<?php
$bonne_reponse = question::getbonne_reponse($questions_par_categorie->id);
$fausses_reponses = fausses_reponse::getaleas_fausses_reponses($questions_par_categorie->fausses_reponses_id, 3);
$reponses_possibles = reponse::merge($bonne_reponse, $fausses_reponses);
?>
<ul>
<?php
foreach ($reponses_possibles as $reponses): // c'est un array d'objets
$alert = reponse::getalerte_reponse($reponses); // bonne ou mauvaise réponse
?>
<label> <input type="radio" name="reponse" value="<?= $alert; ?>"> <?= $reponses->titre ?> </label> <br />
<?php
endforeach;
?>
<input type="submit" name="valider" value="valider"> <br/>
<?php
if (empty($_post)) {}
elseif (!isset($_post['reponse']))
{ echo 'vous n\'avez pas choisi de réponse ! Ré-essayez !'; }
else
{ echo ($_post['reponse']); }
?>
</ul> <!--- conserve ul pour la mise en page --->
</form>
<?php
endforeach;
?>
Ce que je veux
Pour chaque question, je souhaiterais pouvoir cliquer sur une des réponses fournies et obtenir la réponse en fonction du choix réalisé (Bonne réponse, Mauvaise réponse ou Vous n'avez pas choisi de réponse. Ré-essayez!)
Ce que j'obtiens
Mon problème actuellement: Lorsque je valide le formulaire (input type submit Valider), l'ensemble du questionnaire en cours est modifié comme si je relançais un nouveau questionnaire. En outre, la réponse qui s'affiche est identique pour toutes les questions du questionnaire. J'ai essayé de placé le formulaire au bon endroit mais … je n'y arrive pas. Comment arriver à faire en sorte que je puisse répondre question par question et d'avoir la réponse correcte (Bonne réponse, Mauvaise réponse ou Vous n'avez pas choisi de réponse. Ré-essayez!) à chaque question?