Der Titel dieser Frage erklärt meine Frage. Wie leite ich den PHP Seitenbesucher mit der Funktion header( "Location: URL of previous page" );
zurück zu seiner vorherigen Seite?
versuchen:
header('Location: ' . $_SERVER['HTTP_REFERER']);
Beachten Sie, dass dies bei sicheren Seiten (HTTPS) möglicherweise nicht funktioniert und insgesamt eine ziemlich schlechte Idee ist, da der Header entführt werden kann und den Benutzer an ein anderes Ziel sendet. Der Header wird möglicherweise nicht einmal vom Browser gesendet.
Idealerweise möchten Sie entweder:
Es ist so einfach, verwenden Sie einfach diese
header("location:javascript://history.go(-1)");
Es funktioniert gut für mich
Sie müssen diesen Ort irgendwie speichern.
Nehmen wir an, es handelt sich um ein POST) Formular, geben Sie einfach den aktuellen Ort in ein verstecktes Feld ein und verwenden Sie es dann in der header()
Position.
Nur eine kleine Ergänzung: Ich glaube, es ist eine übliche und bekannte Sache, exit;
nach der Header-Funktion, falls der Rest des Codes nicht geladen oder ausgeführt werden soll ...
header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;
Versuchen Sie dies einfach in Javascript:
$previous = "javascript:history.go(-1)";
Oder Sie können es in PHP versuchen:
if(isset($_SERVER['HTTP_REFERER'])) {
$previous = $_SERVER['HTTP_REFERER'];
}
Das Speichern der vorherigen URL in einer Sitzungsvariablen ist fehlerhaft, da der Benutzer möglicherweise mit der rechten Maustaste auf mehrere Seiten klickt und dann zurückkehrt und speichert.
es sei denn, Sie speichern die vorherige URL in der Sitzungsvariablen in einem ausgeblendeten Feld im Formular und nach dem Speichern des Headers ("Speicherort: URL der aufrufenden Seite speichern").