提交后获取几个复选框ID

时间:2014-02-25 16:20:34

标签: php forms post checkbox

我的代码类似于以下内容:

<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获取数字,以更新某个数组。

3 个答案:

答案 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。