注意:未定义的变量:POST - 我设置变量时很奇怪

时间:2014-10-01 13:11:06

标签: php

我收到以下错误:注意:未定义的变量:POST

   <form action="" method="POST">
your email: <br /><input ="text" name="email" size"30"/><br />
<input type="submit" name="submit" value="Submit" />
</form>
<?php

        $email= $POST['email'];
        $submit =$POST['submit'];

5 个答案:

答案 0 :(得分:3)

您遗失_它应该$_POST而不是$POST将其更改为。如果在为变量赋值时使用issetempty会更好。

  $email= $_POST['email'];
  $submit =$_POST['submit'];

答案 1 :(得分:0)

由于它是一个PHP超全局(因此以_为前缀),它是$_POST

答案 2 :(得分:0)

您需要查看empty()isset()以避免php通知也使用$_POST而非$POST

在php POST方法值中获取$_POST

if(isset($_POST['submit'])) {    
  $email= (!empty($_POST['email']) ? $_POST['email'] : '');
}

答案 3 :(得分:0)

您需要将代码包装在检查是否已发出请求的条件中,否则代码将在页面加载时运行,如果没有发布数据:

<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
    //you should also probably check the individual keys exist as well...
    $email= $_POST['email'];
    $submit =$_POST['submit'];
}

另外,正如其他人所提到的,php超级全局都以下划线为前缀,因此其$_POST不是$POST

答案 4 :(得分:-1)

根据this answer,它不是$POST,而是$_POST。 PHP超级全局需要_作为变量名称的前缀。根据{{​​3}},您还应该使用isset()来确保首先声明变量。