Bonjour
j'essaye de créer un capchca basé sur la vision d'une image choisit aléatoirement. Dans un premier temps je créé mon formulaire est le nombre aléatoire. (form.php)
dans un deuxième temps je vérifie le formulaire record_form.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php //je créé mon nombre alétoire parmis mes 4 images function random($car) { $string = ""; $chaine = "1234"; srand((double)microtime()*1000000); for($i=0; $i<$car; $i++) { $string .= $chaine[rand()%strlen($chaine)]; } return $string; } $chaine = random(1); ?> <form action="record_form.php?chaine=<?php echo $chaine; ?>" method="post"> <textarea name="message" cols="" rows=""></textarea><br /> <img src="/essence/capchca_img/<?php echo $chaine; ?>.gif" /> Que voyez-vous? <input name="id" type="text" maxlength="20" /><br /> <input name="bouton" type="submit" /> </form>
Le problème (sinon ça ne serait pas drôle ... ) c'est que record_form.php ne trouve pas $chaine . Je pense que mon problème vient de form.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?php //je récupère les variables de chaine.php $message = $_POST["message"]; $chaine = $_POST["chaine"]; $id = $_POST["id"]; //je me connecte et je sélectionne ma base $db = mysql_connect('localhost', 'root', ''); mysql_select_db('capchca',$db); //ma requête $sql = "SELECT id FROM data where img = '$id'"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_assoc($req); // je vérifie la concordance de chaine et d'id dans ma base mysql if($data['id'] != $id) { echo 'mauvais'; exit; } // Si ça passe j'enregistre le message dans ma table else { $recording_message = "INSERT INTO message (texte) VALUES ('$message')"; mysql_query($recording_message) or die('eh merde dans l\'enregistrement'); echo 'Le message est dans la boite'; mysql_close(); } ?>
Pourtant , j'ai vu le conseil de Kerod, qui fait la même chose
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<form action="record_form.php?chaine=<?php echo $chaine; ?>"
sinon j'ai trouvé ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<form method="post" action="record_form.php?"> <input type="hidden" name="dir" value="<? echo $chaine; ?>" /> </form>
Qu'en pensez-vous? merci pour vos conseils








Répondre avec citation



Partager