Verlust der Session bei Ajax Request

Hey,
ich bin dabei ein früheres Modul, welches für CE entwickelt wurde für EE kompatibel zu machen. Im Checkout gibt es einen Bereich, welcher einen Ajax request auslöst. Beim Aufruf des scripts wird eine neue Session erstellt. Problem hierbei ist, der User wird dadurch wieder ausgeloggt. Außerdem habe ich Daten wie die ShopID in der Session gespeichert(für interne Prozesse von Relevanz), welche mir daraufhin auch verloren gehen. Somit ist ein Abschluss des Checkouts nicht möglich.
Ich habe versucht die Session ID, welche vor dem Aufruf erzeugt wird durchzuschleifen und nach dem request wieder als Session ID zu setzen. Das hat so an sich auch funktioniert nur leider greift er hier die alte Session anhand der alten Session ID nicht wieder auf.
Auch am Anfang der Seite die vom Ajax requested wird, den Aufruf session_start() auszuführen um die Session wieder aufzugreifen hat nicht funktioniert. Hierbei wird immer versucht eine neue Session zu erzeugen was letztendlich zu der Meldung führt das bereits eine Session aktiv ist und der Befehl ignoriert wird.
Was zu dem ganzen noch zu sagen ist dieses Szenario tritt nur auf, wenn ich in der config.inc.php die Funktion $this->blForceSessionStart = true setze. Wenn diese auf false steht dann komme ich ohne Probleme durch den Checkout.

Hat jemand eine Idee wie ich die “verloren” gegangene Session wieder aufgreifen kann? Oder vielleicht einen anderen Lösungsansatz das mir die Daten nicht verloren gehen?

Vielen Dank schon mal allen die sich die Mühe machen und den Kopf darüber zerbrechen :slight_smile:

[QUOTE=ratepay_int;178366]Beim Aufruf des scripts wird eine neue Session erstellt. [/QUOTE]
Warum passiert das? Was für ein Script ist das?

[QUOTE=leofonic;178367]Warum passiert das? Was für ein Script ist das?[/QUOTE]

Hey entschuldige das habe ich nicht genau ausgeführt… Genau da liegt das Problem das ich nicht weiß warum die Session neu erzeugt wird. Habe schon mehrfach davon gelesen, dass das passieren kann und diese dann per session_start() wieder aufgegriffen werden kann. Das funktioniert bei mir aber leider nicht.

Im allgemeinen werden durch das Script Usereingaben aus dem Frontend entgegengenommen und per post Parameter an ein Script übergeben welches einen Ratenplan kalkuliert.

session_start() brauchst du immer auf dem Server um Sessions überhaupt zu verwenden, das macht Oxid, da musst du dich nicht drum kümmern. Eine Session ist aus Clientsicht nur ein Cookie. Wenn nicht gerade der Cookie gelöscht oder überschrieben wird, kann ein Ajax-Aufruf der Session eigentlich nichts anhaben.