警告:filter_var()期望参数2为long,字符串为

时间:2011-04-12 14:36:57

标签: php validation sanitization

在此代码中,我收到警告

警告:filter_var()期望参数2为long,最后一行给出的字符串

$check = filter_var($email, FILTER_SANITIZE_EMAIL);
$str = filter_var($name, FILTER_SANITIZE_STRING);
if (!filter_var($check, FILTER_VALIDATE_EMAIL) && !filter_var($str, FILTER_VALIDATE_STRING)) { //here

问题是这样,因为没有它就没有任何警告信息

 !filter_var($str, FILTER_VALIDATE_STRING)

出现此错误的原因是什么?

2 个答案:

答案 0 :(得分:7)

没有像FILTER_VALIDATE_STRING这样的filter ...你能使用is_string吗?

答案 1 :(得分:5)

正如@TaylorOtwell所说:没有过滤器FILTER_VALIDATE_STRING。现在,如果你打电话

!filter_var($str, FILTER_VALIDATE_STRING)

你会收到通知

PHP Notice:  Use of undefined constant FILTER_VALIDATE_STRING - assumed 'FILTER_VALIDATE_STRING'

似乎您的error_reporting不包含通知。