Thread: Undefined index probleem SESSION
-
01-06-2010, 23:51 #1Approved 9liver
- Registered
- 29/10/03
- Location
- Izegem
- Posts
- 4,748
- iTrader
- 25 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 6/9
Undefined index probleem SESSION
Hallo
Ik heb dus een sessie aangemaakt voor een winkelmandje. Ik heb alles in die sessie gekregen die ik dan in een tabel wil zetten.
Bij een var_dump krijg ik dus alles te zien.
Maar nu komt het probleem:
Wanneer ik dus adhv het product id alles in de tabel wil zetten (op die manier:, krijg ik volgende error:PHP Code:if(isset($_GET['did']))
{
$_SESSION['winkelmandje'][$product_id]++;
}
De index: 2 is dus het id van het element waarop ik heb geklikt om toe te voegen aan winkelmandNotice: Undefined index: 2 in C:\wamp\www\LAMUSIQUE\includes\winkelmand\winkelma nd.php on line 36
Ik heb die session in een variabele gestoken en met een foreach in html overloop ik dus alle elementen van de zaken in de session.
Ik heb al eens opgezocht wat het probleem is en volgens mij is het iets met isset. Ik heb da ook al toegepast, maar kben niet zeker of ik het juist doe.
Iemand die weet hoe ik dit kan oplossen?
Bedankt!no votes
-
-
02-06-2010, 00:56 #2Dit wil zeggen dat je voor een array een key gebruitk die niet bestaat.Notice: Undefined index: 2 in C:\wamp\www\LAMUSIQUE\includes\winkelmand\winkelma nd.php on line 36
Regel 36 is dan waarschijnlijk:
Hier doe je: zoek in de multidimensionale session-array naar het element met hoofdkey 'winkelmand' en subkey $product_id en tel er 1 bij op. $product_id is waarschijnlijk 2 en dan geeft de notice aan dat de variabele $_SESSION['winkelmandje'][2] niet bestaat.PHP Code:$_SESSION['winkelmandje'][$product_id]++;
Om dat te vermijden moeten we dus eerst checken of de variabele waarmee we iets mee willen doen wel bestaat, dat gebeurt met isset().
of als je het liever korter houdt hetzelfde in 1 lijn:PHP Code:if(isset($_SESSION['winkelmandje'][$product_id]))
{
$_SESSION['winkelmandje'][$product_id]++;
}
else
{
$_SESSION['winkelmandje'][$product_id] = 1;
}
PHP Code:(isset($_SESSION['winkelmandje'][$product_id])) ? $_SESSION['winkelmandje'][$product_id]++ : $_SESSION['winkelmandje'][$product_id]=1;
no votes
-
02-06-2010, 11:04 #3Approved 9liver
- Registered
- 29/10/03
- Location
- Izegem
- Posts
- 4,748
- iTrader
- 25 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 6/9
Works like a charm!
Bedankt!no votes
