How to verify if $_GET exists?
You can use isset
function:
if(isset($_GET['id'])) {
// id index exists
}
You can create a handy function to return default value if index doesn't exist:
function Get($index, $defaultValue) {
return isset($_GET[$index]) ? $_GET[$index] : $defaultValue;
}
// prints "invalid id" if $_GET['id'] is not set
echo Get('id', 'invalid id');
You can also try to validate it at the same time:
function GetInt($index, $defaultValue) {
return isset($_GET[$index]) && ctype_digit($_GET[$index])
? (int)$_GET[$index]
: $defaultValue;
}
// prints 0 if $_GET['id'] is not set or is not numeric
echo GetInt('id', 0);
Normally it is quite good to do:
echo isset($_GET['id']) ? $_GET['id'] : 'wtf';
This is so when assigning the var to other variables you can do defaults all in one breath instead of constantly using if
statements to just give them a default value if they are not set.
if (isset($_GET["id"])){
//do stuff
}