我正在一个网站上工作,允许用户通过此按钮将产品添加到购物车
<button name="add_to_cart" >Add to cart</button>
单击该按钮时,会将产品添加到会话变量
中if(isset($_POST['add_to_cart']))
{
$_SESSION[$p_det][$_SESSION['p_val']] = $_POST['add_to_cart'];
$_SESSION['p_val']++;
}
'p_val'最初等于0(p_val存储在function.php选项卡中 包含在index.php)
$ p_det等于“product_details”
当我按下按钮时,会话变量被更新并且值p_val递增,但在我尝试在$ _session中添加另一个值[$ p_det] [p_val]被新单击按钮覆盖后,我不会我希望它被覆盖而不是它应该被添加为购物车的第二个变量(我已经尝试过关键字static),在我的观察中,当页面重新加载按钮时点击它会刷新$ _session ['p_val' ]变量回到0,我已经尝试了基本的php变量代替$ _session ['p_val']。
答案 0 :(得分:1)
为了补充上述答案中的答案,你也可以这样做:
在你的function.php中
if(!isset($_SESSION['p_val']))
{
$_SESSION['p_val'] = 0;
}
将您的其他代码更改为此代码,以便减少一行。这将在之后递增,因此您的第一个值将为0。
if(isset($_POST['add_to_cart']))
{
$_SESSION[$p_det][$_SESSION['p_val']++] = $_POST['add_to_cart'];
}
但是,如果你没有在其他地方使用$_SESSION['p_val']
,最好按照上面的答案使用$_SESSION[$p_det][]
代替。