页面在重新加载

时间:2018-04-10 15:46:32

标签: php

我正在一个网站上工作,允许用户通过此按钮将产品添加到购物车

    <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']。

1 个答案:

答案 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][]代替。