Detecter si page post sur elle-même

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 : Detecter si page post sur elle-même

par lumi » 12 mai 2006, 12:33

Très bon truc, en effet.
Il marche aussi avec POST, si on met :

$doujeviens = $_REQUEST['doujeviens'] ;

Ca me donne deux façons de résoudre mon problème.
Merci

par PsykoCors » 11 mai 2006, 22:25

Le plus simple a la limite c'est de faire une variable $doujeviens

Pour le formulaire :
<input type="hidden" name="doujeviens" value="forumulaire">
le lien :
<a href="page.html?doujeviens=page">

Tu recupère la variable (
$doujeviens = $_['doujeviens'] ;
)
Apres tu fais a
vec des if :
if ($doujeviens=="formulaire"){}
if ($doujeviens=="page"){}
Le soucis c'est que ton form doit etre en GET ...

par lumi » 11 mai 2006, 20:20

Bon, pour un premier post, c'était pas terrible, même moi après m'etre relu j'ai eu du mal à me comprendre :oops:
Voila ce que je cherchais:

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//Je viens du formulaire
}
else
{
//Je viens d'un lien
}

Merci encore à celui qui a essayer de m'aider :)

par lumi » 11 mai 2006, 15:22

Merci, je vais essayer

par Ryle » 11 mai 2006, 13:43

avec ($search == $_REQUEST['recherche']) ? :)

ou avec un champ caché dans ton formulaire si le parametre recherche est déjà passé quand tu arrives depuis une autre page :)

Detecter si page post sur elle-même

par lumi » 11 mai 2006, 13:38

Dans une page Recherche, qui post sur elle même:
"<?php $_SERVER['SCRIPT_NAME'] ?>" , je veux tester si le formulaire a été rempli (avec $search = $_REQUEST['recherche']), mais à chaque fois que j'accede à cette page Recherche, elle m'affiche le message indiquant que le formulaire n'a pas été rempli.
Comment tester si j'arrive sur la page par un lien exterieur ou par :"<?php $_SERVER['SCRIPT_NAME'] ?>"