# filter_input

(PHP 5 >= 5.2.0, PHP 7)

filter_input — Gets a specific external variable by name and optionally filters it

### Description

filter_input ( int `$type` , string `$variable_name` [, int `$filter` = FILTER_DEFAULT [, mixed `$options` ]] ) : mixed

### Parameters

`type`

  One of `INPUT_GET`, `INPUT_POST`, `INPUT_COOKIE`, `INPUT_SERVER`, or `INPUT_ENV`.

`variable_name`

  Name of a variable to get.

`filter`

  The ID of the filter to apply. The Types of filters manual page lists the available filters.

  If omitted, `FILTER_DEFAULT` will be used, which is equivalent to `FILTER_UNSAFE_RAW`. This will result in no filtering taking place by default.

`options`

  Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array.

### Return Values

Value of the requested variable on success, `FALSE` if the filter fails, or `NULL` if the `variable_name` variable is not set. If the flag `FILTER_NULL_ON_FAILURE` is used, it returns `FALSE` if the variable is not set and `NULL` if the filter fails.

### Examples

Example #1 A filter_input() example

`<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "You have searched for $search_html.\n";
echo "<a href='?search=$search_url'>Search again.</a>";
?>`

The above example will output something similar to:

    You have searched for Me &#38; son.
    <a href='?search=Me%20%26%20son'>Search again.</a>

### See Also

- filter_var() - Filters a variable with a specified filter
- filter_input_array() - Gets external variables and optionally filters them
- filter_var_array() - Gets multiple variables and optionally filters them
- Types of filters