PHP表单不起作用(always_populate_raw_post_data = -1)

时间:2016-06-24 08:57:24

标签: php

我是php的新手,只是尝试创建一个简单的表单,但它不起作用。 这是我的代码

<?php

if (isset($_POST['user_input'])&&!empty($_POST['user_input'])){

echo "THIS WORKS!!!";
}
?>
<hr>
<form action="new.php" method="POST">
    <textarea name="user_input" rows="6" cols="30"> </textarea>
    <br>
    <br>
    <input type="submit" value="Submit">

 </form>

这是浏览器上显示的错误

  

不推荐使用:不推荐自动填充$ HTTP_RAW_POST_DATA   并将在以后的版本中删除。要避免此警告设置   &#39; always_populate_raw_post_data&#39;到&#39; -1&#39;在php.ini中使用   php://改为输入流。在第0行的未知中

     

警告:无法修改标头信息 - 已发送的标头   第0行未知

我改变了

always_populate_raw_post_data = -1 

在php.ini文件中

现在错误消息没有出现,但代码仍无效 单击“提交”按钮时,文本区域中的文本将被删除,并且不会生成任何输出 使用phpstorm ide和php 5.6.32

这也不起作用

   <?php
      error_reporting(E_ALL);ini_set('display_errors',1); 
     ?>
    <form method="POST">
    <textarea name="user_input" rows="6" cols="30"> </textarea>
    <br>
    <br>
    <input type="submit" value="Submit">

    </form>
    <?php

       if (isset($_POST['user_input'])){
       echo "THIS WORKS!!!";
       }
    ?>

1 个答案:

答案 0 :(得分:-1)

找到解决此问题的方法

首先改变了

always_populate_raw_post_data = -1  

在php.ini中

第二次添加

parse_str(file_get_contents("php://input"), $_POST)
在if语句之前