[使用x-www-form-urlencoded时PHP不填充$ _POST

问题描述 投票:1回答:1

PHP 5.4.17

我有一个简单的html表单,看起来像这样:

index.html

<form method="POST" action="/addnewaccount.php">
    <input type="text" name="firstname" />
    <button type="submit">Submit</button>
</form>

addnewaccount.php

<?php
var_dump($_POST); // array(0) {}
var_dump($_REQUEST); // array(0) {}
var_dump(file_get_contents('php://input')); //string(0) ""
var_dump($HTTP_RAW_POST_DATA); // NULL

提交此表单后,php将不会填充$ _POST或$ _REQUEST变量。它们只是空数组。

我已经在php.ini文件中检查了以下内容:

enable_post_data_reading = On
post_max_size = 10M
variables_order = "GPCS"
request_order = "GP"

如果将表单的enctype更改为“ multipart / form-data”,则会填充$ _POST和$ _REQUEST变量,因此我认为问题在于默认的enx类型为“ x-www-form-urlencoded”,但是我不知道如何使用默认设置。

php forms content-type
1个回答
0
投票

我能够解决这个问题。我发现这是我们的Node代理和php的相互作用。

© www.soinside.com 2019 - 2024. All rights reserved.