【发布时间】:2014-04-07 19:07:30
【问题描述】:
我正在使用它来验证用户名:
public function check_length($username) {
$username = strlen($username);
$value = filter_input(INPUT_GET, $username, FILTER_VALIDATE_INT, array("options" => array("min_range" => 2, "max_range" => 30)));
if ($value) {
return TRUE;
}
else {
return FALSE;
}
}
当我输入:“anyName”时,函数返回 FALSE,为什么?
【问题讨论】:
-
FILTER_VALIDATE_INT- 这是对 INT 类型而非字符串的验证。我想你正在寻找FILTER_SANITIZE_STRING。 -
不。他传递了
strlen()的结果。 -
正是..那么错误在哪里?
-
filter_input的第二个参数应该是从$_GET(INPUT_GET) 获取的键的名称,不是您正在过滤的值。你通过GET发送什么?你怎么发送anyName? -
为什么不使用 if(...) 检查长度是否在范围内?