$_REQUEST 中的复选框数组值,但 $_POST 中不存在
由于某种原因,我的复选框数组值没有显示在 $_POST 中。
例如:
<form method="post" action="">
<input type="checkbox" name="cb[]" value="1">
<input type="checkbox" name="cb[]" checked="checked" value="2">
<input type="checkbox" name="cb[]" value="3">
<input type="checkbox" name="cb[]" checked="checked" value="4">
<input type="checkbox" name="cb[]" checked="checked" value="5">
<input type="checkbox" name="cb[]" value="6">
...
<input type="checkbox" name="cb[]" checked="checked" value="26">
<input type="checkbox" name="cb[]" value="27">
<input type="submit" value="insanitizer"/>
</form>
提交时:
<?php
print_r($_POST); //Because print_r($_POST['cb']); gives ''
Array (
[category] =>
)
print_r($_REQUEST['cb']); //Showing the correct array name was used
Array
(
[0] => 2
[1] => 4
[2] => 5
[3] => 26
)
?>
我很高兴至少可以在这里获取复选框数据,但我留下一个问题:
Wtf?
For some reason my checkbox array values don't show up in $_POST.
For example:
<form method="post" action="">
<input type="checkbox" name="cb[]" value="1">
<input type="checkbox" name="cb[]" checked="checked" value="2">
<input type="checkbox" name="cb[]" value="3">
<input type="checkbox" name="cb[]" checked="checked" value="4">
<input type="checkbox" name="cb[]" checked="checked" value="5">
<input type="checkbox" name="cb[]" value="6">
...
<input type="checkbox" name="cb[]" checked="checked" value="26">
<input type="checkbox" name="cb[]" value="27">
<input type="submit" value="insanitizer"/>
</form>
When submit:
<?php
print_r($_POST); //Because print_r($_POST['cb']); gives ''
Array (
[category] =>
)
print_r($_REQUEST['cb']); //Showing the correct array name was used
Array
(
[0] => 2
[1] => 4
[2] => 5
[3] => 26
)
?>
I'm happy that I can at least get the checkbox data here, but I'm left with one question:
Wtf?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Dur dur du...
作为一般初始化的一部分,我运行 $_POST 和 $_GET 通过:
这似乎会破坏任何数组...
上面替换为:
realEscapeString = mysql_real_escape_string
...和 $_POST['cb'] 活着!
Dur dur dur...
As part of general initialization I run $_POST and $_GET through:
Which seems to nuke any arrays...
Replaced above with:
realEscapeString = mysql_real_escape_string
...and $_POST['cb'] lives!