Hi!
Ich versuche gerade eine kleine Warenkorb-Klasse für meine Website zu verwirklichen. Dazu habe ich mir eine Klasse angelegt, welche als Warenkorb dienen sollte. Die Klasse hat unteranderen ein Array aus Produkten, welche der Benutzer ausgewählt, hat als Membervariable.
Jetzt möchte ich mit dieser Klasse ein Objekt erzeugen und dieses in einer $_SESSION variable speichern, damit der Benutzer Produkte hinzufügen, löschen oder ändern kann. Das Problem ist, dass das Objekt jedesmal neu angelegt wird, wenn der Benutzer durch die POST-Anweisung die Seite neu aufruft. Ich habe versucht, das so zu lösen:
PHP-Code:
session_start();
include ('_inc/classes/cart.class.php');
if(!is_object($_SESSION['cart']))
{
$_SESSION['cart'] = new cart();
echo "Called new object";
}
else
{
echo "Object already exsists";
}
Es wird immer ein neues Objekt erzeugt, damit gehen dann natürlich auch die bereits ausgewählten Produkte, welche im Objekt gespeichert sind verloren. Hab mal alternativ versucht, das ganze mit einer Variable zu machen um zu erkennen obs an der Klasse liegt, oder ich einen Denkfehler in der Session-Behandlung habe.
PHP-Code:
if(empty($_SESSION['test']))
{
$_SESSION['test'] = 'set';
echo $_SESSION['test'];
}
else
{
echo "Test is already set";
}
Das funktioniert und nur beim erstenmal wird $_SESSION['test'] gesetzt. Warum funktioniert das Ganze nicht mit einem Objekt? Oder hat sich da irgendwie ein Denkfehler bei mir eingeschlichen?
Danke schon mal für eure Tipps
lg