[PHP] Transfère d'un rand()

Résolu/Fermé
Aidez-moi - Modifié par Aidez-moi le 14/06/2010 à 12:55
 Aidez-moi - 14 juin 2010 à 16:58
Bonjour, sur mon formulaire de contact j'aimerai faire un espèce de "captcha" avec un un rand().

Donc dans formulaire.php :

<?php  
$rand = rand();  
?>  
<form method="post" action="./traitement.php">  
<p><?php echo $rand; ?> : <input type="text" name="captcha" /></p>  
<p><input type="submit" value="GO !" /></p>  
</form>


Et dans traitement.php :
<?php  
if(ICI == $_POST['captcha']) {  
echo 'OK';  
}  
else {  
echo 'PAS OK';  
}  
?>


Je ne sais pas quoi mètre a la place du ICI, il faut que le rand de la page formulaire sois transféré dans traitement sans régénère un code.

Comment faire ?

Merci d'avance.
A voir également:

6 réponses

Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
14 juin 2010 à 13:01
<?php
$rand = rand();
?>
<form method="post" action="./traitement.php">
<p><?php echo $rand; ?> : <input type="text" name="captcha" /><input type="hidden" name="rand" value= <?php echo $rand; ?> /></p>
<p><input type="submit" value="Envoyer le message" /></p>
</form>


Et dans traitement.php :

<?php
if($_POST['captcha'] == $_POST['captcha']) {
echo 'OK';
}
else {
echo 'PAS OK';
}
?>


Si jamais ça marche pas, essaie plutôt comme ça :)

<?php
$rand = rand();
echo "<form method=\"post\" action=\"./traitement.php\">
<p> $rand : <input type=\"text\" name=\"captcha\" /><input type=\"hidden\" name=\"rand\" value= $rand /></p>
<p><input type="submit" value="Envoyer le message" /></p>
</form>"
?>

1
aminovic41 Messages postés 35 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 30 août 2013 20
14 juin 2010 à 12:57
Je suis désolé je ne peux pas m'attarder pour t'écrire le code mais pour un captcha que je trouve vraiment complet regarde ici http://www.notoon.com/tutoriaux/php-creation-captcha-anti-spam/.


cordialement.

0
D'accord, donc pour que le code généré par le rand() sois transféré sur la 2eme page il fait faire un input invisible avec :

<input type="hidden" name="rand" value="<?php echo $rand; ?>" />

Cette fonction est bien valide xHTML 1.0 Strict ?
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
14 juin 2010 à 13:11
étant donné que ta page html ressemblera à ça:
<input type="hidden" name="rand" value="1235464321" /> 

pour moi, c'est valide.
0
OK merci beaucoup !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
14 juin 2010 à 13:17
Problème résolu?

Regarde quand même le lien d'aminovic41, parce que cette façon de faire un captcha est une passoire niveau sécurité (le code est dans la source de la page, en 10 minutes on modifie un robot pour passer ta sécurité).
Rien ne vaut un bon captcha au format "image".
0
Oui résolu, je voulez un espèce de "captchat" très très simple, même si c'est pas très sécurisé, c'est pas grave. :)

Encore merci pour votre aide.
0