filter_input
Получает значение из запроса и сразу проверяет его.
Синтаксис
filter_input(int $type, string $var_name, int $filter = FILTER_DEFAULT, array|int $options = 0): mixedПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $type | int | Источник: `INPUT_GET`, `INPUT_POST`, `INPUT_COOKIE`. |
| $var_name | string | Имя параметра. |
| $filter | int | Необязательный. Фильтр, например `FILTER_VALIDATE_INT`. |
| $options | array|int | Необязательный. Настройки фильтра. |
Возвращаемое значение
mixedЗначение, `false` при ошибке проверки или `null`, если параметра нет.
Примеры
Номер страницы из адреса:
<?php
// search.php
$page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, [
'options' => ['default' => 1, 'min_range' => 1],
]);
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);Примечания
Три разных результата: значение, false (не прошло проверку) и null (параметра нет). Сравнивайте через ===.
См. также
- filter_var — Проверяет или очищает значение по заданному правилу.
- htmlspecialchars — Заменяет специальные символы HTML на безопасные обозначения.
- intval — Преобразует значение в целое число.
Вопросы и ответы по теме
В учебнике
- Безопасность — Основы безопасности сайта на PHP — XSS и экранирование, SQL-инъекции, хеширование паролей, CSRF-токены и проверка входных данных.