Souci de formulaire en GET

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Souci de formulaire en GET

Re: Souci de formulaire en GET

par SinBert » 15 août 2009, 22:04

Sa marche impecablement bien, je n'avais jamais vu ça comme cela.

Merci! :mrgreen:

Re: Souci de formulaire en GET

par Ryle » 15 août 2009, 21:56

Lorsque tu fais :
$_GET['request'] = $request;
Tu demandes à php d'écraser la valeur transmise via la méthode get par la variable $request (qui n'est pas définie)
$request = $_GET['request'];
serait plus logique pour récupérer la valeur transmise en get dans ta variable $request :)

Souci de formulaire en GET

par SinBert » 15 août 2009, 21:23

Bonjour,

Suite a mon précédent topic pour mon petit moteur de recherche sur mon site, j'expose un tout autre problème.
apparemment, les variables que je transmet d'un formulaire jusqu'à la page qui expose les résultat via la méthode GET ne fonctionnent pas.
<?php
$_GET['request'] = $request;
//Je prends ma variable qui doit contenir se que l'utilisateur recherche

mysql_connect("plouf", "plaf", "plif") or die(mysql_error());
mysql_select_db("plof") or die(mysql_error());
?>

<html>
<body>
<form method="GET" action="search.php"><input type="text" size="50" name="request"> </form>

<hr>
<?php
$reponse = mysql_query("SELECT * FROM Requete WHERE name REGEXP '$request'");

while($donnee == mysql_fecht_array($reponse))
{
$flag = 0;
?>
<font size="4"> <a href="<?php echo $donnee['url']; ?>"><?php echo $donnee['name']; ?></a></font><br><br>
<?php
$flag++;
}
}

if($flag == 0)
{
  ?>
  <font size="5" color="red">Il n'y a pas de résultat corresondant à "<?php echo $request; ?>"</font>
  <br><br>
  Nous vous conseillons d'essayer avec d'autre mots.
 
  <?php
 }

?>
Quand je fait une recherche, il s'affiche le message "Il n'y a pas de résultat correspondant à...etc", se qui est normal vu que ma base de donnée est vide. Mais se qui m'étonne c'est que le message se fini comme suit :
...correspondant à "" (rien entre les guillemets)
la variable request ne s'est pas affichée.

Alors j'en viens a me demander si le fait qu'il n'y a pas de résultat a ma recherche ne viens pas plutôt du fait qu'il n'y avais rien a rechercher plutôt qu'a trouver.

Sachant que le fichier que je vous est montrer est search.php, que les identifiants de BDD sont corrects et qu'il y a un autre formulaire similaire à celui-ci pour accéder a cette page et qui ne fonctionne pas lui non plus (méthode GET lui aussi), d'où peux bien provenir mon problème?