Ik neem aan dat je telkens 1 product doorgeeft? Dus bijvoorbeeld is van add.php?p_id=1&Aantal=12..
FF kijken.. ik neem aan dat bovenin elke pagina session_start(); hebt staan?
Ikke ziet hem al..
PHP-code:
$winkelmandje = $_SESSION['winkelwagentje'];
// is belangrijk.. anders is steeds je winkelwagentje leeg
$p_id = $_GET['p_id'];
$Aantal = $_POST['Aantal'];
if(isset($winkelmandje[$p_id]))
$winkelmandje[$p_id] = $winkelmandje[$p_id] + $Aantal;
else
$winkelmandje[$p_id] = $Aantal;
$_SESSION['winkelwagentje'] = $winkelmandje; //huppa .. sessie weer volgooien met het winkelwagentje
en dan voor het uitlezen:
PHP-code:
foreach ($_SESSION['winkelwagentje'] as $prod_ID => $aantal) {
echo "Je hebt product $prod_ID wel $aantal keer besteld<br>\n";
}
Dat zou het moeten doen.. :)
---
Ik weet niet helemaal meer waar ik het gelezen had.. maar in ieder geval staat dit in de handleiding:
Citaat:
You can also create a session variable by simply setting the appropriate member of the $HTTP_SESSION_VARS or $_SESSION (PHP >= 4.1.0) array
If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, assign variable to $_SESSION. i.e. $_SESSION['var'] = 'ABC';
If you are using $HTTP_SESSION_VARS/$_SESSION and disable register_globals, do not use session_register(), session_is_registered() and session_unregister().
If you enable register_globals, session_unregister() should be used since session variables are registered as global variables when session data is deserialized. Disabling register_globals is recommended for both security and performance reason.
|
Als je een sessie maakt met behulp van session_register() is het een global en kan je hem niet zomaar aanpassen.. maar maak je hem met $_SESSION['blaat'] = "mekker"; dan is ie gweoon vrij aan te passen.. Dan kan je later best zeggen $_SESSION['blaat'] .= "nog een string er aan gvast..";
Het is dan ook niet aan te raden om nog session_geregister te gebruiken.. En al helemaal niet om ze door elkaar te gebruiken.. :eek:
|