Questionnaire PHP

Questionnaire PHP - PHP - Programmation

Marsh Posté le 13-02-2007 à 14:29:46    

Bonjour,
Je dois réaliser un questionnaire en php avec un fichier texte qui contient les questions, chaque question doit etre tiré aleatoirement et s'afficher une à une
structure du fichier texte  
numero question|question|reponse1|reponse2|reponse3
 
Je bloque pour pouvoir afficher les question une a une...
merci de votre aide
 

Code :
  1. <?php
  2. $fichier=$_GET['fichier'];   
  3. $nbrQuestion = 4;   
  4. if (file_exists($fichier))   
  5. $fp = fopen($fichier, "r" );
  6. else{
  7. echo "Fichier introuvable !";   
  8. }
  9. $tab2D = array();//declaration d'un tableau a deux dimension
  10. $i=0 ;
  11. while (!feof($fp))//lecture du fichier
  12. $ligne = fgets($fp,4096); // On se déplace d'une ligne dans le fichier texte   
  13. $tab2D[$i++] = explode("|",$ligne);
  14. }
  15. $nb_alea = $i;
  16. $select = array_rand ($tab2D, $nbrQuestion); //lecture aleatoire du tableau tab2d contenant les donné du fichier texte     
  17. ?>
  18. <body>
  19. <form action="" method="post" enctype="multipart/form-data">
  20. <?
  21. echo $tab2D[$select[0]][0].'<br>';
  22. echo '<input type="radio" name="radio1" value="radio"/>'.$tab2D[$select[0]][1].'<br>';
  23. echo '<input type="radio" name="radio2" value="bouton radio"/>'.$tab2D[$select[0]][2].'<br>';
  24. echo '<input type="radio" name="radio3" value="bouton radio"/>'.$tab2D[$select[0]][3].'<br>';
  25. if($_POST['radio1']){
  26. echo "question 2";
  27. echo $tab2D[$select[1]][0].'<br>';
  28. echo $tab2D[$select[1]][1].'<br>';
  29. echo $tab2D[$select[1]][2].'<br>';
  30. echo $tab2D[$select[1]][3].'<br>';
  31. }
  32. ?>
  33. <input name="Envoyer" value="Envoyer" type="submit" />
  34. <input name="" type="reset" value="Decocher" />
  35. <input type="hidden" name="action" value="submitted">
  36. </form>

Reply

Marsh Posté le 13-02-2007 à 14:29:46   

Reply

Marsh Posté le 13-02-2007 à 15:12:58    

Comme ça je dirais :  
1) lorsque l'utilisateur arrive la première fois sur ta page "questionnaire", il y a lecture du fichier txt contenant les questions et est stocké dans une variable de session sous forme d'un tableau
2) puis, à chaque affichage de la page "questionnaire", si la session existe, on tire au hasard le n° d'une question. Pour ne pas être retirée une autre fois, la question est supprimée de la variable de session de type tableau
3) la question tirée est affichée avec les propositions de réponses.
4) un lien hypertexte même sur la même page "questionnaire" pour tirer une nouvelle question tant que toutes les questions n'ont pas été tirées
 
ps : tu fais quoi des réponses données par les utilisateurs?

Reply

Marsh Posté le 13-02-2007 à 15:26:57    

Je peu rien faire avec mon code??
 
Comment faire pour stocker une variable de sesion sous forme de tableau??
les bonnes reponses de l'utilisateur doivent incrementer une variable pour compter les points.

Reply

Marsh Posté le 13-02-2007 à 15:36:30    

déjà, $nbrQuestion ne sert à rien. Tu dois pouvoir la retrouver en lisant ton fichier.
 
Par ailleurs, $fichier=$_GET['fichier']; ça provient d'un autre formulaire?
 
au fait, quelle version de php?
 
Pour lire ton fichier, tu peuc utiliser file() http://fr.php.net/manual/fr/function.file.php

Reply

Marsh Posté le 13-02-2007 à 15:45:22    

En effet $fichier vient d'un formulaire qui permet de selectionner le theme et la langue du questionnaire.
et $nbrsquestion permet de selectionner 10 question parmis les 15 que contient le fichier texte.

Reply

Marsh Posté le 13-02-2007 à 15:55:53    

ah, c'est une variable de configuration? Dans ce cas, ça serait mieux de la déclarer par un define() (éventuellement dans un fichier de conf si ton script vient à grossir et qu'il y a plusieurs autres vairbales de conf)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed