Php 过滤器有变量函数

Php 过滤器有变量函数,php,filter,Php,Filter,我很难让这个函数长期工作。以前,我在做 if ( !filter_has_var(INPUT_POST, 'email') ) { code here etc. } 然而,这是如何设置函数的正确格式 然后,在尝试使它发挥作用后,我将“email”改为“$email”,这就成功了。所以,现在我很困惑,这是一个小故障还是我顶部的代码不正确?您可以使用: if (isset($_POST['email']) && filter_var($_POST['email'], FIL

我很难让这个函数长期工作。以前,我在做

if ( !filter_has_var(INPUT_POST, 'email') ) {
    code here etc.
}
然而,这是如何设置函数的正确格式

然后,在尝试使它发挥作用后,我将“email”改为“$email”,这就成功了。所以,现在我很困惑,这是一个小故障还是我顶部的代码不正确?

您可以使用:

if (isset($_POST['email']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{ 
   //Your Code here for valid email...
} 
else
{
   //Your Code here for invalid email...
}

通过这个例子,我想你可以更好地理解

if ( !filter_has_var(INPUT_GET, 'email') ) {
    echo "Email Not Found";
} else {
    echo "Email Found";
}
输出

    localhost/nanhe/test.php?email=1 //Email Found
    localhost/nanhe/test.php?email //Email Found
    http://localhost/nanhe/test.php //Email Not Found
考虑第二个例子


但输出将是电子邮件找不到

您希望在您的if条件下
true
false
,因为我被您的
搞糊涂了操作员在您的情况下?您的职位是实际职位吗?还是在运行之前创建了数组?它是由单独的php脚本从表单发送的实际post
$_GET['email']="info@nanhe.in";
if ( !filter_has_var(INPUT_GET, 'email') ) {
    echo "Email Not Found";
} else {
    echo "Email Found";
}