找出在php中的表单中选择了哪些复选框

时间:2009-08-16 22:12:06

标签: php html checkbox

我有一个包含多个复选框的表单。当我将它提交到另一个php页面时,我想知道:如何在不调用每个复选框名称的isset的情况下判断哪些被检查? (如果有办法)。如果我给每个复选框指定相同的名称,则只返回最后选中的复选框。

谢谢,
迈克尔

2 个答案:

答案 0 :(得分:5)

PHP的怪癖要求表单控件以字符[]结束其名称,以便识别其中的多个。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
   <title>Demo</title>

<form action="cb.php">
<div>
    <input type="checkbox" name="animals[]" value="dog" id="dog"> 
    <label for="dog">dog</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="cat" id="cat"> 
    <label for="cat">cat</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="rabbit" id="rabbit"> 
    <label for="rabbit">rabbit</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="hampster" id="hampster"> 
    <label for="hampster">hampster</label>
</div>
<div><input type="submit"></div>
</form>
<?php
if ($_GET['animals']) {
?>
<ul>
<?php
foreach ($_GET['animals'] as $animal) {
?>
<li><?php print htmlspecialchars($animal); ?></li>
<?php
}
?>
</ul>
<?php
}
?>

答案 1 :(得分:1)

对同一组中的所有复选框使用数组名称,例如名称= “mycheckboxes []”。 这样,您将获得一个包含PHP代码中所选复选框列表的数组

相关问题