Detecter si page post sur elle-même

Petit nouveau ! | 6 Messages

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'] ?>"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

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 :)

Petit nouveau ! | 6 Messages

11 mai 2006, 15:22

Merci, je vais essayer

Petit nouveau ! | 6 Messages

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 :)

Eléphant du PHP | 59 Messages

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 ...

Petit nouveau ! | 6 Messages

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