PHP 5.4.4抛出filter_var()函数未找到错误

时间:2014-07-22 04:49:05

标签: php apache

以下是文件mailinglist.php中的 php代码。

<?php 
if(isset($_POST["name"]) && isset($_POST["email"]) ):
    $name = trim($_POST["name"]);
    $email = trim($_POST["email"]);
    if(filter_val($email, FILTER_VALIDATE_EMAIL)) {
        echo "Valid email";
    }
    else{
        echo "Invalid email provided.";
    }

if(filter_val($name, FILTER_SANITIZE_STRING)) {
    echo "Valid name";
}
else {
    echo "Invalid name provided.";
}
?>

记录错误(/var/log/apache2/error.log):

[Tue Jul 22 04:43:26 2014] [error] [client 127.0.0.1] PHP Fatal error:  Call to undefined function filter_val() in /var/www/mysite/mailinglist.php on line 22, referer: http://domain.com

php --version的输出:

PHP 5.4.4-14+deb7u12 (cli) (built: Jun 30 2014 13:15:11) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

php -m | grep filter的输出:

filter

知道为什么会这样吗?如果您需要任何其他信息来帮助我,请告诉我。

2 个答案:

答案 0 :(得分:3)

我认为必须是filter_var而不是filter_val。那可能是一个错字。 Check this了解更多

答案 1 :(得分:1)

没有名为filter_val的此类功能。 您要找的是filter_var()

您使用的是这样的:

if(filter_var($name, FILTER_SANITIZE_STRING)) {
    echo "Valid name";
} else {
    echo "Invalid name provided.";
}