Hallo!
Kann mir Jemand bei dieser Aufgabe behilflich sein?
Zur Verwaltung eines Warenkorbs möchte ich die darin befindlichen Artikel in $_SESSION zwischenspeichern.
Die Zuweisung an $_SESSION funktioniert einwandrei,
jedoch das Wiederherstellen desObjectes aus der Session gelingt mir nicht.
Zur verdeutlichung:
Hier die Klasse:
Code:
class korb
{
var $artikel=array();
}
(wird noch erweitert )
und nun mein Testscript:
Code:
require_once($PATH_TO_CLASS."/basket.php");
@session_start();
$korb = new korb;
if(!isset($_SESSION['korb']))
{
$k = $korb->artikel;
$k[0]['ID']= 7000;
$k[0]['Anzahl']=12;
$k[0]['Preis']=10.50;
$k[1]['ID']= 7001;
$k[1]['Anzahl']=13;
$k[1]['Preis']=11.50;
}
else
{
$korb->artikel= $_SESSION['korb'];
$k=$korb->artikel;
}
$i=0;
foreach($k as $v)
{
foreach($v as $key => $value)
{
echo" $i $k[$i] $key => $value | ";
}
echo "
";
$i++;
}
Ausgabe erscheint :
alles Prima!
0 Array ID => 7000 | 0 Array Anzahl => 12 | 0 Array Preis => 10.5 |
1 Array ID => 7001 | 1 Array Anzahl => 13 | 1 Array Preis => 11.5 |
Nun die Zuweisung an SESSION
Code:
$_SESSION['korb']= $k;
wenn $_SESSION['korb'] noch nicht existiert, ist die Klasse
mit allen Werten gefüllt. Die Session wurde auch übertragen :
hier der Inhalt:
korb|a:2:{i:0;a:3:{s:2:"ID";i:7000;s:6:"Anzahl";i: 12;s:5:"Preis";d:10.5;}i:1;a:3:{s:2:"ID";i:7001;s: 6:"Anzahl";i:13;s:5:"Preis";d:11.5;}}
Jedoch die Zuweisung zurück in eine Objektvariable scheitert.
Ausgabe:
0 artikel => Object |
SESSION ist leer!
Weis Jemand warum, und was ich falsch mache?
Vielen Dank !
Viterbese