Tom1tk: url de/encode

Hallo,

hat jemand Ahnung wie das mit dem url-en/decode funzt?

Folgendes Problem: Ich habe einen login- Bereich. Wenn jetzt jemand auf einen Link,der in diesen Bereich hineinführt, klickt, wird er ggf. (wenn nicht eingeloggt) auf die Login-Seite geleitet. Dort soll in einem Hidden-Feld die Seite, die er eigentlich besuchen wollte, gespeichert sein. Das geht, solange man dirkete blabla.php-Seiten hat. Aber: Meine Menü hat links zu

/ordner?bla=xy&bla=xyz

Kann ich diesen String irgenwie codieren, so dass die ? und die & nicht mehr wirksam sind, sondern als EIN String durchgeschleust werden?

In der Var _SERVER["REQUEST_URI"]; befindet sich eben dieser String, aber als "/ordner?bla=xy&bla=xyz" und meine login-Seite heißt "/login?site=login" und alles zusammen gibt kuddelmuddel.

Ich hab mal was von urlencode o.ä. gehört/gelesen. Kennt das jemand? Ist das gut für meine Baustelle?

Greets Tom1tk

  1. Hello,

    Du kannst die eigentliche URL ja als codierten String dranhängen

    $url = index.php?page=22

    $location = "login.php?url=".urlencode($url);

    header("Location: location");

    und in login.php steht dann in $_GET["url"] schon das ausgepackte neue (alte) Ziel drin.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hello,

      $url = index.php?page=22
        $location = "login.php?url=".urlencode($url);

      header("Location: $location");

      und in login.php steht dann in $_GET["url"] schon das ausgepackte neue (alte) Ziel drin.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Nabend,

        $location = "login.php?url=".urlencode($url);
           header("Location: $location");

        Natürlich gehört vor das $location noch der ganze Krams mit "http://www.server.tld/ordner/", schließlich ist dort eine absolute URL vorgeschrieben.

        Bis denne,

        1. Hello,

          $location = "login.php?url=".urlencode($url);
             header("Location: $location");
          Natürlich gehört vor das $location noch der ganze Krams mit "http://www.server.tld/ordner/", schließlich ist dort eine absolute URL vorgeschrieben.

          Ja, hast Du mich also wieder mal erwischt. Ich vergesse das gerne. Funktioniert meistens auch als relative Adresse; das macht fahrlässig.

          Bekenne mich schuldig.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    2. Halloa,

      $url = index.php?page=22

      $location = "login.php?url=".urlencode($url);

      header("Location: location");

      und in login.php steht dann in $_GET["url"] schon das ausgepackte neue (alte) Ziel drin.

      Wie lecker, genau dieses Teil habe ich gesucht.

      DANKE TOM

      Greets