【问题标题】:Remember each of the checkbox selections in a session记住会话中的每个复选框选择
【发布时间】:2013-11-01 04:31:28
【问题描述】:

我有一个由 3 部分组成的表单,我想将用户选择存储在会话中,因此如果他们需要返回并更改选择,他们可以。

表单由单选按钮和复选框组成。我让它为它们存储在会话中的单选按钮工作,所以它总是记住的。

我想不出如何处理复选框,因为它们存储在数组中。

这是我的表格:

所以当他们选择 jam 和 Flora 时,我得到一个这样的数组

Array ( [0] => Jam [1] => Flora )

这是我的复选框:

<input type="checkbox" name="<?php echo $course_menuname."extras[]"; ?>" <?php if($_SESSION[''.$course_menuname.''] == $extraitems) { echo "checked"; } ?> value="<?php echo $extraitems; ?>">

所以我需要一个会话来存储他们选择的每个值,然后如果他们选择了一个值,请勾选复选框。

希望这是有道理的。

谢谢

【问题讨论】:

  • $_SESSION[$course_menuname] 和 $extraitems 中有什么?
  • $_SESSION[$course_menuname] 有“breakfast_cereal”、“breakfast_toast”和“breakfast_toastextras”之类的课程,而$extraitems 中有每个附加内容,例如“jam”、“butter”和“植物区系”那条线是我用于单选按钮的,这只是一个例子,我不知道如何处理它来进行多项选择
  • in_array 正是我所需要的——谢谢!

标签: php html session checkbox


【解决方案1】:

我也遇到了同样的问题,以下解决方案对我来说效果很好,在使用前进行适当的更改,

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

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

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

并使用 foreach,所以我们知道在 $_SESSION['list'] 我们只检查了一个!

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 2014-02-04
    • 2011-07-28
    • 2016-07-11
    相关资源
    最近更新 更多