我的代码类似于以下内容:
<input type="checkbox" name="visitProperty" value="1" id="visit-0">
<input type="checkbox" name="visitProperty" value="1" id="visit-1">
<input type="checkbox" name="visitProperty" value="1" id="visit-2">
...
提交表单后,我想查看复选框,到目前为止我一直在使用
if (isset($_POST['visitProperty']) {..}
但据我了解,只有一个复选框?我需要检查所有这些并查看它们是否被检查,所以在if语句中我可以创建一个循环,获取所有提交的复选框的id,然后从id获取数字,以更新某个数组。
答案 0 :(得分:0)
<input type="checkbox" name="visitProperty[]" value="1" id="visit-0">
<input type="checkbox" name="visitProperty[]" value="2" id="visit-1">
<input type="checkbox" name="visitProperty[]" value="3" id="visit-2">
<?php
foreach($_POST['visitProperty'] as $check) {
echo $check . "<br>"; // for example
}
?>
注意: $_POST['visitProperty']
将保留已检查的checkbox
值。您将按照checkboxs
$_POST['visitProperty'][]
数组
答案 1 :(得分:0)
当您输入名称时,您将声明一个变量。您需要将其声明为数组,否则每个复选框都会突出显示最后一个数组。在名称中添加一些空方括号。
答案 2 :(得分:0)
您需要或定义ID 或一个唯一值,否则您将无法在服务器端识别它们(ID不会被发送到$_POST
)。
因此,如果是唯一的,可识别的ID,您可以执行以下操作:
<input type="checkbox" name="visitProperty[<?php // echo some unique id from a database for example ?>]" value="1" id="visit-0">
您需要ID可识别的原因是未经检查的复选框不会被发送到服务器,因此如果visitProperty
是一个数组,您最终可能会得到一个2的数组,但您不会知道哪2。