如何处理PHP表单中的多个复选框?

时间:2011-07-30 04:16:39

标签: php html

我的表单上有多个复选框:

<input type="checkbox" name="animal" value="Cat" />
<input type="checkbox" name="animal" value="Dog" />
<input type="checkbox" name="animal" value="Bear" />

如果我检查所有三个并点击提交,请在PHP脚本中使用以下代码:

if(isset($_POST['submit']) {
   echo $_POST['animal'];
}

我得到“熊”,即最后选择的复选框值,即使我选了全部三个。如何获得所有3?

3 个答案:

答案 0 :(得分:22)

请参阅我在名称中所做的更改:

<input type="checkbox" name="animal[]" value="Cat" />
<input type="checkbox" name="animal[]" value="Dog" />
<input type="checkbox" name="animal[]" value="Bear" />

你必须将它设置为数组。

print_r($_POST['animal']);

答案 1 :(得分:19)

<input type="checkbox" name="animal[]" value="Cat" />
<input type="checkbox" name="animal[]" value="Dog" />
<input type="checkbox" name="animal[]" value="Bear" />

如果我检查所有三个并点击提交,请在PHP脚本中使用以下代码:

if(isset($_POST['animal'])){
    foreach($_POST['animal'] as $animal){
        echo $animal;
    }
}

答案 2 :(得分:4)

在字段名称

后面使用方括号
<input type="checkbox" name="animal[]" value="Cat" />
<input type="checkbox" name="animal[]" value="Dog" />
<input type="checkbox" name="animal[]" value="Bear" />

在PHP方面,你可以像对待任何其他数组一样对待它。