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