[RESOLU] Différencier élements dans fichier texte

Petit nouveau ! | 6 Messages

06 mars 2016, 13:16

Bonjour à tous,

J'ai un petit problème en ce moment avec mon code php, je vous explique le soucis.
J'ai un fichier texte où les informations sont comme ceci :
* Question *
+ Reponse
+ Reponse
...ect

C'est une succession de questions-réponses et les étoiles et signes d'addition servent à différencier chacun d'entre eux. Le but est de créer un QCM qui est dans un fichier texte.
Voici le code :
$contents = file_get_contents('fichiertexte/qcmtest2.txt');
                
echo $contents;

$separateurquestion = explode("*", $contents);
$separateurquestion = str_replace("+", "", $separateurquestion);

?>
<form action="index.php" method="POST" name="form">
<?php
foreach ($separateurquestion as $value => $reponse) {
	echo "<br />";
	echo "<input type='radio' name='Reponse' value='$reponse'> $reponse";
	echo "<br />";
	
}
?>
</form>
Le soucis que j'ai actuellement c'est que à l'affichage cela s'affiche sous cette forme :

bouton radio : Question
bouton radio : Reponse 1 Reponse2....ect

J'aimerai pouvoir faire en sorte qu'il y ai un bouton radio pour chaque réponse et que celui de la question s'enlève, mais je ne sais pas comment m'y prendre. En espérant que mon problème vous parait clair.
Merci d'avance pour votre aide.

Mammouth du PHP | 2703 Messages

06 mars 2016, 15:29

lire le fichier ligne par ligne.
une ligne entre **, récupérer la question et l'afficher.
une ligne entre ++, récupérer la réponse et afficher un radio button

Petit nouveau ! | 6 Messages

06 mars 2016, 23:33

Bonsoir, merci de votre aide cela m'a particulièrement aidé. Maintenant les questions et réponses sont bien différenciés.
Mais j'ai un petit soucis surement simple, j'ai admettons ceci à l'ecran :

Question 1 :
reponse1
reponse2
...ect
Question2
....ect

Avec un bouton radio devant chaque réponse, le soucis c'est que pour la première question si je coche une réponse et que je valide, il me dit bien si c'est bon ou pas. Mais comment puis-je faire pour chaque question car cela fonctionne que pour la premiere question? C'est à dire que le script sache tel question comporte telle réponse, je ne sais pas si vous voyez ce que je veux dire.

Voici mon code :
$lines= file('fichiertexte/qcmtest2.txt'); //met le fichier dans un tableau
$cherchquestion = "*";
$cherchreponse = "+";
$cherchcorrect = "-";


?>
<form action="index.php" method="POST" name="form">
<?php
//parcours du tableau à la recherche de $cherch
for($i=0, $max=count($lines) ; $i<$max ; $i++){
  if (substr($lines[$i],0,1)==$cherchquestion){

	$linesquestion[$i] = str_replace("*", "", $lines[$i]);
    echo $linesquestion[$i];
	echo "<br />";
  }
  if (substr($lines[$i],0,1)==$cherchreponse){

  $linesreponse[$i] = str_replace("+", "", $lines[$i]);
    echo "$linesreponse[$i] <input type='radio' name='Reponse' value='$linesreponse[$i]'>";
	echo "<br />";
  }
  if (substr($lines[$i],0,1)==$cherchcorrect){

  $linesrcorrect = str_replace("-", "", $lines[$i]);
  }
}

echo "<br />";
echo "<br />";
echo "<input type='submit' value='envoyer'>";
if(isset($_POST['Reponse'])){
	if($_POST['Reponse'] == $linesrcorrect) {
	echo "Bonne reponse : ";
print $_POST['Reponse'];
}
else { echo "Mauvaise reponse";}
}
Si vous avez des idées je suis preneur, merci encore pour votre aide.