Problem mit dem IE bzgl. Session und Javascript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit dem IE bzgl. Session und Javascript

    Hallo,

    Also ich habe ein kleines Problem mit dem IE und Javascript, im Zusammenhang einer PHP-Session.
    Ein login-script erschafft die Session. Diese funktioniert auch über den ganzen Web-Auftritt. Nur wenn ich mittels window.open()

    window.open("shipmenu.php?fleet="+Name,"","toolbar=no,location=no,directories=no,width=300,height=30 0");

    ein Fenster öffnen will, und es auch tue. Dann verliert das neue Fenster irgendwie die Session im IE. Im Firefox läuft es 1a. Ich kann im IE auf keines der Session-Objekte mehr zugreifen. Wenn ich die Seite aber über <a href> Aufrufe funktioniert sie hingegen einwandtfrei.

    Muss ich etwas beachten, wenn ich Seiten über Javascript öffne?

  • #2
    Re: Problem mit dem IE bzgl. Session und Javascript

    Original geschrieben von Jesseblue
    Muss ich etwas beachten, wenn ich Seiten über Javascript öffne?
    Schon einmal versucht die Session-ID zu übergeben?

    Kommentar


    • #3
      Mit session_id() die Session über GET versenden und dann durch session_start($_GET['session_id']); die Session wieder aufrufen. Habe ich gemacht, ohne Erfolg.

      Habe auch alle Sicherheitsrichtlinien des IE auf minimum heruntergefahren.

      Kommentar


      • #4
        Du öffnest mittels window.open ein Fenster, als ersten Parameter erwartet die Funktion eine URL, hast du mal versucht an diese URL die Session anzuhängen?

        session_start() erwartet ausserdem keine Parameter. Die Funktion ermittelt die aktuelle Session, wenn keine gefunden wird, legt sie eine an.

        Kommentar


        • #5
          Das meinte ich mit vorheriger Antwort. Ich habe die URL um die SessionID erweitert.

          Hab jetzt auch den Parameter aus session_start() entfernt, aber mit weiterhin keinem erfolg.

          Kommentar


          • #6
            Original geschrieben von Jesseblue
            Ich habe die URL um die SessionID erweitert.
            Sieht wie aus ...?

            (PHP-Code, und erzeugte Ausgabe.)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              1. Erzeuger
              PHP-Code:
              window.open("shipmenu.php?fleet="+Name+"&session_id=<?=session_id() ?>","");
              2. Empfänger

              PHP-Code:
              <? session_start(); ?>
              ...
              HTML-Grundstruktur
              ...
              <?
                  echo($_GET["session_id"]." -- ".$_SESSION["test"]);
              ?>
              Info: $_SESSION["test"] ist ein einfacher String.

              Ausgabe:
              "f92c923c3b036d41132e02b66bdaf0b2 -- "

              Kommentar


              • #8
                Original geschrieben von Jesseblue
                PHP-Code:
                window.open("shipmenu.php?fleet="+Name+"&session_id=<?=session_id() ?>","");
                Was genau da herauskommt, wollte ich eigentlich noch wissen ...

                Na gut, sowas in der Form wird's wohl sein:
                Code:
                window.open("shipmenu.php?fleet=xyz&session_id=f92c923c3b036d41132e02b66bdaf0b2","");
                Und jetzt vergleichst du das mal mit den anderen Links, wo PHP die Session-ID automatisch drangehangen hat ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ich habe gerade bemerkt, dass das Fenster eine neue Session anlegt.

                  Nach ein wenig goggle'n und Foren durchstöbern, fiel mir auf, dass es nicht
                  - session_start($_GET['session_id']);
                  sondern
                  - session_id($_GET['session_id']) gefolgt von session_start();
                  heissen sollte.

                  So klappt es nun auch. Verrücktes IE!

                  Kommentar


                  • #10
                    Original geschrieben von Jesseblue
                    So klappt es nun auch.
                    Warum einfach, wenn's auch kompliziert geht ...?

                    Wenn du die Session-ID unter dem richtigen Parameter-Namen übergeben hättest - dann hätte PHP sie bei session_start() auch selber erkannt, und du müsstest sie gar nicht erst selber aus $_GET herausfummeln ...
                    Verrücktes IE!
                    Nee, verrückter Jesseblue.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X