我有一个自定义的CMS,已在我的开发箱中完美运行(Ubuntu / PHP5 + / MySQL5 +)。
我只是将其移至客户的生产框,现在所有表单提交都显示为空的$ _POST数组。
我发现了一个技巧来验证数据实际上是通过使用的file_get_contents('php://input');,并且数据在那里显示良好- $_POST/ $_REQUEST数组始终为空。
我还通过firebug(application/x-www-form-urlencoded; charset=utf-8)验证了内容类型标头是否正确。
无论表单是通过AJAX提交还是通过常规表单提交,都会发生此问题。
任何帮助是极大的赞赏!问题来源于stack overflow
寻找类似问题的答案。找到了答案并想分享,因为这花了我很多时间。
使用JSON内容类型时,不会填充$ _POST数组(我相信只有多部分表单)
这是解决此问题的有效方法:
$rest_json = file_get_contents("php://input"); $_POST = json_decode($rest_json, true); 希望这对某人有帮助!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。