http://www.phpfrance.com/forums/voir_su ... ponse1.php
Appeler plusieurs fois le même formulaire sans perdre les données des premières réponses.
Alors, je me suis dit pourquoi pas faire un petit Questionnaire à choix multiple en une page pour vérifier que ça fonctionne !!!
C’est ce que j’ai fait !!
Voici le code :
<?php
$question[0]="Quel âge avez-vous ?|Moins de 18 ans|Plus de 18 ans";
$question[1]="Comment trouvez-vous le site/forum de PHPFrance ?|Pas mal|Bien|Génial|Extraordinaire";
$question[2]="Votre niveau en PHP est ?|Débutant|Initié|Expert";
if (isset($_POST['nb'])) { $nb=$_POST['nb']; }else{ $nb=0; }
if (isset($_POST['reponse'])) { $reponse=$_POST['reponse'].$_POST['rep']."," ; }else{ $reponse=""; }
if ($nb < count($question))
{
?>
<form name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<?php
$laqueston=explode("|",$question[$nb]);
echo $laqueston[0]."<br><br>";
for ($nbr_rep=1; $nbr_rep < count($laqueston); $nbr_rep++)
{
?>
<input type="radio" name="rep" value="<?php echo $nbr_rep; ?>" <?php if ($nbr_rep==1) echo "checked"; ?>><?php echo $laqueston[$nbr_rep]."<br>";
}
?>
<br>
<input type="hidden" name="reponse" value="<?php echo $reponse; ?>">
<input type="hidden" name="nb" value="<?php echo $nb+1; ?>">
<input type="submit" name="envoyer" value="Envoyer"><br>
</form>
<?php
}else{
$rep=explode(",", $reponse);
echo "Terminer<br><br>";
for ($i=0; $i <= count($reponse)+1; $i++)
{
$laqueston=explode("|",$question[$i]);
echo "A la question : <font color=\"FF0000\">".$laqueston[0]."</font> Vous avez répondu <font color=\"00FF00\">".$laqueston[$rep[$i]]."</font><br>";
}
}
?>
Je me suis dit que ça pouvait toujours servir à l’un ou l’autre.Exemple d’utilisation : dans formulaire d’inscription, un sondage, un quiz,…. A vous de voir.
(Moi j’affiche les résultats, mais rien ne vous empêche de les stocker dans une base de données par exemple ou un fichier).