2016-08-25 66 views
1

所以我工作的一个非常简单的POST方法,这样

<form action="index.php" method="POST"> password:<input type="password" name="password"> <input type="submit" value="submit"> <form/> 

,当我打开我的浏览器,并点击提交它显示以下错误 enter image description here

和你说什么之前,是的,我设置

always_populate_raw_post_data = -1

,如下图所示: enter image description here

,但仍是错误不断弹出.......请帮助!

+4

是否有没有使用'$ _POST'的原因? – Dekel

+0

是的,我只是想尝试后的方法....有趣的是,当我改变方法=“获取”它实际上完美的作品。 – Harun

+0

@Harun向我们展示了php文件代码 – Lokesh

回答

1

link in the config file

如果设置为TRUE,PHP总会产生$HTTP_RAW_POST_DATA包含有原始的POST数据。否则,仅当数据的MIME类型无法识别时才填充该变量。

访问原始POST数据的首选方法是php://input,$HTTP_RAW_POST_DATA已在PHP 5.6.0及之后版本中弃用。将always_populate_raw_post_data设置为-1将选择将在未来版本的PHP中实现的新行为,其中$HTTP_RAW_POST_DATA从未定义。

无论设置如何,$HTTP_RAW_POST_DATA不适用于enctype =“multipart/form-data”。

按照文件将其设置为-1,而不是TRUE使用PHP 7.0的版本,甚至没有定义$HTTP_RAW_POST_DATA

无论如何,正如文档中提到的那样,您确实应该使用file_get_contents("php://input");来读取原始POST数据。

+0

你能告诉我如何在我的特殊情况下使用它吗? – Harun

+0

我做了:'$ postData = file_get_contents('php:// input');' – Phylogenesis

+0

我在哪里准确地说? – Harun

1

我实际上正在编辑错误的php.ini文件,因为它们在Wamp文件夹中有一堆......尽管通过单击工具栏中的Wamp - > PHP-> php.ini文件找到了正确的文件,设置always_populate_raw_post_data = -1,那么一切都会很好地工作