CakeFest 2024: The Official CakePHP Conference

filter_has_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_has_varVérifie si une variable d'un type spécifique existe

Description

filter_has_var(int $input_type, string $var_name): bool

Liste de paramètres

input_type

Une constante parmi INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER ou INPUT_ENV.

var_name

Nom de la variable à vérifier.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

add a note

User Contributed Notes 3 notes

up
34
drm at melp dot nl
15 years ago
Please note that the function does not check the live array, it actually checks the content received by php:

<?php
$_GET
['test'] = 1;
echo
filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No';
?>

would say "No", unless the parameter was actually in the querystring.

Also, if the input var is empty, it will say Yes.
up
16
nanhe dot kumar at gmail dot com
11 years ago
Through this example i think you can better understand

if ( !filter_has_var(INPUT_GET, 'email') ) {
echo "Email Not Found";
}else{
echo "Email Found";
}
Output

localhost/nanhe/test.php?email=1 //Email Found
localhost/nanhe/test.php?email //Email Found
http://localhost/nanhe/test.php //Email Not Found

Consider on second example

http://localhost/nanhe/test.php
$_GET['email']="info@nanhe.in";
if ( !filter_has_var(INPUT_GET, 'email') ) {
echo "Email Not Found";
}else{
echo "Email Found";
}
But output will be Email Not Found
up
-16
dezlov
8 years ago
For people who are wondering whether "magic_quotes_gpc" has any affect on "filter_input" operation, here is an extract from a PHP source file:

* As the input filter acts on input data before the magic quotes function mangles data, all access through the filter() function will not have any quotes or slashes added - it will be the pure data as send by the browser.

So when using this function, there is no need to strip the slashes when "magic_quotes_gpc" is enabled.
To Top