我正在使用$_SESSION
制作购物车,我的问题是数组中的第一个数据被新的覆盖了,你可以帮我解决这个问题吗?
这是我的代码:
session_start();
$_SESSION['cart']= array();
if(isset($_POST['addtocart'])){
$newproduct= array(
'code' => $_SESSION['code'],
'color' => $_POST['color'],
'size' =>$_POST['size'],
'quantity' => 1);
$_SESSION['cart'][]= $newproduct;
}
检索值:
session_start();
foreach ( $_SESSION['cart'] AS $item )
{
echo 'code: ' . $item['code'] . '<br />';
echo 'color: ' . $item['color'];
}
答案 0 :(得分:1)
您重新购买购物车会话变量eah time
$_SESSION['cart']= array();
也许你应该尝试:
if( !isset( $_SESSION['cart'] ) ) $_SESSION['cart']= array();
即:
<?php
session_start();
if( !isset( $_SESSION['cart'] ) ) $_SESSION['cart']= array();
if( isset( $_POST['addtocart'], $_POST['color'],$_POST['size'],$_SESSION['code'] ) ){
$newproduct=array(
'code' => $_SESSION['code'],
'color' => $_POST['color'],
'size' => $_POST['size'],
'quantity' => 1
);
$_SESSION['cart'][]= $newproduct;
}
?>