PHP | filter_input () Функция

Опубликовано: 22 Февраля, 2022

Filter_input () - это встроенная функция в PHP, которая используется для получения конкретной внешней переменной по имени и ее фильтрации. Эта функция используется для проверки переменных из небезопасных источников, таких как ввод данных пользователем из формы. Эта функция очень полезна для предотвращения некоторых потенциальных угроз безопасности, таких как SQL-инъекция.

Синтаксис:

 filter_input ($ тип, $ имя_переменной, $ фильтр, $ параметры)

Параметры: эта функция принимает четыре параметра, как указано выше и описано ниже:

  • $ type: это обязательный параметр, используемый для проверки типа ввода. Список фильтров:
    • INPUT_GET
    • INPUT_POST
    • INPUT_COOKIE
    • INPUT_SERVER
    • INPUT_ENV
  • $ variable_name: обязательный параметр. Он используется для хранения имени переменной, которую необходимо проверить.
  • $ filter: необязательный параметр. Он содержит имя или идентификатор фильтра. Если этот параметр не установлен, используется FILTER_DEFAULT.
  • $ options: это необязательный параметр, используемый для указания одного или нескольких флагов / параметров для использования. Он проверяет возможные параметры и флаги в каждом фильтре. Если параметры фильтра приняты, тогда в поле «flags» массива могут быть указаны флаги.

Возвращаемое значение: возвращает значение переменной в случае успеха или False в случае неудачи. Если параметр не установлен, верните NULL. Если используется флаг FILTER_NULL_ON_FAILURE, он возвращает FALSE, если переменная не установлена, и NULL, если фильтр не работает.

Пример 1:

<?php
// PHP program to validate email using filter
  
if (isset($_GET["email"])) {
    if (!filter_input(INPUT_GET, "email"
            FILTER_VALIDATE_EMAIL) === false) {
        echo("Valid Email");
    } else {
        echo("Invalid Email");
    }
}
  
?>

Выход:

 Действительный адрес электронной почты

Example 2:

<?php
  
// Input type:INPUT_GET input name:search 
// filter name:FILTER_SANITIZE_SPECIAL_CHARS
$search_variable_data = filter_input(INPUT_GET, 
            "search", FILTER_SANITIZE_SPECIAL_CHARS);
              
// Input type:INPUT_GET input name:search
// filter name:FILTER_SANITIZE_ENCODED
$search_url_data = filter_input(INPUT_GET,
            "search", FILTER_SANITIZE_ENCODED);
              
echo "Search for $search_variable_data. ";
  
echo "<a href="?search=$search_url_data">Search again.</a>";
  
?>

Выход:

 Найдите tic tac & toc. Искать снова.

Ссылки: http://php.net/manual/en/function.filter-input.php

PHP