Formulaire avec question aléatoire
Résolu
Thoam
Messages postés
26
Date d'inscription
Statut
Membre
-
toto -
toto -
Bonjour, j'ai fait un script d'inscription. J'ai fait plusieurs questions dans le but d'empêcher les bot de soumettre le formulaire. J'ai réussi à faire en sorte que parmi toute les questions une seule soit choisi.
Au début je crée un Array multidimensionnel:
$question = array();
$question[0] = array('question','rep1','rep2','rep3','rep4');
.......
.......
$n = mt_rand(0,5);
Sachant que $question[0][1] et $question[0][2] sont les réponses correctes ($question[0][2] étant $question[0][1] sans les majucules car les visiteurs souvent oublie la majuscule).
Pour afficher la question ainsi que les réponse proposé j'ai mis ce code
<?php echo $question[$n][0] ."\t ". $question[$n][1] ."\t- ". $question[$n][3] ."\t- ". $question[$n][4] ?>
Le problème est que quand j'appuie sur envoyer $n se recalcule et donc la réponse dans le champ anti-bot est comparé avec les bonnes réponses d'une autre question.
Au début je crée un Array multidimensionnel:
$question = array();
$question[0] = array('question','rep1','rep2','rep3','rep4');
.......
.......
$n = mt_rand(0,5);
Sachant que $question[0][1] et $question[0][2] sont les réponses correctes ($question[0][2] étant $question[0][1] sans les majucules car les visiteurs souvent oublie la majuscule).
Pour afficher la question ainsi que les réponse proposé j'ai mis ce code
<?php echo $question[$n][0] ."\t ". $question[$n][1] ."\t- ". $question[$n][3] ."\t- ". $question[$n][4] ?>
Le problème est que quand j'appuie sur envoyer $n se recalcule et donc la réponse dans le champ anti-bot est comparé avec les bonnes réponses d'une autre question.
Configuration: Windows Vista Firefox 3.0.1
3 réponses
-
Bonjour
envoie la valeur de $n dans un champ hidden ou mémorise-la dans une variable de session -
Merci de m'avoir répondu. Mais enfaite le problème c'est que le formulaire qui poste sur lui même. Donc si je met $_SESSION['n']=$n; cela ne résoud pas mon problème.
-
Si, ça le résout. Il faut bien sûr que tu utilises la valeur mémorisée de $_SESSION['n'], pas la nouvelle valeur tirée au sort. Si tu ne vois pas comment faire, montre les endroits de ton code ou tu vérifies la réponse et celui où tu génères la question.