页面在重新加载时刷新php变量
我在一个网站上工作,用户可以通过这个按钮将产品添加到购物车中页面在重新加载时刷新php变量,php,Php,我在一个网站上工作,用户可以通过这个按钮将产品添加到购物车中 <button name="add_to_cart" >Add to cart</button> “p_val”最初等于0(p_val存储在function.php选项卡中) 包含在index.php中) $p_det等于“产品详细信息” 当我按下按钮时,会话变量被更新,值p_val递增,但在我尝试在$_会话中添加另一个值后,[$p_det][p_val]被新的单击按钮覆盖,我不希望它被过度写入,而
<button name="add_to_cart" >Add to cart</button>
“p_val”最初等于0(p_val存储在function.php选项卡中)
包含在index.php中)
$p_det等于“产品详细信息”
当我按下按钮时,会话变量被更新,值p_val递增,但在我尝试在$_会话中添加另一个值后,[$p_det][p_val]被新的单击按钮覆盖,我不希望它被过度写入,而是应该将其添加为购物车的第二个变量(我已经尝试了关键字static),根据我的观察,当页面在按钮上重新加载时,单击它会将$\u session['p\u val']变量刷新回0,我已经尝试使用基本php变量代替$\u session['p\u val'])。为了补充上述答案中的答案,您也可以这样做: 在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'];
}
但是,如果你没有在其他地方使用
$\u SESSION['p\u val']
,最好按照上面的答案使用$\u SESSION[$p\u det][]
。$\u SESSION[$p\u det][=$\u POST['add\u to\u cart']
?我认为您的问题在于,您在函数.php中将p_val
设置为零,正如您所提到的,当您重新加载页面时,会重新加载该函数。您可以检查它是否在我相信的函数中设置,如果没有设置,则将其设置为0。
if(isset($_POST['add_to_cart']))
{
$_SESSION[$p_det][$_SESSION['p_val']++] = $_POST['add_to_cart'];
}