Retourner à la page précédente en php

WRInaute discret
Bonjour !
J'ai fais un script pour un espace membre, mais j'ai un problème a la connexion. En effet, je par d'une page A qui contient mon formulaire. Ensuite, une fois le formulaire remplit, on passe par la page B, et c'est là qu'il y a un problème...
Dans cette page, on vérifie que toutes les données sont bonnes pour rediriger le visiteur vers une page C.
Mais si des données sont fausses ou inexistantes, alors on retourne a la page A avec un message d'erreur.
Le problème est que je ne voie pas comment récupérer l'url de la page A en php car je dois faire un méta refresh en changean la fin de l'url de la page A, sinon, j'aurais fait un history.back() en javascript !
Et plus encore, car en réalité je sais récupérer l'url de A, je ne trouve pas l'équivalent de history.back(-2) en php...

Si quelqu'un pourrait m'éclairer la dessus, parce que la je sèche !

PS : j'ai essayé
Code:
$_SERVER['REQUEST_URI']
mais ça ne fait qu'un seul retour en arrière et j'en voudrais 2 .
 
WRInaute accro
tu peux pas récupérer l'url de la page précédente et la coller dans ton formulaire et la passer ensuite simplement dans un input hidden ?
 
WRInaute passionné
C'est pas comme ça qu'on fait....

Il faut une unique page formulaire.php et une page ok.php

Au début de la page formulaire.php tu teste si le formulaire a été rempli ($_POST['submit'] par exemple). Si oui tu traite les données. Si traitement des données ok tu fais une redirection vers la page ok.php. Si traitement des données pas ok, tu sort simplement du traitement.

Dans la deuxième partie de la page formulaire.php tu affiche simplement ton formulaire, et les erreurs eventuelles de traitement. Avantage : s'il a déjà été soumis mais qu'il a été refusé au traitement, tu peux ré afficher les champs.

Dans la page ok.php, tu affiche le résultat du formulaire. Avantage : si l'utilisateur fait un "refrech", ce sera uniquement que la page "ok.php", donc le formulaire ne sera pas traité une deuxième fois
:wink:
 
WRInaute discret
Merci, c'est simpa jeroen, mais j'y avais déjà pensé... et ça ne colle pas car je suis sur un script de blog et le but est de faire passer la personne d'une page accessible à tous à la partie administration et inversement... le problème est juste que je ne trouve pas comment récupérer l'url d'où provient le simple visiteur... Mais je pense avoir une idée de ce que je vais faire grâce à finstreet car je n'avait pas pensé à l'input hidden.

Merci quand même !

Et si quelqu'un trouve un truc en php genre $_SERVER['REQUEST_URI'], merci de le dire également... ça peut toujours servir ! :wink:
 
WRInaute passionné
Linkid a dit:
et ça ne colle pas car je suis sur un script de blog et le but est de faire passer la personne d'une page accessible à tous à la partie administration et inversement...

Ok, tu cherche à logger un visiteur et à le rediriger vers la page d'ou il vient, c'est ça ?
 
WRInaute discret
jeroen a dit:
Linkid a dit:
et ça ne colle pas car je suis sur un script de blog et le but est de faire passer la personne d'une page accessible à tous à la partie administration et inversement...

Ok, tu cherche à logger un visiteur et à le rediriger vers la page d'ou il vient, c'est ça ?

Seulement si il y a un problème dans la connexion, c'est-à-dire si les logs ne sont pas valides...
aSinon, il va dans la partie administration...
 
WRInaute passionné
ok,
il faut donc mixer les deux solution, et rediriger vers la page d'origine que tu aura transmis grâce à un hidden, ou dans l'url.
 
WRInaute discret
C'est bon, je l'ai fait avec un hidden... c'était tout simple, mais le sujet reste tout de même ouvert si quelqu'un trouve comment obtenir l'url de deux pages en arrière, et ce en php...
 
WRInaute accro
Linkid a dit:
C'est bon, je l'ai fait avec un hidden... c'était tout simple, mais le sujet reste tout de même ouvert si quelqu'un trouve comment obtenir l'url de deux pages en arrière, et ce en php...

Avec des sessions.
 
Discussions similaires
Haut