0

可能重复:
从多个复选框中获取 $_POST

我对网络开发有点陌生,这是一个问题(完全难倒我)我觉得有一个简单的解决方案,所以我不会绕着灌木丛试图自己弄清楚。我还将关注最重要的部分。

我有一些 PHP 代码在每行旁边输出一个表格、一个表单和一个复选框。每个复选框如下所示:

<input type="checkbox" name="data_id" value="1">
<input type="checkbox" name="data_id" value="2">
<input type="checkbox" name="data_id" value="3">

以及提交按钮:

<input type='submit' name='Submit' value='Submit'/>

标准表格设置,没什么特别的。

我想在数组中获取选中的项目,但是当我使用 $_POST 从表单中检索数据时:

if($_POST['data_id'])
    {
        var_dump($_POST['data_id']); //returns string
        print_r($_POST['data_id']); //shows only one checkbox value
    };

变量没有返回数组,我到底做错了什么?

4

3 回答 3

1

PHP 的表单到数组语法要求[]在元素名称中:

<input type="checkbox" name="data_id[]" value="1">
                                    ^^
于 2012-10-12T14:14:31.037 回答
1

当 PHP 解析数据时,如果字段名称以or结尾(否则它会删除除一个值之外的所有值) ,$_POST/GET/REQUEST则仅将数据显示为数组。[][some_index]

重命名字段:

<input type="checkbox" name="data_id[]" value="1">
<input type="checkbox" name="data_id[]" value="2">
<input type="checkbox" name="data_id[]" value="3">

…或者获取原始的帖子数据并自己解析。(我不推荐后一种方法)。

于 2012-10-12T14:14:45.157 回答
0

尝试

<input type="checkbox" name="data_id[]" value="1">
<input type="checkbox" name="data_id[]" value="2">
<input type="checkbox" name="data_id[]" value="3">
于 2012-10-12T14:16:50.083 回答