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


Storing checkbox values in session and then reselecting them through session

我只是试图通过会话变量传递我的复选框值,以便在用户返回时使用。转到第一页和POSTING之后,我希望将这些选择存储在SESSION变量中。到目前为止,我还没有弄清楚这个问题。我的代码如下:

这是我的复选框的html。我有大约15个与下面相同名称的复选框。我将所有这些复选框分解到另一个脚本中,以便插入到数据库中。

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

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

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

我如何将这些复选框选择传递到会话变量中,以选择上一页上的元素?

变化:

 <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 >';           
    }        

只是想分享我在会话中存储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;