André: Link mit Variablen

Hallo,

ich habe ein Problem:
Ich benötige in einer Datei den Link der vorangegangenen. Normalerweise geht das ja problemlos über den Referer - in diesem Fall zumindest beim IE nicht, weil das ganze per Javascript in einem neuen Fenster geöffnet wird.
Jetzt will ich stattdessen über das Javascript sozusagen den Refererlink (also der aktuellen Seite) übergeben. Mit $PHP_SELF geht es nicht, weil das nicht die Variablen mit einschließt - das wäre aber entscheidend, weil alles über in der URL übergebenen Variablen gesteuert wird.

Hat jemand eine Idee, wie ich in PHP den Link bekomme, der im Browser gerade in der Adressleiste steht (also z.B. index.php?action=irgendwas&print=ja)?

Grüße,

André

  1. Hallo

    Ich benötige in einer Datei den Link der vorangegangenen. Normalerweise geht das ja problemlos über den Referer - in diesem Fall zumindest beim IE nicht, weil das ganze per Javascript in einem neuen Fenster geöffnet wird.

    (also z.B. index.php?action=irgendwas&print=ja)?

    Hänge den Dateinamen (und Pfad?) als weiteren GET-Parameter [1] an die URL.

    index.php?action=irgendwas&print=ja&oldurl=blubb.php

    Bitte das "&" anstelle des "&" verwenden, damit das HTML gültig ist.
    Je nach PHP Version und Einstellung in der php.ini (register_globals)
    fragst du die übergebenen Werte mit $oldurl [2], $_HTTP_GET_VARS["oldurl"] [3]
    oder $_GET["oldurl"] [3] ab.

    [1] Links haben Parameter, du kannst diese dann im Skript
        als Variablen weiterverwenden.
    [2] Aus Sicherheitsgründen nicht zu empfehlen!
    [3] lange Version bis PHP 4.1x, kurze Version ab PHP 4.2

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    1. Hallo Auge,

      soweit war mir das auch alles klar - meine Frage war nun mehr, ob es eine Möglichkeit gibt. eben alle in der Adresszeile übergebenen Variablen automatisch zu bekommen, also wirklich sozusagen das, was ich sonst per referer bekäme.
      Problem ist, dass ich keine Ahnung habe, welche Variablen auf allen unterseiten da wohl übergeben werden, weil ich die Seite ständig erweitere und da evtl. zusätzliche variablen einführe, ohne immer diese datei ändern müssen zu wollen.
      gibt es nicht irgendeine php-funktion (die ich noch nicht gefunden habe), die einem sozusagen das, was sonst als späterer referrer übergeben würde vom browser, bzw. das, was der browser als anfrage an den apache geschickt hat, gibt?

      [2] Aus Sicherheitsgründen nicht zu empfehlen!

      Warum eigentlich? register_globals ist bei den meisten confixx-servern aus kompatibilitätsgründen sowieso aktiviert - und solange man nicht total dumm programiert sehe ich da auch kein sicherheitsproblem...!?

      Grüße,

      -André

      1. hi,

        soweit war mir das auch alles klar - meine Frage war nun mehr, ob es eine Möglichkeit gibt. eben alle in der Adresszeile übergebenen Variablen automatisch zu bekommen, also wirklich sozusagen das, was ich sonst per referer bekäme.

        index.php?blah=suelz&fuenf=1

        $_SERVER["QUERY_STRING"] -> blah=suelz&fuenf=1
        $_SERVER["REQUEST_URI"] -> /info.php?blah=suelz&fuenf=1

        gruss,
        wahsaga

        1. hi,

          index.php?blah=suelz&fuenf=1

          $_SERVER["QUERY_STRING"] -> blah=suelz&fuenf=1
          $_SERVER["REQUEST_URI"] -> /info.php?blah=suelz&fuenf=1

          argh, c&p errors suck.

          im letzteren falle heisst der wert natürlich

          $_SERVER["REQUEST_URI"] -> /index.php?blah=suelz&fuenf=1

          gruss,
          wahsaga

      2. Hallo

        Warum eigentlich? register_globals ist bei den meisten confixx-servern aus kompatibilitätsgründen sowieso aktiviert - und solange man nicht total dumm programiert sehe ich da auch kein sicherheitsproblem...!?

        Bei register_globals:on kann die Variable, die du per GET erwartest,
        von bösen Menschen[tm] auch per POST oder auf anderen Wegen untergejubelt
        werden. Mit dem globalen Array $_GET kannst du dir wenigstens sicher sein,
        daß der Wert auf dem von dir vorgesehenen Weg (get) an das Skript übergeben wurde.

        http://www.php.net/manual/de/security.registerglobals.php

        Ob der Wert zulässig ist, mußt du sowieso prüfen, das ist klar.

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)