Hallo mensen,

Ik ben bezig met een script om de aantallen van een bestelling na een druk op een knop te updaten in de db en dan het formulier te herladen met de nieuwe gegevens .

De waarden die gewijzigd moeten worden heb ik in een sessie array gezet.
<? session_start();
//eerst de oude sessie array variabelen legen als ze bestaan
if(isset($_SESSION['besteldeproducten'])) {
unset($_SESSION['besteldeproducten']);
unset($_SESSION['product']);
unset($_SESSION['aantal']);
}
//sessie variabelen opnieuw zetten
$_SESSION['besteldeproducten'][]= $_POST;
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
?>

dit geeft mij als resultaat bij 3 bestelde producten:
<?
Array
(
[sessieID] => b76b2e48c4fd60b909db3be6fcbc4ec2
[besteldeproducten] => Array
(
[0] => Array
(
[aantal] => Array
(
[0] => 51
[1] => 64
[2] => 80
)
[produktnaam] => Array
(
[0] => Cabernet Sauvignon Chiraz
[1] => Merlot
[2] => River Red
)
[Submit] => Werk aantallen bij
)
)
)
?>

De actie van het formulier is server php_self.
onderin de pagina heb ik dan:
<?
if($_SERVER['REQUEST_METHOD']=='POST'){

mysql_connect($host, $user, $password) or die('Kon geen contact maken met de database.');
mysql_select_db($DBname) or die(mysql_error());

if(isset($_POST["Submit"])=="Werk aantallen bij") {

foreach($_SESSION['besteldeproducten'] as $id => $produkt) {
echo $produkt['produktnaam'];
echo $produkt['aantal'];
}
?>

Maar dan krijg ik alleen 1x Array geprint.

Kunnen jullie mij verder helpen?
Is toch ook normaal
<?
Array
(
[sessieID] => b76b2e48c4fd60b909db3be6fcbc4ec2
[besteldeproducten] => Array
(
[0] => Array
(
[aantal] => Array
(
[0] => 51
[1] => 64
[2] => 80
)
[produktnaam] => Array
(
[0] => Cabernet Sauvignon Chiraz
[1] => Merlot
[2] => River Red
)
[Submit] => Werk aantallen bij
)
)
)
?>
Je hebt maar 1 index (nl. 0) in 'besteldeproducten' dus ook maar 1x foreach en maar 1x een id.

Reageren