Page 1 sur 1

Detecter si page post sur elle-même

Posté : 11 mai 2006, 13:38
par lumi
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'] ?>"

Posté : 11 mai 2006, 13:43
par Ryle
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 :)

Posté : 11 mai 2006, 15:22
par lumi
Merci, je vais essayer

Posté : 11 mai 2006, 20:20
par lumi
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 :)

Posté : 11 mai 2006, 22:25
par PsykoCors
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 ...

Posté : 12 mai 2006, 12:33
par lumi
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