Hendrik Hoffmann: wechselnde Session ID

Hallo PHP-Gemeinde,

ich habe folgendes Problem mit PHP Sessions. Ich entwickle einen derzeit OnlineShop bei dem ein Warenkorb mit Dateinamen der Session ID gespeichert wird. Dies funktioniert soweit auch richtig gut. Der Warenkorb wird in einem eigenen Frame angezeigt

Bei bestimmten, mir unbekannten Einstellungen, ändert sich allerdings die Session-ID bei jedem Aufruf.
Bestellt man z.B. ein zweites Produkt, ändert wird es normalerweise in die besagte Warenkorb-Datei gespeichert und der Warenkorb-Frame aktualisiert - dabei ändert sich schon die ID wieder ...

Das interessante ist, dass der gleiche Code (meiner) auf dem gleichen Rechner und den gleichen Einstellungen bei einer anderen Homepage läuft.

Können auf diesem Rechner einfach die Cookies deaktiviert sein?

Ich bitte um Hilfe!

mfg

Hendrik

  1. hi,

    ich habe folgendes Problem mit PHP Sessions. Ich entwickle einen derzeit OnlineShop bei dem ein Warenkorb mit Dateinamen der Session ID gespeichert wird.

    Wie meinen?
    Du speicherst selber Daten in irgendwelche Dateien? Wozu denn - das kann doch der Session-Mechanismus komplett für dich übernehmen - oder willst du die Daten über die Session-Laufzeit hinaus behalten.

    Bei bestimmten, mir unbekannten Einstellungen, ändert sich allerdings die Session-ID bei jedem Aufruf.

    Vielleicht dann, wenn der Browser keine Cookies akzeptiert?

    Überprüfe, ob die Übergabe der Session-ID geklappt hat (Kontrollausgabe).
    Überprüfe die Sessions betreffenden Einstellungen (phpinfo()).

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Bei bestimmten, mir unbekannten Einstellungen, ändert sich allerdings die Session-ID bei jedem Aufruf.

    Da musst Du ran, Problemisolierung hier das Stichwort. Wenn sich die SessionID ändert, welche Besonderheiten sind gegeben? Ändert die sich immer oder nur an bestimmten Rechnern, in bestimmten Browsern, bei bestimmter Nutzeraktion?
    Das ist so zu sagen eine der Grundvoraussetzungen für das Debuggen.

    Bestellt man z.B. ein zweites Produkt, ändert wird es normalerweise in die besagte Warenkorb-Datei gespeichert und der Warenkorb-Frame aktualisiert - dabei ändert sich schon die ID wieder ...

    Da wird wohl die SessionID nicht korrekt "geroundtrippt", fang den Punkt ab, wenn sich diese ändert, nutze Debug-Ausgaben.

    Das interessante ist, dass der gleiche Code (meiner) auf dem gleichen Rechner und den gleichen Einstellungen bei einer anderen Homepage läuft.

    Fehlerfrei? Der gleiche Code oder modifiziert? Wenns der gleiche ist, dann weisst Du doch: Ich habe ein Problem mit der PHP-Installation, oder?

    Können auf diesem Rechner einfach die Cookies deaktiviert sein?

    Da, wo es läuft? Moment, auf einigen Clients funzt es, auf anderen nicht und manchmal sind die Cookies aktiviert, manchmal nicht? LOL, das kann ursächlich sein, einfach serverseitig Cookies erzwingen oder Funktionalität abblocken bzw. die SessionID per GET übertragen.

    1. einfach serverseitig Cookies erzwingen oder Funktionalität abblocken

      Gemeint hier: Serverseitig prüfen, ob Cookies akzeptiert werden, davon abhängig eventuell eine Meldung hochkommen lassen, das Cookies erforderlich sind, da sonst der Shop nicht funzt (natürlich positiver formulieren! ;).