我正在处理如下表单:
<form id="add_to_basket" action="" method="post">
<select name="option[10]">
<option value="1">Red</option>
<option value="2">Silver</option>
</select>
<select name="option[11]">
<option value="A">Metallic</option>
<option value="B">Colour Changing</option>
</select>
</form>
表单由JavaScript验证并提交,然后由PHP脚本处理。在实时服务器上,表单工作正常,并且正确捕获值,如果我使用var_dump()获取$ _POST的内容,我会看到:
array(1) {
["option"]=>
array(2) {
[10]=>
string(1) "1"
[11]=>
string(1) "A"
}
}
但是当我在本地服务器上做同样的事情时,我看到了:
array(1) {
["option"]=>
string(0) ""
}
我省略了其他输入字段,但没有一个输入字段&#34;选项&#34;在ID或名称中。
我的PHP版本是否可能没有正确配置才能执行此操作,或者这是默认行为,它应该起作用吗?实时服务器使用PHP 5.2(XAMPP),本地服务器使用PHP 5.3.5(MAMP)。
感谢您的任何帮助或评论。
答案 0 :(得分:0)
PHP使用parse_str()函数解析它,该函数仅使用1个现已弃用的设置
因此,请检查本地和远程设置magic_quotes_gpc
并进行比较。
仔细查看parse_str()
如何解析样本字符串。您可以获取$_SERVER['QUERY_STRING']
并在此字符串上使用parse_str()
并查看结果。
同时检查: