繁体   English   中英

复选框HTML数组为空PHP

[英]Checkbox HTML array is empty PHP

编辑:我从没做过这个工作,似乎“盒子”不是PHP方面的数组,而是一个表示“数组”的字符串。 我切换到AJAX解决方案,不再需要这个答案。 现在将关闭

因此,这似乎是一个非常简单的问题,但是我有从php生成的复选框形式,然后重新提交给php脚本进行处理。 不幸的是,复选框数组为EMPTY。

这是我生成的表单代码。 注意 :该操作为空,因为它是相同的php文件):

<form method="POST">
<input type="hidden" name="multi" value="1"> <-- Ignore this -->
<input type="hidden" name="test" value="1">  <-- Ignore this -->
<input type="hidden" name="EMAIL" value="sample@example.com">
<input type="hidden" name="FNAME" value="John">

<input type="checkbox" name="boxes[]" value="Jennifer and Friends"> Jennifer and Friends<br>
<input type="checkbox" name="boxes[]" value="Worship with Rachel"> Worship with Rachel<br>
<input type="checkbox" name="boxes[]" value="Jim Gerhold: Relationship"> Jim Gerhold: Relationship<br>
<input type="checkbox" name="boxes[]" value="Maximize Others Leadership Resources" checked=""> Maximize Others Leadership Resources<br>
<input type="submit" value="Save">
</form>

现在当我print_r $ _POST数组时,我得到以下输入:

Array
(
    [multi] => 1
    [test] => 1
    [EMAIL] => <REMOVED>
    [FNAME] => <REMOVED>
    [boxes] => Array
)

还有...在chrome开发人员工具中,我可以正确看到表单数据:

Chrome表单数据

最后,返回$ _POST ['boxes']的var_dump

string(5)“数组”

有谁知道如何检索该数组,或为什么它不显示为普通的php数组?

它不是空的,我直接从您的print_r($_POST)输出中引用:

[boxes] => Array

您可以使用以下命令循环浏览内容:

foreach($_POST["boxes"]) { ... }

或使用以下命令打印内容:

print_r($_POST["boxes"]);

虽然它不在您的问题范围内,但我建议下次使用var_dump() var_dump<pre></pre>标签中很好地遍历子数组和格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM