为什么 filter_input 在变量存在时返回 NULL?
Why is filter_input returning NULL when the variables exist?
我正在尝试检索一些 GET 数据并过滤它以确保它包含一个整数。 url 字符串是 events.php?id=22&month=2
,但是当我出于某种原因尝试获取变量 filter_input
returns NULL
时,我无法弄清楚原因。这是我的代码:
if(!isset($pageId)) {
$pageId = filter_input(INPUT_GET, 'id', FITER_VALIDATE_INT) ?: 4;
}
if(!isset($month)) {
$month = filter_input(INPUT_GET, 'month', FITER_VALIDATE_INT) ?: date('n');
var_dump($_SERVER['QUERY_STRING'], filter_input(INPUT_GET, 'month', FITER_VALIDATE_INT));
}
var_dump
returns string(13) "id=22&month=2" NULL
。我也试过 var_dump($_GET)
并按预期返回 array(2) { ["id"]=> string(2) "22" ["month"]=> string(1) "2" }
。
为什么 filter_input
返回 NULL
?我用这种方式检索 GET
数据从来没有遇到过问题。
FITER_VALIDATE_INT
应该是 FILTER_VALIDATE_INT
。在常量的所有实例中,您都缺少 L
in FILTER
。打开错误报告会引发几个 Notice: Use of undefined constant FITER_VALIDATE_INT - assumed 'FITER_VALIDATE_INT'
错误。
我正在尝试检索一些 GET 数据并过滤它以确保它包含一个整数。 url 字符串是 events.php?id=22&month=2
,但是当我出于某种原因尝试获取变量 filter_input
returns NULL
时,我无法弄清楚原因。这是我的代码:
if(!isset($pageId)) {
$pageId = filter_input(INPUT_GET, 'id', FITER_VALIDATE_INT) ?: 4;
}
if(!isset($month)) {
$month = filter_input(INPUT_GET, 'month', FITER_VALIDATE_INT) ?: date('n');
var_dump($_SERVER['QUERY_STRING'], filter_input(INPUT_GET, 'month', FITER_VALIDATE_INT));
}
var_dump
returns string(13) "id=22&month=2" NULL
。我也试过 var_dump($_GET)
并按预期返回 array(2) { ["id"]=> string(2) "22" ["month"]=> string(1) "2" }
。
为什么 filter_input
返回 NULL
?我用这种方式检索 GET
数据从来没有遇到过问题。
FITER_VALIDATE_INT
应该是 FILTER_VALIDATE_INT
。在常量的所有实例中,您都缺少 L
in FILTER
。打开错误报告会引发几个 Notice: Use of undefined constant FITER_VALIDATE_INT - assumed 'FITER_VALIDATE_INT'
错误。