URL Übergabe mit mehreren Variablen

Radhad

Erfahrenes Mitglied
Hallo zusammen,

ich wollte mein Login-Script etwas verbessern, indem man auf der Website wieder herauskommt, auf der man vorher gewesen ist. Also dachte ich mir, ich übergebe den Link mittels substr($_SERVER['REQUEST_URI'],1) um den \ wegzubekommen. Klappt soweit auch - bis auf die Tatsache, dass 2 oder mehr Variablen nicht gehen wegen dem &-Zeichen. Wie kann ich das problem umgehen / lösen?


Gruß Radhad
 
Diese Version würde ich nicht empfehlen. Ich hab die Erfahrung gemacht, dass wenn man z.B. Norton Internet Security in Standardeinstellungen installiert hat die Firewall den Refererrer unterdrückt. Somit ist die Variable $_SERVER['REQUEST_URI'] nicht gesetzt.

Du könntest die URL z.B. base64_encoded übergeben und dann damit arbeiten oder z.B. die URL in der Session speichern und danach dahin umleiten.
 
Gut dass du mich auf das Problem mit Norton hinweist.

Wie würde es denn dann in der Session-Variable aussehen? Kann mir das jetzt noch nicht so genau vorstellen...
 
Ich habe es so gelöst, keine Ahnung ob es eine bessere alternative dafür gibt, wenn ja bitte melden! :)

PHP:
<a href=\"/index.php?site=user/login&reurl=".str_replace("&",":",$_SERVER['REQUEST_URI'])."\">

Wenn mehrere Variablen über & gesetzt sind, ändere ich diese in : um, anschließend wird dieses : wieder in ein & später umgewandelt, eigentlich ganz einfach. Nur gibt es dafür auch andere Möglichkeiten?
 
Danke Gumbo, damit klappt es wunderbar. Und damit es auf allen Seiten klappt, sieht die Übergabe jetzt wie folgt aus:
PHP:
rawurlencode("http://".$HTTP_HOST."".substr($_SERVER['REQUEST_URI'],1))


Gruß Radhad
 
Zurück