zurückleiten
menne
- php
Hallo,
ich benötige bei meinen Seiten eine Rückleitung von einem Formular, das über einen Link aufgerufen wird.
Welche Möglichkeiten gibt es da?
Welche sind am verlässlichsten, welche beachten GET-Parameter etc.?
Wäre es sinnvoll an die jeweiligen Link, die das Formular aufrufen eine URL anzuhängen, die der Redirect-URL entpspricht?
Gruß
Hallo menne.
ich benötige bei meinen Seiten eine Rückleitung von einem Formular, das über einen Link aufgerufen wird.
Was meinst du genau?
Ein Script lässt sich durch action="<?php print $_SERVER['PHP_SELF']; ?>
" selbst aufrufen.
Aus einem php-Script weiterleiten kannst du auch, insofern zuvor noch keine Daten ausgegeben wurden.
<?php
[...] // dein Code
header('HTTP/1.1 303 See Other');
header('Location: http://example.org');
?>
MfG, Kungschu.
Hallo,
ja das zurückleiten mein ich, es erfolgt auch keine Ausgabe in dem Fall.
Ich mein nur, die Referrer-Variable wird ja nicht immer mitgeliefert und beachtet glaube ich keine GET-Parameter, deswegen wollte ich nach Möglichkeiten fragen, wo man sich vielleicht nicht auf so eine Referre-Varibale verlassen muss, die nicht in jedem Fall gesetzt wird.
Was könnte ich da diesen Links anhängen um dann später mit header() zurückzuleiten?
Gruß
Hi,
Ein Script lässt sich durch action="
<?php print $_SERVER['PHP_SELF']; ?>
" selbst aufrufen.
Beachte: $_SERVER['PHP_SELF'] ist vom User manipulierbar. Die ungeprüfte Ausgabe ist deswegen ein Sicherheitsloch.
Ein action="" erfüllt den gleichen Zweck - ohne Sicherheitsloch.
Gruß, Cybaer
Hi,
und welche Variable dann nicht?
Oder wie soll ich sonst die URL anhängen? Doch nciht von Hand?
Gruß
Hi,
und welche Variable dann nicht?
$_SERVER['SCRIPT_NAME']
Aber darüber ist sich leider kaum jemand bewusst.
freundliche Grüße
Ingo
Hallo,
Danke.
Nur wenn ich dieser Variable dann noch die GET-Parameter der Seite korrekt anhänge, dann funktioniert das nichtmher korrekt.
Ich meine, wenn ich eine Seite
index.php?var=hallo&zar=ende
aufrufe und von dieser dann auf den link klick, dem die herkunft mitgangehängt werden soll
also
ziel.php?url=index.php?var=hallo&zar=ende
und ich möchte dann von ziel.php wieder nach $_GET['url'] zurückleite, gehn die Parameter flöten...
Hat jemand ne Idee?
Gruß
Hi,
Hat jemand ne Idee?
In diesem Fall muß das "?" (wie auch die restlichen Zeichen, die eigentlich nicht in den URL gehören) entsprechend codiert werden. Wie *immer* bei URL-Parametern!
Gruß, Cybaer
Hallo,
also was muss ich dann da drüberlaufen lassen?
htmlentities oder htmlspecialchars?
Gruß
Hi,
also was muss ich dann da drüberlaufen lassen?
http://php.net/urlencode für die normale Kodierung.
htmlentities oder htmlspecialchars?
Das auch, wenn sich entsprechende HTML-Sonderzeichen im URL befinden (s. Anmerkungen auf der urlencode-Doku).
Gruß, Cybaer
Hi,
Wäre es sinnvoll an die jeweiligen Link, die das Formular aufrufen eine URL anzuhängen, die der Redirect-URL entpspricht?
Ja.
Gruß, Cybaer