Session Probleme im IE7 (window.opener())

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

  • Session Probleme im IE7 (window.opener())

    Hallo Gemeinde,

    ich habe hier eine mittelschwere Kriese und weiß nicht mehr weiter.

    Ich habe eine Anwendung programmiert in der bei im IE7 immer wieder die Session verloren gehen und vom IE7 eine neue vergeben wird, ohne dass ich einen Befehl dafür gegeben habe.

    Folgendes Szenario:

    Alle Variablen sind in Sessions gespeichert.

    Auf Seite XXX habe ich einen Link der per Javascript ein Popup öffnet.

    Code:
    <A href="#" class="top_link" onClick="MM_openBrWindow('login.php?X=1&Session_id=<?php echo $Session_id ; ?> ; ?>',
    'loginv1','scrollbars=yes,resizable=yes,width=270,height=250')"></A>
    Dort wird ein Login Script ausgewertet, welches nach erfolgreicher Anmeldung einerseits das Fenster selbstständig schließt und gleichzeitig eine Weiterleitung durch ein <Body> Onload zur vorherigen Seite macht.


    Code:
    <BODY onLoad="window.opener.location.href='<?php echo $Umleitungsziel ?>?
    Session_id=<?php echo $Session_id ?>';self.close();">

    Mein großes Problem, im Firefox und auch IE6 funktioniert es alles einwandfrei, da werden die Daten alle ordentlich übergeben.

    Beim Aufruf mit dem IE7 leitet er zwar ebenfalls wieder zurück auf die ursprüngliche Seite, jedoch vergibt er hier eine neue Session ID und damit sind verständlicherweise alle gespeicherten Daten weg.

    Ich weiß nun nicht mehr weiter und auch eine Suche im Netz hat nicht geholfen.

    Alles läuft auf PHP und die "register_globals" sind aus. Bisher funktionierte immer alles super, nur seit dem IE7 geht diese Art der Umleitung nicht mehr.

    Meine Frage ist nun vor allem, WARUM ERZEUGT DER IE7 EINE NEUE SESSION???

    Hier mal die Session-ID vor der Umleitung auf die vorherige Seite:
    Vorne meine Session-ID die ich über eine $_POST Variable mit gebe und hinten die Serverseitig erzeugt Session ID.

    Code:
    Session_id=2a640140d69283b42ca62d6065594173&[COLOR=darkred][B] PHPSESSID=2a640140d69283b42ca62d6065594173[/B] [/COLOR]
    Und hier die Session-ID auf der Seite zu der hingeleitet wurde.

    Code:
    Session_id=2a640140d69283b42ca62d6065594173&[COLOR=darkred][B] PHPSESSID=62a6f1614e1d5c927e7481428778b3cf[/B] [/COLOR]
    Kann mir da jemand einen Tipp geben?


    Vielen Dank.
    Keules
    Zuletzt geändert von Keules; 20.04.2008, 23:35.
    Zitat : " Wenn wir Männer so wären wie Frauen uns immer haben wollen, dann hätten sie keinerlei Interesse mehr an uns! " --- ich, 22.10.2001

  • #2
    Code umbrechen!
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Jau. Bitte Code umbrechen.

      Welcher Teil in deinem Code sorgt dafür, daß das Skript gezwungen wird, den GET-Parameter "Session_jd" (Großschreibung beachten!) als Session-ID zu übernehmen und die Session mit dieser ID fortzusetzen?

      Kommentar


      • #4
        Hallo,

        Die Session-ID hole ich mir "normalerweise" mit

        PHP-Code:
        $Session_id $_SESSION['Session_id']; 
        und dann holt er sich auch alle zugehörigen Variablen die bis dato festgelegt wurden und in eine Sessionvariable gespeichert wurden.

        Um das jetzt zu testen was schief läuft habe ich die Session-ID mit

        PHP-Code:
        $Session_id $_GET['Session_id']; 
        abgerufen.

        Allerdings bringt mir das in meinem Programm nix, da er die Session quasi "wegschmeißt" und einfach eine neue Session aufmacht.

        Mit ist das auch aufgefallen bei dem Versuch das mit dem PHP Befehl

        header('Location: ') zu lösen, da passiert bei IE7 genau das gleiche, als wenn er nicht zulassen will, dass eine Seite "mutwillig" eine Umleitung macht.

        Langsam bin ich am verzweifeld, da ja der FF und ältere IE Versionen das anstandslos machen.

        Danke
        Keules
        Zitat : " Wenn wir Männer so wären wie Frauen uns immer haben wollen, dann hätten sie keinerlei Interesse mehr an uns! " --- ich, 22.10.2001

        Kommentar


        • #5
          Denkfehler. Deine Session_id-Variable interessiert das Sessionmanagement null.

          Ich hab die Situation noch nie gehabt und bin deshalb nicht sicher ob dieser Tipp die Lösung ist, aber
          Session_id(), vor session_start() aufgerufen, sieht interessant aus.
          Ansonsten zu dem Thema Googeln. Du mußt das PHP-Interne Sessionmanagement dazu bringen, die n der GET-Variablen angegebene Session weiterzubetreiben.

          Kommentar


          • #6
            Danke, genau das wars

            Hallo!

            Genau das wars ...

            in einer Include Datei war ein dummer Fehler eingebaut:

            Dort habe ich nicht darauf bestanden, dass die Session ID aus $_GET oder $_POST übernommen wird, sondern nur aus $SESSION.

            Vielen Dank, manchmal hilft wirklich nur der Holzhammer

            [CLOSED weil Problem gelöst]
            Zitat : " Wenn wir Männer so wären wie Frauen uns immer haben wollen, dann hätten sie keinerlei Interesse mehr an uns! " --- ich, 22.10.2001

            Kommentar

            Lädt...
            X