Le titre de cette question explique en quelque sorte ma question. Comment rediriger le visiteur de la page PHP vers sa page précédente avec leheader( "Location: URL of previous page" );
Le titre de cette question explique en quelque sorte ma question. Comment rediriger le visiteur de la page PHP vers sa page précédente avec leheader( "Location: URL of previous page" );
Réponses:
essayer:
header('Location: ' . $_SERVER['HTTP_REFERER']);
Notez que cela peut ne pas fonctionner avec les pages sécurisées (HTTPS) et c'est une très mauvaise idée dans l'ensemble car l'en-tête peut être détourné, envoyant l'utilisateur vers une autre destination. L'en-tête peut même ne pas être envoyé par le navigateur.
Idéalement, vous voudrez soit:
C'est si simple, utilisez ceci
header("location:javascript://history.go(-1)");
Ça marche bien pour moi
"Corrupted Content Error The page you are trying to view cannot be shown because an error in the data transmission was detected."
donc c'est fondamentalement inutilisable.
Vous devez enregistrer cet emplacement d'une manière ou d'une autre.
Disons que c'est un formulaire POST, placez simplement l'emplacement actuel dans un champ masqué, puis utilisez-le dans l' header()
emplacement.
Juste un petit ajout: je pense que c'est une chose courante et connue à ajouter exit;
après la fonction d'en-tête au cas où nous ne voudrions pas que le reste du code se charge ou s'exécute ...
header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;
Le stockage de l'URL précédente dans une variable de session est mauvais, car l'utilisateur peut faire un clic droit sur plusieurs pages, puis revenir et enregistrer.
sauf si vous enregistrez l'url précédente dans la variable de session dans un champ caché du formulaire et après enregistrer l'en-tête ("Emplacement: enregistrer l'URL de la page appelante");