Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php can';提交表单后,无法读取复选框数组的值_Php_Html_Forms_Checkbox_Form Submit - Fatal编程技术网

Php can';提交表单后,无法读取复选框数组的值

Php can';提交表单后,无法读取复选框数组的值,php,html,forms,checkbox,form-submit,Php,Html,Forms,Checkbox,Form Submit,我不知道我在这里错过了什么,但我尝试制作一个包含checbox的非常简单的表单,下面是html: (...) <input type="checkbox" name="test[]" value="js"> Javascript <br> <input type="checkbox" name="test[]" value="php"> PHP <br> <input type="checkbox" name="te

我不知道我在这里错过了什么,但我尝试制作一个包含checbox的非常简单的表单,下面是html:

(...)
    <input type="checkbox" name="test[]" value="js"> Javascript <br>
    <input type="checkbox" name="test[]" value="php">  PHP <br>
    <input type="checkbox" name="test[]" value="sql">  SQL <br>
    <input type="checkbox" name="test[]" value="html">  HTML <br>
(...)
表单的其他输入显示良好,但我无法解析数组的内容,它只是一个名为“array”的示例字符串

如果我试着做一个

foreach ($it in $_POST['test']) {
   echo $it
}

关于如何使用php处理复选框,有一个很好的教程:

基本上,您的
$\u POST['test']
是一个数组,如果未选中复选框,则该数组为空。如果用户选择了
js
php
,这就像
[“js”,“php”]

如果要循环浏览所有选定的选项,可以执行以下操作:

foreach ($_POST as $key => $value) {
    if ($value && !$is_magic_quotes_gpc) {
        $_POST["$key"] = addslashes($value);
    }
}

我发现了,原因是我使用的是一个旧框架,它在激活或不激活magic_引号的情况下生成一个奇怪的语句,我激活了magic_引号,所以它转义了$_POST变量中包含的任何数组


我只是删除了这个片段,一切都正常了

看看我的代码,我正在打印($\u POST['test');我没有得到任何值,因为它不是数组,而是字符串!当然,我之前在提交表单之前选择了一些框,我真的不知道这里发生了什么…它正在打印“数组”,因为我认为数组是空的。。它与
var\u dump($\u POST[“test”])
string'Array'(length=5)有什么关系?我很困惑:/ahahaha,我认为这应该是我的开发环境中的东西,我删除了FireHP和Xdebug,但bug仍然存在……我不知道如何调试它
var_dump($_POST["test"]); //this is what I get: string 'Array' (length=5)
foreach ($it in $_POST['test']) {
   echo $it
}
foreach ($_POST as $key => $value) {
    if ($value && !$is_magic_quotes_gpc) {
        $_POST["$key"] = addslashes($value);
    }
}