我有一个定制的内容管理系统(CMS),它可以在我的开发环境(Ubuntu/PHP5+/MySQL5+)上完美地工作。
我刚把它移到我的客户的生产箱中,现在所有的表单提交都显示为空的$_POST数组。
我发现了一个技巧来验证数据实际上是使用file_get_contents('php://input');
传递的,并且数据在那里显示得很好-- $_POST
/$_REQUEST
数组总是空的。
我还通过firebug (application/x-www-form-urlencoded; charset=utf-8
)验证了内容类型标头的正确性。
无论表单是通过AJAX提交还是常规表单提交,都会发生此问题。
任何帮助都是非常感谢的!
发布于 2013-02-10 12:58:22
当使用JSON content-type时,$_POST
数组不会填充(我相信只填充多部分表单)
下面是我纠正这个问题的方法:
$_POST = json_decode(file_get_contents("php://input"), true);
发布于 2009-10-28 00:22:21
这是另一个可能的原因--我的表单在没有WWW的情况下提交到domain.com。我设置了一个自动重定向来添加“WWW”。在此过程中,$_POST数组被清空。所以要修复它,我需要做的就是提交给www.domain.com
发布于 2012-08-09 22:50:54
我发现当从超文本传输协议发布到超文本传输协议时,$_POST
是空的。这是在测试表单时发生的,但我花了一段时间才意识到这一点。
https://stackoverflow.com/questions/1282909
复制相似问题