Wie lange bleibt eine Session bestehen?
Dynamite
- php
Hallo zusammen,
dachte immer eine Session würde bestehen bleiben, bis ich den Browser schliesse bzw. bei Innaktivität (in der PHP Info wird mir das angezeigt session.gc_maxlifetime 1440)
Habe das Problem, das wir bei einem o-shop Zahlung per sofortueberweisung haben (Kundenwunsch).
Ich klicke also auf bezahlen, gehe die ganzen eingaben bei sofortueberweisung durch, und gelange dann wieder auf eine Erfolgseite in unserem o-shop. Allerdings ist die Session dort nicht mehr vorhanden.
Kann mir jemannd bei meinem Problem helfen???
gruß
Dynamite
Hi,
dachte immer eine Session würde bestehen bleiben, bis ich den Browser schliesse bzw. bei Innaktivität (in der PHP Info wird mir das angezeigt session.gc_maxlifetime 1440)
Falsch gedacht.
Der Cookie mit der Session-ID bleibt so lange bestehen, wie bei seiner Erstellung angegeben wurde (also im Normalfalle für die "Surf-Sitzung", also so lange der Nutzer seinen Browser offen lässt).
Und die gc_maxlifetime, auch das haben wir hier schon mehrfach diskutiert, ist entgegen ihres Namens eine *minimale* Lebensspanne - erst nach Ablauf dieser *darf* der GC die Sessiondatei entsorgen, was er aber natürlich auch nicht "sofort" tut, weil er zufallsgesteuert aufgerufen wird.
Ich klicke also auf bezahlen, gehe die ganzen eingaben bei sofortueberweisung durch, und gelange dann wieder auf eine Erfolgseite in unserem o-shop. Allerdings ist die Session dort nicht mehr vorhanden.
Wird die Session-ID denn in einem Cookie hinterlegt, oder evtl. nur per GET/POST übertragen?
MfG ChrisB
Wird die Session-ID denn in einem Cookie hinterlegt, oder evtl. nur per GET/POST übertragen?
Sie wird definitiv in einem Cookie gespeichert.
Gruß
Dynamite
Hello,
Ich klicke also auf bezahlen, gehe die ganzen eingaben bei sofortueberweisung durch, und gelange dann wieder auf eine Erfolgseite in unserem o-shop. Allerdings ist die Session dort nicht mehr vorhanden.
Wie hast Du denn festgestellt, dass die Session nicht mehr vorhanden ist?
Hast Du das vernünftig untersucht oder nur den Eindruck gewonnen?
Browser auf redselig stellen, sodass er jeden Cookie-Setz-Versuch vorher anzeigt
Sessionnummer notieren und auf dem Serverim Sessionverzeichnis schauen, wann die Sessiondatei dort erscheint und wann sie verschwindet.
In der Bestätigungsseite die Ausgabe der Cookies zum Debuggen einbauen.
Dass Du die Session in jedem Script neu verbinden musst, ist Dir hoffentlich klar?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Dass Du die Session in jedem Script neu verbinden musst, ist Dir hoffentlich klar?
Nee, war es mir bis gerade nicht(also eigentlich schon, aber im Eifer des Gefechts vergessen)
Läuft jetzt einwandfrei, danke für den Denkanstoss
gruß
Dynamite