Hallo,
Ich habe unseren Webshop, der auf PHPShop 0.6.1 basiert, auf einen neuen Webserver ziehen müssen, der jetzt PHP5-Standart hat. Seitdem habe ich ernsthafte Schwierigkeiten mit dem Warenkorb, der in $_SESSION zwischengespeichert wird. Auf der Seite, auf welcher der Artikel zum Warenkorb hinzugefügt wird, ist die globale Variable $cart bzw. $_SESSION["cart"] laut debug-Ausgabe korrekt befüllt.
Wenn ich die nächste Seite öffne und im Verlauf die Session-Daten wieder in u.a. die globale Variable $cart übertragen werden sollen, geht was schief. Ich habe nach session_start() eine identische Session ID, also das zumindest funktioniert. die Übertragung geschieht momentan so:
bzw ursprünglich
Später nach der Session-Initialisierung wird u.a. der Warenkorb überprüft:
Die echo-Zeile wird jedesmal angezeigt, was darauf hinweist, daß entweder die Variable aus der session nicht korrekt globalisiert wurde oder das $_SESSION nach dem Abschluß des vorigen Aufrufs nicht ordentlich gesichert wurde. Aber hier verlassen mich meine PHP-Künste, wo muß ich jetzt ansetzen?
Ciao!
SF
Ich habe unseren Webshop, der auf PHPShop 0.6.1 basiert, auf einen neuen Webserver ziehen müssen, der jetzt PHP5-Standart hat. Seitdem habe ich ernsthafte Schwierigkeiten mit dem Warenkorb, der in $_SESSION zwischengespeichert wird. Auf der Seite, auf welcher der Artikel zum Warenkorb hinzugefügt wird, ist die globale Variable $cart bzw. $_SESSION["cart"] laut debug-Ausgabe korrekt befüllt.
Wenn ich die nächste Seite öffne und im Verlauf die Session-Daten wieder in u.a. die globale Variable $cart übertragen werden sollen, geht was schief. Ich habe nach session_start() eine identische Session ID, also das zumindest funktioniert. die Übertragung geschieht momentan so:
Code:
foreach($_SESSION as $key=>$val) { $GLOBALS[$key] = $val; }
Code:
foreach($_SESSION as $key=>$val) { global $$key; $$key = $val; }
Code:
// Register the cart if (!isset($cart)) { echo "Cart initialisieren..."; $cart = array(); $cart["idx"] = 0; $sess->register("cart"); }
Ciao!
SF
Kommentar