如何使用GET在php中检索复选框选中的值

时间:2014-06-04 06:34:15

标签: php checkbox

我正在使用Mysql PDO查询来获取所需的结果,并将其保存在数组$ newfamily中。现在在这个数组的帮助下,我正在实现带有给定代码的复选框 -

<form method="get" action="specific_family.php">
  <?php
    foreach($newfamily as $name)
            {
  ?>
        <input type='checkbox'<?php echo $name;?>"><?php echo $name;?></input>
 <?php
            } 
 ?>
 </select> <input type = "submit" name="submit" >
 </form>

现在在 specific_family.php 中如何检索数组中所选的复选框值? 此外,当我使用浏览器的后退按钮时,我可以看到之前选择的值已勾选。我该如何删除?

请指导。

2 个答案:

答案 0 :(得分:3)

复选框应该有:

  • 标签

复选框需要:

  • 名称属性
  • 值属性

一定不能:

  • 结束标记(除非您使用的是XHTML)

所以:

<label>
<input type="checkbox"
      name="new_families[]"
      value="<?php echo htmlspecialchars($name); ?>">
<?php echo htmlspecialchars($name); ?>
</label>

提交表单后,所有选中复选框的值将显示在数组$_GET['new_families']中。

答案 1 :(得分:0)

如果您将name属性添加到输入中:

 <form method="get" action="specific_family.php">
  <?php
    foreach($newfamily as $name)
            {
  ?>
                <label for="<?php echo $name?>"><?php echo $name?></label>
                <input type='checkbox' name="<?php echo $name;?>" id="<?php echo $name;?>"></input>
 <?php
            } 
 ?>
 </select> <input type = "submit" name="submit" >
 </form>

然后您的复选框将按名称显示在$ _GET数组中。

希望有所帮助:)