【发布时间】:2018-01-29 23:35:49
【问题描述】:
背景:
我有一个带有分页的复选框 表单。我已经使每次按下分页按钮时,无论它们是下一个、上一个、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 值都会一遍又一遍地输入到会话中。
但是我怎样才能只添加到数组而不是覆盖?
【问题讨论】:
-
试过类似:
$_SESSION['bundleAdId'][] = $_POST['bundleAdId'];?也许阅读arrays? -
您想在该会话中保存多个值吗?
-
我试过了,它奏效了。哇,我怎么没见过这个。关于覆盖会话/在分页中保持 POST 值,我连续两个晚上在整个互联网上搜索,您是第一个建议添加 [] 的人。太棒了,非常感谢!
-
@Swift123,这表明您对 php 数组并不完全满意。就在manual。
-
$_SESSION[]只不过是一个数组。阅读PHP arrays。