#28711 [Opn]: $QUERY_STRING is define with null instead of stay undefine when no query string
| From: | sikachu at beezone dot net | Date: | Thu, 10 Jun 2004 15:48:57 +0000 |
| Subject: | #28711 [Opn]: $QUERY_STRING is define with null instead of stay undefine when no query string | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-60741@lists.php.net to get a copy of this message | ||
ID: 28711
User updated by: sikachu at beezone dot net
Reported By: sikachu at beezone dot net
Status: Open
Bug Type: Unknown/Other Function
Operating System: Windows 2000
PHP Version: 5.0.0RC3
New Comment:
Well ... I used isset() with $QUERY_STRING to check the query all the
time. Also, my server still PHP 4.3.7 and it's at
http://ragnarok.beezone.net .
On there, If you type in 'http://ragnarok.beezone.net', it will load
itself because the isset($QUERY_STRING) is false! And if I type
something like 'http://ragnarok.beezone.net/?board' That
will trigger
the code and redirect to the page we provide !
Can somebody test and confirm that just because my server use cgi
(php.exe) instead of isapi module (php5isapi.dll)?
Thanks anyway, imprestavel. I think if I change the script whole site
to use empty(), it may works. But I sill confuse with this behavior.
Previous Comments:
------------------------------------------------------------------------
[2004-06-10 09:18:43] imprestavel at gameguru dot com dot br
I think php4 does that too (just tested, but register_globals is off)
Maybe you are confusing isset with empty
"isset -- Determine whether a variable is set
...
Returns TRUE if var exists; FALSE otherwise."
"empty -- Determine whether a variable is empty
...
empty() returns FALSE if var has a non-empty and non-zero value. In
otherwords, "", 0, "0", NULL, FALSE, array(), var $var;, and objects
with empty properties, are all considered empty. TRUE is returned if
var is empty."
You may find that information here:
http://www.php.net/isset
http://www.php.net/empty
Hope it helps
------------------------------------------------------------------------
[2004-06-09 16:46:18] sikachu at beezone dot net
Clearify the bug summary ...
------------------------------------------------------------------------
[2004-06-09 16:44:18] sikachu at beezone dot net
Change the version number in topic from RC2 to RC3 ...
------------------------------------------------------------------------
[2004-06-09 16:42:41] sikachu at beezone dot net
Description:
------------
I upgraded from PHP 4.3.4 to PHP 5.0 RC3 yesterday. When I tried to run
the script that check for the query string and then refresh to the
page, the query string return the invalid value. This behavior I found
only in PHP 5.0 RC3
I'll show you the result with these thing:
echo $QUERY_STRING;
isset($QUERY_STRING);
$QUERY_STRING == "";
For example, assume that the script URL is
http://somewhere.com/index.php
If I call it like this: http://somewhere.com/index.php?foo
echo $QUERY_STRING; // show foo
isset($QUERY_STRING); // return true
$QUERY_STRING == ""; // return false
But, here is the problem. If I call it like this:
http://somewhere.com/index.php
echo $QUERY_STRING; // show ""(nothing)
isset($QUERY_STRING); // return true << unexpected
$QUERY_STRING == ""; // return true
The code that I use for test will be in the next section.
My PHP configuration based on php.ini-dist. I changed register_global
to be On, and then add php_mysql & php_mysqli extension to it.
Reproduce code:
---------------
if(isset($QUERY_STRING))
{
echo "Your query string is defined\n";
}
if($QUERY_STRING == "")
{
echo "Your query string is null\n";
}
if($QUERY_STRING == " ")
{
echo "Your query string contain just a space\n";
}
echo "Here is your query string: '".$QUERY_STRING."'";
Expected result:
----------------
Your query string is null
Here is your query string: ''
Actual result:
--------------
Your query string is defined
Your query string is null
Here is your query string: ''
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=28711&edit=1