php $_POST 提交表单时数组为空

2022-08-30 07:19:19

我有一个自定义的内容管理系统(CMS),它在我的开发盒(Ubuntu / PHP5 + / MySQL5 +)上完美运行。

我刚刚把它移到了我的客户的生产框中,现在所有表单提交都显示为空的$_POST数组。

我发现了一个技巧来验证数据是否确实被传递,并且数据在那里显示得很好 - / 数组总是空的。file_get_contents('php://input');$_POST$_REQUEST

我还通过 firebug () 验证了内容类型标头是否正确。application/x-www-form-urlencoded; charset=utf-8

无论表单是通过 AJAX 提交还是通过常规表单提交,都会发生此问题。

任何帮助都非常感谢!


答案 1

当使用JSON内容类型时,数组不会填充(我相信只有多部分表单)$_POST

以下是我更正问题的方法:

$_POST = json_decode(file_get_contents("php://input"), true);

答案 2

这是另一个可能的原因:

我的表单在没有 提交到,并且我已经设置了一个自动重定向来添加数组在此过程中被清空。domain.examplewww.www.$_POST

因此,要修复它,我所要做的就是提交www.domain.example