Php can';提交表单后,无法读取复选框数组的值
我不知道我在这里错过了什么,但我尝试制作一个包含checbox的非常简单的表单,下面是html: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
(...)
<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);
}
}