138 votes

Retour à la page précédente avec en-tête (« Location : ") ; en PHP

Le titre de cette question peu explique ma question. Comment puis-je rediriger le visiteur de page PHP à leur page précédente avec le``

289voto

Dimitry Points 3684

essayez:

header('Location: ' . $_SERVER['HTTP_REFERER']);

Notez que cela ne fonctionne pas avec les pages sécurisées (HTTPS) et c'est une très mauvaise idée générale que l'en-tête peut être détourné, en renvoyant l'utilisateur vers une autre destination. L'en-tête peut même ne pas être envoyé par le navigateur.

Idéalement, vous voulez:

  • Ajouter l'adresse de retour de la demande comme une variable de requête (par exemple. ?retour=/liste)
  • Définir une page de retour dans votre code (ie. avec succès toutes les soumissions de formulaire rediriger vers la page d'inscription)
  • Fournir à l'utilisateur l'option de l'endroit où ils veulent aller à la suivante (par exemple. Enregistrer et continuer à éditer ou tout simplement l'Enregistrer)

29voto

Hammad Asif Points 124

Ses si simple il suffit d’utiliser ce

Sa fonctionne bien pour moi

20voto

6opko Points 296

Juste un petit ajout : Je crois que c’est une chose commune et connue pour ajouter la sortie ; Nous ne voulons pas le reste du code pour charger ou l’exécuter après la fonction de l’en-tête en cas...

17voto

Vous devez enregistrer cet emplacement en quelque sorte.
Dire si c’est le formulaire de message, juste enregistrer l’emplacement actuel dans le champ masqué et ensuite utiliser dans l’en-tête Location

4voto

rudy Points 88

Stocker l’url précédente dans une variable de session est mauvais, parce que l’utilisateur peut faire un clic droit sur plusieurs pages et puis reviens et enregistrer.

sauf si vous enregistrez l’url précédente dans la variable de session dans un champ masqué dans le formulaire et après enregistrez en-tête (« Location : enregistrer l’URL de la page appelante ») ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X