Problem mit IE 7 - Session

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

  • Problem mit IE 7 - Session

    Hallo Zusammen,

    also ich hab folgendes Problem.
    Ich habe ein Script welches ich mit Hilfe von
    PHP-Code:
    <?
    $Siding = $_GET["Seite"];

    if ($Siding == "")
    {
    in 4 Teile unterscheidet.
    Ganz am Anfang des Scripts steht:
    PHP-Code:
     <?php
    session_start
    ();
    ?>
    danach einige HTML anweisungen. Im zweiten Teil des Skriptes schreibe ich in die Session:
    PHP-Code:
       $_SESSION['firstName'] = $_POST["firstName"];
       
    $_SESSION['lastName'] = $_POST["lastName"];
       
    $_SESSION['living'] = $_POST["living"];
       
    $_SESSION['yearOfBirth'] = $_POST["yearOfBirth"];
       
    $_SESSION['phone'] = $_POST["phone"];
       
    $_SESSION['HP'] = $_POST["HP"];
       
    $_SESSION['remarkes'] = $_POST["remarkes"];
       
    $_SESSION['mail'] = $_POST["mail"];
       
    $_SESSION['passwd'] = $_POST["passwd"];
       
    $_SESSION['ident'] = $_POST["nummer"]; 
    Wenn ich mir danach eine der Session Variablen ausgebe, dannn steht das auch drinne was ich ihm übergeben habe.
    Das Problem ist, dass er auf der dritten und vierten Seite die Session Variablen nicht mehr hat.
    Aber das Problem habe ich nur mit dem IE7!
    Ich habe das selbe Skript im IE6, FF1.5, FF2.0 und Opera 6 probiert und da läuft es einwandfrei. Die Session kommen da bis zum Ende durch, so dass ich die Daten dann weiterverwenden kann.

    Desweiteren kann ich das Script ohne die Framesets aufrufen, dann funktionieren die Sessions bis zum Ende.
    Rufe ich das Script ohne die Framesets auf, gehe es durch im IE7 und öffne dann im IE7 einen neuen Tab und öffne das Script mit den Framesets dann kann er da die Session auch bis zum Ende halten. Aber sobald ich die Seite zumache (beide Registerkarten) und wieder die Seite mit dem Framesets alleine aufrufe und das Script ausführe, dann kann er die Session nicht mehr halten.

    Ich hab daraufhin schon nach Frameset und Session gegoogelt und auch session_start(); schon in das Hauptframe reingeschrieben, aber das ändert leider mein Problem nicht.

    Wie gesagt es geht in allen Browsern einwandfrei nur im IE7 nicht?!?!

    Hat einer von euch eine Idee ?

    LG Anja

  • #2
    Und du hast natürlich testweise auf allen Seiten mal die Session id ausgeben lassen um zu checken, an welcher stelle genau die id und somit die session verloren geht?

    Kommentar


    • #3
      klar ;-) sonst wüsste ich ja nicht auf welcher seite er es verliert *gg*
      auf der ersten seite ($siding == 0)
      ist nur html code.
      auf der zweiten seite schreib ich es in die session rein was ich von der html seite per $_POST übergeben bekomme und wenn ich es mir da ausgeben lasse, unter der übergabe, dann hat er es auch.

      aber auf der dritten Seite (nur im IE 7) da verliert er die Session, da bei der ausgabe die session variablen leer sind und auf der vierten seite ist das auch so. deswegen sage ich ja, dass er es auf der dritten seite nicht mehr hat ;-)

      eine idee woran das liegen könnte ?

      Kommentar


      • #4
        und wie übergibst du die session id von seite zwei auf drei??

        Kommentar


        • #5
          das mache ich mit
          action=\"Seite2.php?Seite=2' . SID . '\">

          Kommentar


          • #6
            und wie sieht das im klartext aus? da fehlt nicht zufällig ein "&"??

            Kommentar


            • #7
              ja stimmt da fehlte ein &.
              aber komischerweise bekomme ich im ff2.0 keine id ausgegeben, während er im IE7 ständig die ID wechselt.

              seite 1: SESSION ID: PHPSESSID=7562ba5e45d675150e66e8d8290a73cd

              seite 2: SESSION ID: PHPSESSID=834004f84f34f8e03def945bf19dc5bf

              seite 3: SESSION ID: PHPSESSID=25028f0d52dd659bb38b999f8937d832

              Kommentar


              • #8
                Original geschrieben von Anuschka
                aber komischerweise bekomme ich im ff2.0 keine id ausgegeben, während er im IE7 ständig die ID wechselt.
                SID ist leer, wenn die session mit einem cookie übertragen wurde.
                folglich gehe ich von unterschiedlichen cookieeinstellungen aus.

                ff bekommt die session per cookie, daher keine ausgabe
                ie7 akzeptiert keine cookies und bekommt aufgrund des fehlenden & die session auch nicht per get, folglich wird jedesmal eine neue session erstellt.

                Kommentar


                • #9
                  und wie kann ich dann das ganze handhaben um es auch im ie7 lauffähig zu bekommen?

                  Kommentar


                  • #10
                    Original geschrieben von Anuschka
                    und wie kann ich dann das ganze handhaben um es auch im ie7 lauffähig zu bekommen?
                    sollte eigentlich laufen, wenn du das "&" im link hinzugefügt hast - wie sieht denn jetzt der link mit der session-id aus (adress-leiste)?

                    ansonsten kann ich mir vorstellen, dass session.use_only_cookies in der php.ini aktiviert ist, dann musst du (im ie7) cookies aktivieren.

                    Kommentar


                    • #11
                      da das ganze ja auch von anderen anwendern genutzt werden soll, reicht es nicht wenn ich es nur bei mir mache ;-) sonst müsst ich nen tutorial schreiben damit wenn jemand die seite benutzt dass er das vorher aktiviert und das wäre dann doch sehr benutzerunfreundlich.

                      hab es jetzt mit dem anhängen gelöst.
                      PHP-Code:
                      <form method="post" action="Seite2.php?Seite=1&sid=<? echo SID; ?>">
                      und dann frag ich auf jeder "Unterseite" ab
                      PHP-Code:
                        if (isset($_sid))
                        {
                      $sid $_GET['sid'];} 
                      ist zwar sehr unschön, aber so läuft es zumindestens einwandfrei

                      Kommentar


                      • #12
                        Original geschrieben von Anuschka

                        <form method="post" action="Seite2.php?Seite=1&sid=<? echo SID; ?>">
                        ...
                        if (isset($_sid))
                        {$sid = $_GET['sid'];}
                        ist zwar sehr unschön, aber so läuft es zumindestens einwandfrei
                        keine ahnung, was dein code bezwecken soll - du?
                        naja, hauptsache läuft, was ich bezweifle

                        Kommentar


                        • #13
                          laufen tut es. ich übergebe ihm die sid mit form auf die nächste seite und überschreibe die neue sid mit der alten.

                          Kommentar


                          • #14
                            vielleicht solltest du dir aber auch einfach noch mal das Handbuch zum Thema durchlesen...

                            Kommentar

                            Lädt...
                            X