在会话中存储复选框值,然后通过会话重新选择它们

时间:2013-03-14 14:09:34

标签: php session checkbox

我只是试图通过会话变量传递我的复选框值,以供用户在某个时刻返回。转到我的第一页POSTING后,我希望这些选择存储在SESSION变量中。到目前为止,我没有运气这个问题。我的代码如下。

这是我的复选框的html。我有大约15个与以下名称相同的复选框。我拿了所有这些复选框并在另一个脚本中将它们分解以插入数据库。

<input type='checkbox' name='list[]' id='product' value='Product'></input>

这里我使用复选框的POST设置我的变量。

$checkboxes = $_POST['list'];
$_SESSION['list'] = $checkboxes;

如何将这些复选框选择传入和传出会话变量以选择上一页的元素?

2 个答案:

答案 0 :(得分:3)

变化:

 <input type='checkbox' name='list[]' id='product' value='Product'></input>

 <input type='checkbox' name='list[0]' id='product' value='Product'></input>
 <input type='checkbox' name='list[1]' id='product' value='Product'></input>
 etc.

并使用foreach:

好的。我们知道在$_SESSION['list']我们只检查了一些!

    foreach ($_SESSION['list'] as $key => $value)
    {

             echo '<input type="checkbox" name="list['$key']" value="'.$value.'" checked="checked >';           
    }        

答案 1 :(得分:0)

以为我分享了在会话中存储html表单复选框值的代码/解决方案。我的搜索无法让我涵盖所需的所有情况。
我的情况包括我将默认状态传递为选中或未选中。

HTML表单代码:

<input type="hidden" name="product[]" value = 0>
<input name="product[]" type="checkbox" value = 1 <?php echo (($productvalue == 1) ? 'checked' : '')?>>

PHP表单处理代码:

$productvalue = ((isset($_POST['product'])) ? array_sum((array)$_POST['product']) : ((isset($_SESSION['productsession'])) ? $_SESSION['productsession'] : 0));
$_SESSION['productsession'] = $productvalue;