Loginscript verliert bei IE session

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

  • Loginscript verliert bei IE session

    Hi Leute,

    ich hab bei euch mal nen bissl gesucht und hab auch einige Beiträge dazu gefunden - jedoch immer ohne Lösung.

    Folgender Ablauf:

    Ich habe eine Loginseite -> PHPSELF -> überprüft password und username -> wenn die kombination stimmt -> weiterleitung auf geschützte seite

    Problem:

    Der Internet Explorer (Vers.6.0) verliert regelmäßig die Session.
    D.h. er findet keine Sessiondaten mehr auf der geschützten Seite.
    somit funktioniert
    PHP-Code:
    If ($_SESSION["usrname"]) {....} 
    auch nicht mehr.

    Folgendes habe ich zum Thema gefunden:
    http://de2.php.net/manual/de/function.session-start.php

    SESSION LOST ON HEADER REDIRECT (CGI on IIS 5.0)

    I realize there are numerous scattered posts on this issue, but I would like to add my 2¢ since it took me a whole day and a download of the LiveHTTPHeaders Mozilla plugin to figure it out.

    On the **CGI** version of PHP on IIS 5.0/Windows 2000, the following code will not work as expected:

    /***** sess1.php *****/
    session_start();
    $_SESSION["key1"] = "testvalue";
    header("Location: sess2.php");

    /***** sess2.php *****/
    session_start();
    echo "key1 = '".$_SESSION["key1"]."'";

    PROBLEM:
    All session data is lost after a header redirect from the first page on which the session is initialized. The problem is, the PHPSESSID cookie is not being sent to the browser (ANY browser, IE or Mozilla) on the initial session page with the header("Location: ...") redirect. This is unrelated to client cookie settings - the set-cookie: header just isn't sent.

    SOLUTION:
    I was able to remedy the problem by switching to the ISAPI DLL version. This seems to be an MS/IIS bug, NOT a PHP bug - go figure. I hope this saves you some headaches especially with your user authentication scripts!!

    The closest matching "bug" report I found:
    http://bugs.php.net/bug.php?id=14636
    Wie lässt sich das lösen - denn (Solution^^) kann ich bei mir net machen ^^

    *edit : beim firefox funzt das alles ohne irgendwelche probleme - also so langsam bin ich am ende mit meinem latain (php)
    Zuletzt geändert von ; 23.01.2005, 16:34.

  • #2
    Re: Loginscript verliert bei IE session

    übergabe der SID in diesem falle manuell per GET ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich übergeb nichts per GET - hab am anfang jeder datei session_start() zu stehen. Normal muss das doch so funzen oder etwa nicht ?

      Komischerweise funktioniert es halt mit dem Firefox und in ganz seltenen Ausnahmesituationen mit dem IE. Wenn ich die session_id per GET übergebe, dann muss ich die doch jedesmal neu initalisieren wenn die session nicht mehr vorhanden ist oder ?

      also:
      PHP-Code:
      session_id($_GET["sid"]); 
      ??

      Kommentar


      • #4
        das ergibt doch keinen sinn.
        und bis dir selbst eine regelmäßigkeit auffällt, wirst du beim debuggen nur zu den göttern beten können. also - analysiere erstmal den fehler.

        Kommentar


        • #5
          okay - danke für dein wachrütteln - ich sollte wohl mal ne pause machen LOL - jetzt funzt es.

          Kommentar

          Lädt...
          X