1

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

这是我的复选框的 html。我有大约 15 个与下面同名的复选框。我采用所有这些复选框并将它们分解为另一个脚本以插入数据库。

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

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

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

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

4

2 回答 2

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 >';           
    }        
于 2013-03-14T14:33:07.697 回答
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;
于 2019-08-07T10:02:07.137 回答