Christopher: Mit xmlHttpRequest aktuelle PHP Session beeinflussen

Jeder weiss: Javascript Code lässt sich leicht sinnvoll mit PHP generieren. Jetzt habe ich eine Anwendung, wo ich Javascript gut gebrauchen könnte, damit es meine PHP-Session beeinflusst!

Ich habe eine Art Kalenderplanung programmiert. Die Navigation läuft ganz clientseitig mit JS ab. Die entsprechenden Tage werden vom Server mit einem xmlHttpRequest aufgefüllt (AJAX).

Über Javascript mit einem weiteren xmlHttpRequest würde ich jetzt PHP gerne die aktuelle Position in der Navigation mitteilen. Schließlich wäre es ja super, wenn der User - sofern er die Kalendernavigation verlässt - diese auf derselben Position wiederfindet! Klingt irgendwie nach Cookie.

Aber wie wirke ich sozusagen "rückwärts" mit Javascript auf PHP aus?

Danke f. Antworten!

  1. Hallo,

    Aber wie wirke ich sozusagen "rückwärts" mit Javascript auf PHP aus?

    Du rufst mit XMLHttpRequest eine Adresse ab, in deren GET-Parametern die Position steht.

    Z.B.
    kalenderposition-speichern.php?position=8-2008

    Diesen URI-String baust du im JavaScript dynamisch zusammen, »8« und »2008« sind Beispiele für die JavaScript-Werte.

    Das PHP-Script empfängt diese Parameter und arbeitet mit $_GET['position'] weiter.

    (Könntest natürlich auch mit den Parametern jahr und monat arbeiten, wie es dir beliebt.)

    Mathias

    1. Du rufst mit XMLHttpRequest eine Adresse ab, in deren GET-Parametern die Position steht.

      Das PHP-Script empfängt diese Parameter und arbeitet mit $_GET['position'] weiter.

      Starte ich in diesem PHP Script dann meine Session und überschreibe die alten Werte?
      D.h., ist die Session trotz xmlHttpRequest diesselbe?

      Wäre ja cool!

      1. Hallo,

        Starte ich in diesem PHP Script dann meine Session und überschreibe die alten Werte?
        D.h., ist die Session trotz xmlHttpRequest diesselbe?

        Wenn du Sessions mit Cookies gelöst hast, dann wird der Cookie beim XMLHttpRequest automatisch mitgeschickt und du hast in dem Script Zugriff auf die existierende Session.

        Wenn du mit Session-IDs arbeitest, musst du die natürlich in einem weiteren GET-Parameter mit übertragen.

        Mathias

        1. Vielen Dank!

          Werde diese Lösung also gleich ausprobieren!

        2. Moin!

          Starte ich in diesem PHP Script dann meine Session und überschreibe die alten Werte?
          D.h., ist die Session trotz xmlHttpRequest diesselbe?

          Wenn du Sessions mit Cookies gelöst hast, dann wird der Cookie beim XMLHttpRequest automatisch mitgeschickt und du hast in dem Script Zugriff auf die existierende Session.

          Wenn du mit Session-IDs arbeitest, musst du die natürlich in einem weiteren GET-Parameter mit übertragen.

          Ich frage mich ja, wie man Session ohne Session-IDs hinkriegt.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."
          1. Hallo,

            Wenn du mit Session-IDs arbeitest, musst du die natürlich in einem weiteren GET-Parameter mit übertragen.

            Ich frage mich ja, wie man Session ohne Session-IDs hinkriegt.

            Hehe, stimmt, das habe ich dumm formuliert. Ich meinte eher Session-IDs im Query-String der URI.

            Mathias