I want to be able to distinguish between existing query string parameters set to null, and missing parameters. So the parts of the question are:
Thanks
If you have a query string of query=string the value is "string" if you instead use: query=null the value will be "null" . Note that it is therefor a string. If you send: query= , the value will be "" or the empty string.
The parameters from a URL string can be retrieved in PHP using parse_url() and parse_str() functions. Note: Page URL and the parameters are separated by the ? character. parse_url() Function: The parse_url() function is used to return the components of a URL by parsing it.
A query string is a term for adding/passing data in the URL. It is not language specific.
Use isset()
and empty()
if (isset($_REQUEST['param'])) { // param was set in the query string if(empty($_REQUEST['param'])) { // query string had param set to nothing ie ?param=¶m2=something } }
Or use array_key_exists
:
if(array_key_exists("myParam", $_GET)) { }
I've never been keen on 'conventions' for passing empty values to the server - I'm used to testing for the presence of variables, and then trimming them and testing for emptiness, for example.
Values stored in $_GET
and $_POST
can only be strings or arrays, unless explicitly set at run-time. If you have a query string of query=string
the value is "string"
if you instead use: query=null
the value will be "null"
. Note that it is therefor a string.
If you send: query=
, the value will be ""
or the empty string. Take note of the differences between isset
and empty
. isset
will be true if the value is not null, whereas empty
will be true when the value evaluates to false
. Therefor ""
will be true for both isset
and empty
.
If you just want to check if a query string parameter was set to the string value of "null"
, you can simply check $_GET['query']=='null'
(you may want to adjust the case of the characters before the check)
With one if statement instead of two:
if ((isset($_REQUEST['name'])) && (!empty($_REQUEST['name'])))
{
$name= $_REQUEST['name'];
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With