Почему filter_input возвращает NULL, когда переменные существуют?

Я пытаюсь получить некоторые данные GET и отфильтровать их, чтобы убедиться, что они содержат целое число. Строка URL-адреса events.php?id=22&month=2, но когда я пытаюсь получить любую переменную filter_input возвращается 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 возвращается string(13) "id=22&month=2" NULL, Я также пытался var_dump($_GET) и вернуться array(2) { ["id"]=> string(2) "22" ["month"]=> string(1) "2" } как и ожидалось.

Почему filter_input возврате NULL? У меня никогда не было проблем с получением GET данные таким образом.

0

Решение

FITER_VALIDATE_INT должно быть FILTER_VALIDATE_INT, Вам не хватает L в FILTER во всех случаях постоянной. Включение отчетов об ошибках выкинуло бы несколько Notice: Use of undefined constant FITER_VALIDATE_INT - assumed 'FITER_VALIDATE_INT' ошибки.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]