我收到以下错误:注意:未定义的变量: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'];
答案 0 :(得分:3)
您遗失_
它应该$_POST
而不是$POST
将其更改为。如果在为变量赋值时使用isset
或empty
会更好。
$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()
来确保首先声明变量。