Session veranderen.
Ik heb een probleem ik heb een array in een session gezet met 2 waarden,Nu wil ik de session weer op halen en de 2de waarde veranderen. Maar array([0]=>1[1]=>1) waarde 0 kan ik wel op halen maar waarde 1 niet.Waar kan het aan liggen in mijn script.
$_SESSION['cart'] begint als array van arrays ($product) en eindigt als een array van twee getallen. Ik snap er dus niets van.
Bovendien snap ik niet wat je bedoelt met:
if(isset($product[0]) == $product_id){
Ik kan me eigenlijk niet voorstellen dat dat goed is. Waarschijnlijk bedoel je:
if(isset($product[0]) && $product[0] == $product_id){
Wacht, ik denk dat ik het snap:
Je hebt een soort winkelwagentje en dat moet worden geupdate met nieuwe producten of nieuwe aantallen producten. Zoiets?
Misschien zou het trouwens ook handig zijn om van de $product-arrays, associatieve arrays te maken met een 'id' en een 'aantal'. De laatste regel wordt dan:
$_SESSION['cart'][] = array('id' => $product_id, 'aantal' => $aantal);
En dan kun je overal $product[0] door $product['id'] vervangen enzo. Wat probeer je nou te doen?
$_SESSION['cart'] begint als array van arrays ($product) en eindigt als een array van twee getallen. Ik snap er dus niets van.
Bovendien snap ik niet wat je bedoelt met:
if(isset($product[0]) == $product_id){
Ik kan me eigenlijk niet voorstellen dat dat goed is. Waarschijnlijk bedoel je:
if(isset($product[0]) && $product[0] == $product_id){
Wacht, ik denk dat ik het snap:
Je hebt een soort winkelwagentje en dat moet worden geupdate met nieuwe producten of nieuwe aantallen producten. Zoiets?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$product_existed = false;
// Let op de &
foreach($_SESSION['cart'] as &$product) {
if(isset($product[0]) && $product[0] == $product_id){
$product[1] += $aantal;
$product_existed = true;
}
}
// Als hte product nog niet in het winkelwagentje zat, wordt het er nu aan toegevoegd.
if (!$product_existed) {
$_SESSION['cart'][] = array($product_id,$aantal);
}
?>
$product_existed = false;
// Let op de &
foreach($_SESSION['cart'] as &$product) {
if(isset($product[0]) && $product[0] == $product_id){
$product[1] += $aantal;
$product_existed = true;
}
}
// Als hte product nog niet in het winkelwagentje zat, wordt het er nu aan toegevoegd.
if (!$product_existed) {
$_SESSION['cart'][] = array($product_id,$aantal);
}
?>
Misschien zou het trouwens ook handig zijn om van de $product-arrays, associatieve arrays te maken met een 'id' en een 'aantal'. De laatste regel wordt dan:
$_SESSION['cart'][] = array('id' => $product_id, 'aantal' => $aantal);
En dan kun je overal $product[0] door $product['id'] vervangen enzo.