Retourner à la page précédente en php


Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Retourner à la page précédente en php

Message le Ven Oct 27, 2006 22:33

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: Tout sélectionner
$_SERVER['REQUEST_URI']
mais ça ne fait qu'un seul retour en arrière et j'en voudrais 2 .
Dernière édition par Linkid le Sam Oct 28, 2006 9:14, édité 1 fois.


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Message le Ven Oct 27, 2006 22:46

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 ?

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2455
Inscription: 30 Aoû 2002

Message le Sam Oct 28, 2006 0:11

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:


Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Message le Sam Oct 28, 2006 9:19

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:

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2455
Inscription: 30 Aoû 2002

Message le Sam Oct 28, 2006 9:55

Linkid a écrit: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 ?


Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Message le Sam Oct 28, 2006 10:20

jeroen a écrit:
Linkid a écrit: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...

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2455
Inscription: 30 Aoû 2002

Message le Sam Oct 28, 2006 12:14

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.


Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Message le Sam Oct 28, 2006 13:03

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


spout
WRInaute accro
WRInaute accro
 
Messages: 4110
Inscription: 14 Mai 2003

Message le Sam Oct 28, 2006 17:31

Linkid a écrit: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.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: itry et 0 invités