尽管在 PHP 中提交表单,$_POST 数组仍为空
对 PHP 表单提交进行故障排除时遇到的常见难题是,尽管成功,但仍遇到空 $_POST 数组数据提交。要解决此问题,必须了解可能导致此行为的潜在因素。
在这种特殊情况下,用户已验证表单数据确实通过 file_get_contents('php:/ /input'),但 $_POST/$_REQUEST 数组仍为空。这表明存在需要进一步调查的具体问题。
提供的解决方案指出了问题的根源:在表单提交中使用 JSON 内容类型时,默认情况下不会填充 $_POST 数组。出现这种情况是因为 JSON 数据的处理方式与常规表单编码数据不同。
解决问题
为了解决此问题,用户实现了一个解决方案,该解决方案涉及解码来自 file_get_contents('php://input') 结果的 JSON 数据并手动填充 $_POST array:
$_POST = json_decode(file_get_contents("php://input"), true);
通过将解码后的 JSON 数据分配给 $_POST 数组,程序员确保可以按预期方式访问表单数据,即使原始表单提交导致空的 $_POST 数组.
以上是在 PHP 中提交 JSON 表单时,为什么我的 $_POST 数组为空?的详细内容。更多信息请关注PHP中文网其他相关文章!