CakeFest 2017 NYC, the Official CakePHP Conference

filter_has_var

(PHP 5 >= 5.2.0, PHP 7)

filter_has_varPrüft, ob eine Variable des angegebenen Typs existiert

Beschreibung

bool filter_has_var ( int $type , string $variable_name )

Parameter-Liste

type

Einer von INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER oder INPUT_ENV.

variable_name

Name der Variablen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

add a note add a note

User Contributed Notes 5 notes

up
20
drm at melp dot nl
8 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
10
nanhe dot kumar at gmail dot com
3 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
0
dezlov
1 year 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.
up
-11
Anonymous
7 years ago
To note: filter_has_var() is a bit faster than isset()
up
-8
Benjamin
3 years ago
filter_has_var fixes warning in Netbeans 7.3 when directly accessing $_GET["variable"]

Simple get and post functions I suggest:

function isGet( $value ) {
  if(  filter_has_var( INPUT_GET, $value )  ) {
    return true;
  }
  return false;
}

function get( $name )
{
  return filter_input( INPUT_GET , $name );
}
To Top