我只是试图通过会话变量传递我的复选框值,以便在用户返回时使用。转到第一页和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表单复选框值的代码/解决方案。我的搜索并没有让我涵盖我需要的所有场景。
我的场景包括我传递一个默认的已检查或未检查的状态。
<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;