w3docs logo



PHP is a popular server-side scripting language that offers a range of built-in functions for processing user input. One such function is filter_input(), which is used to filter and sanitize user input data. In this article, we will provide you with a detailed guide on how to use filter_input() in PHP, its syntax, and its benefits.


The syntax for filter_input() is as follows:

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

The function takes three required parameters - the type of input (such as INPUT_GET or INPUT_POST), the name of the variable, and the filter to apply (default is FILTER_DEFAULT). An optional fourth parameter, $options, can be used to specify additional filter options. The function returns the filtered input data on success, or false on failure.


The filter_input() function is used to filter and sanitize user input data before it is used in your application. For example, the following code uses filter_input() to sanitize user input from a form:


$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);

In this example, the code uses filter_input() with the INPUT_POST constant to retrieve the value of the 'name' field from a form submitted via POST. The FILTER_SANITIZE_STRING filter is used to remove any tags and special characters from the input.


Using filter_input() can help improve the security and reliability of your PHP application by filtering and sanitizing user input data. By validating input data before processing it, you can ensure that your application only accepts valid data and avoid potential security breaches.

Additionally, using filter functions can help improve the overall quality of your code by making it more readable and maintainable. By separating validation logic from processing logic, you can make your code more modular and easier to debug.


In conclusion, the filter_input() function is a useful tool for filtering and sanitizing user input data in PHP applications. By using it in conjunction with other filter functions, you can improve the security and quality of your code, while also making it easier to read and maintain.

Do you find this helpful?