Hallo Leute.
Ich brauche eure HILFE!!
Ich habe ein verflixtes Problem mit Sessions und komme einfach nicht auf den Fehler
Ich bin gerade dabei einen super schlichten Warenkorb mit sessions aufzubauen.
Es gibt da die Session "Produkte". Hier sollen alle ausgewählten Produkte in der session als array gespeichert werden und später mittels einer foreach-schleife ausgelesen werden.
Und genau da liegt wohl das Problem.
Wie ich schon hier gelesen hatte muss man der Session wohl erstmal sagen, dass sie ein Array sein soll -> $_SESSION['produkte'] = array();
Und das wohl auch nur beim ersten Mal, da sonst die session wohl wieder geleert wird.
Also bei mir sieht das dann so aus:
Später lese ich diese Session dann so aus:
Also auf meinem Rechner (localhost) funktioniert das auch alles wunderbar eigendlich. Nur jetzt habe ich die ganze Geschichte mal auf dem Server (bei evanzo ) probiert und ich bekomme folgende Fehlermeldung: "Warning: Invalid argument supplied for foreach() in ... ", was ja soviel sagen sollte, als dass die foreach schleife kein Array zum durchlaufen hat, oder
Aber es ist doch ein Array! Hatte auch schon mal die foreach-schleife so gemacht:
Wenn ich es so mache, kommt keine Fehlermeldung, aber auch keine Ausgabe. Das Korriose an der Sasche ist, dass mir
die richtige Anzahl in dem Array zurückgibt.
Vielleicht seht Ihr ja den Fehler oder könnt mir einen Tipp geben, was ich versuchen könnte. Wäre echt nett.
Ich hoffe das war nicht etwas zu komplex erklärt...
PS: Bin neu hier, falls evtl. falsch gepostet bitte verschieben, danke. ;-)
Ich brauche eure HILFE!!
Ich habe ein verflixtes Problem mit Sessions und komme einfach nicht auf den Fehler
Ich bin gerade dabei einen super schlichten Warenkorb mit sessions aufzubauen.
Es gibt da die Session "Produkte". Hier sollen alle ausgewählten Produkte in der session als array gespeichert werden und später mittels einer foreach-schleife ausgelesen werden.
Und genau da liegt wohl das Problem.
Wie ich schon hier gelesen hatte muss man der Session wohl erstmal sagen, dass sie ein Array sein soll -> $_SESSION['produkte'] = array();
Und das wohl auch nur beim ersten Mal, da sonst die session wohl wieder geleert wird.
Also bei mir sieht das dann so aus:
PHP:
if($_SESSION["produkte"] == "" || $_SESSION["produkte"] == FALSE)
{
$_SESSION['produkte'] = array();
}
$_SESSION['produkte'][] = $artikel; // Sagen wir mal $artikel = 3
Später lese ich diese Session dann so aus:
PHP:
foreach($_SESSION['produkte'] as $prod) {
echo $prod;
}
Also auf meinem Rechner (localhost) funktioniert das auch alles wunderbar eigendlich. Nur jetzt habe ich die ganze Geschichte mal auf dem Server (bei evanzo ) probiert und ich bekomme folgende Fehlermeldung: "Warning: Invalid argument supplied for foreach() in ... ", was ja soviel sagen sollte, als dass die foreach schleife kein Array zum durchlaufen hat, oder
Aber es ist doch ein Array! Hatte auch schon mal die foreach-schleife so gemacht:
PHP:
foreach($_SESSION['produkte'][] as $prod) {
echo $prod;
}
Wenn ich es so mache, kommt keine Fehlermeldung, aber auch keine Ausgabe. Das Korriose an der Sasche ist, dass mir
PHP:
echo sizeof($_SESSION["produkte"]);
Vielleicht seht Ihr ja den Fehler oder könnt mir einen Tipp geben, was ich versuchen könnte. Wäre echt nett.
Ich hoffe das war nicht etwas zu komplex erklärt...
PS: Bin neu hier, falls evtl. falsch gepostet bitte verschieben, danke. ;-)