$ _SESSION数组正在被覆盖

时间:2017-08-21 20:10:12

标签: php session checkbox

背景:
我有一个带有分页复选框 表单。我这样做是为了每次按下分页按钮,它们是下一个上一个 1 2 3 4 最后一页 - 他们都会从您所在的特定网页发布复选框值。
然后将POST值设置为SESSION。
以上所有工作正常!

问题:
让我说我在分页的第1页,我检查一个复选框和那个值,让我们说值为“111”,设置为POST和SESSION。然后我单击第2页,再选中一个值为“222”的复选框,然后单击第3页。

现在,当我点击第三个链接时,会话值被222覆盖!
我想要的是阵列为111,222。 我想保留第1页的前一个值,基本上只是继续添加到数组中,直到我完成,而不会被覆盖。

代码是:

    if(isset($_POST['bundleAdId'])) 
    $_SESSION['bundleAdId'] = $_POST['bundleAdId'];

据我所知,由于上面的代码,每当触发POST时,所有POST值都会一次又一次地输入到会话中。

但是我怎样才能添加到数组而不是OVERWRITING?

1 个答案:

答案 0 :(得分:2)

您需要将其设为如下数组: -

$_SESSION['bundleAdId'][] = $_POST['bundleAdId'];

但首先应用检查: -

if(!empty($_POST['bundleAdId'])){ 
    $_SESSION['bundleAdId'][] = $_POST['bundleAdId'];
}