PHP | función filter_input()

El filter_input() es una función incorporada en PHP que se usa para obtener la variable externa específica por nombre y filtrarla. Esta función se usa para validar variables de fuentes no seguras, como la entrada del usuario desde un formulario. Esta función es muy útil para prevenir alguna amenaza potencial a la seguridad como la Inyección SQL.

Sintaxis:

filter_input( $type, $variable_name, $filter, $options)

Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:

  • $type: Es un parámetro obligatorio y se usa para verificar el tipo de entrada. La lista de filtros son:
    • ENTRADA_GET
    • ENTRADA_POST
    • ENTRADA_COOKIE
    • ENTRADA_SERVIDOR
    • ENTRADA_ENV
  • $variable_name: Es un parámetro requerido. Se utiliza para guardar el nombre de la variable que se va a comprobar.
  • $filtro: Es un parámetro opcional. Contiene el nombre o ID del filtro. Si no se establece este parámetro, se utiliza FILTER_DEFAULT.
  • $opciones: es un parámetro opcional y se usa para especificar uno o más indicadores/opciones a usar. Comprueba posibles opciones y banderas en cada filtro. Si se aceptan las opciones de filtro, se pueden proporcionar banderas en el campo «banderas» de la array.

Valor devuelto: Devuelve el valor de la variable en caso de éxito o Falso en caso de fallo. Si el parámetro no está configurado, devuelve NULL. Si se usa el indicador FILTER_NULL_ON_FAILURE, devuelve FALSO si la variable no está configurada y NULL si falla el filtro.

Ejemplo 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");
    }
}
  
?>

Producción:

Valid Email

Ejemplo 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.\n";
  
echo "<a href='?search=$search_url_data'>Search again.</a>";
  
?>

Producción:

Search for tic tac & toc. Search again.

Referencias: http://php.net/manual/en/function.filter-input.php

Publicación traducida automáticamente

Artículo escrito por gekcho y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *