当我选中复选框时,我无法产生输出。我正在运行Ubuntu Linux 18.04.2,Apache版本2.4.29,MySQL版本5.7.27和PHP版本7.2.19。
据我所知,我正确设置了复选框,但是它们返回的值为“ on”,而不是我在页面上设置的数值。我包含了一个print_r请求,以了解正在发生的事情。
输入脚本:
for ($aid = 0; $aid < count($a_id); $aid++)
{
print '<input type="checkbox" NAME="articleid[' . $aid . '] VALUE="' . $a_id[$aid] . '">text<br>
';
}
输入页面来源:
<input type="checkbox" NAME="articleid[0] VALUE="1">text<br>
<input type="checkbox" NAME="articleid[1] VALUE="42">text<br>
等
输出脚本:
print_r($articleid);
已选中2个框的输出页面源:
Array
(
[20] => on
[32] => on
)
对于选中的复选框,我希望可以将数值结果用于定位记录以进行进一步处理,但是我只是得到表明已选中它们的指示。没有错误消息。
答案 0 :(得分:2)
如果您恰好使用了这一行代码
<input type="checkbox" NAME="articleid[' . $aid . '] VALUE="' . $a_id[$aid] . '">text<br>
那你在这里有错误
NAME="articleid[' . $aid . '] VALUE="' . $a_id[$aid] . '"
必须是
name="articleid[' . $aid . ']" value="' . $a_id[$aid] . '"
您只是忘记了值
前的简单“总结
for ($aid = 0; $aid < count($a_id); $aid++)
{
print '<input type="checkbox" name="articleid[' . $aid . ']" value="' . $a_id[$aid] . '">text<br>';
}
我还认为用小写形式写html属性更好。
我希望这会有所帮助:)