php: zur Seite von eben zurück leiten, wie?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Wenn der Button nur ein Cookie setzen soll, würde ich das mit Javascript machen. Wenn Du PHP brauchst um irgendwelche Daten zu verarbeiten würde ich einen Ajax Request abschicken. Dann würde Dein Nutzer die Seite nicht verlassen müssen.

Du könntest entweder den Referrer abfragen und den User dorthin zurückschicken, oder die JavaScript Funktion für "zurück" benutzen.

Erfordert allerdings beides, dass der User das in seinem Browser auch aktiviert hat.

Oder du setzt von Anfang an immer ein Cookie für z.B. "lastURL" und speicherst dort die Seite, die man gerade aufgerufen hat, an die kannst du den User dann ja auch wieder zurück schicken (wenn es ums setzen eines Cookies geht, muss der User die ja sowieso aktiviert haben, damit es überhaupt funktionieren kann).

Die schönste Lösung wäre wahrscheinlich, wenn du die URL beim aufrufen der PHP Site mitgeben würdest (Zum Beispiel als Query Variable).

Man könnte es auch mit:

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

oder:

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

Wobei zweiteres eher unschön ist und für https Websiten nicht immer funktionieren wird.

Wenn es nur darum geht, ein Cookie zu setzen, rufst Du natürlich keine separate PHP-Datei auf sondern löst das wie folgt: Du bindest am Anfang der Dateien mit dem Cookie-Setzen-Button diesen Code ein:

<?php
if(isset($_GET['cookieSetzen'])) {
  setcookie("MeinCookie", $wert);
}
?>

An den Stellen an denen der Button zum Cookie-Setzen geklickt werden kann schreibst Du:

<?php
<form>
<button type="submit" name="cookieSetzen">Cookie setzen</button>
</form>

Das war's.

Alex