it-swarm.com.de

Zurück zur vorherigen Seite mit Kopfzeile ("Ort:"); in PHP

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?

111
Web_Designer

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:

  • Hänge die Absenderadresse als Abfragevariable an die Anfrage an (zB? Back =/list)
  • Definieren Sie eine Rückgabeseite in Ihrem Code (dh alle erfolgreichen Formularübermittlungen leiten zur Listenseite weiter).
  • Geben Sie dem Benutzer die Option, wohin er als Nächstes wechseln möchte (z. B. Speichern und weiterbearbeiten oder nur Speichern).
226
Dimitry

Es ist so einfach, verwenden Sie einfach diese

header("location:javascript://history.go(-1)");

Es funktioniert gut für mich

21
Hammad

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.

13

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;
9
6opko

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'];
}
2
Minu Alex

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

1
rudy