filter_has_var
(PHP 5 >= 5.2.0)
filter_has_var — Проверяет существование переменной указанного типа
Описание
bool filter_has_var
( int
$type
, string $variable_name
)Список параметров
-
type
-
Один из
INPUT_GET
,INPUT_POST
,INPUT_COOKIE
,INPUT_SERVER
,INPUT_ENV
. -
variable_name
-
Имя проверяемой переменной.
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Коментарии
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.
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
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.