#28711 [Opn->Fbk]: $QUERY_STRING is define with null instead of stay undefine when no query string
| From: | tony2001@php.net | Date: | Fri, 14 Jan 2005 23:10:47 +0000 |
| Subject: | #28711 [Opn->Fbk]: $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-72180@lists.php.net to get a copy of this message | ||
ID: 28711
Updated by: tony2001@php.net
Reported By: sikachu at beezone dot net
-Status: Open
+Status: Feedback
Bug Type: Unknown/Other Function
Operating System: Windows 2000
PHP Version: 5.0.0RC3
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.0-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2004-06-18 15:04:28] sikachu at beezone dot net
Looks like nobody else got a same problem and also no staff come to
this topic regarding this bug. I'm fine right now with using empty()
instead isset(). So, I may close this one after a while.
I really want somebody to have a same environment (PHP5 ISAPI + IIS5)
and test with me. I want to see that we got the same result or not
------------------------------------------------------------------------
[2004-06-11 01:24:59] imprestavel at gameguru dot com dot br
Sorry...
I meant i tested with both (4.3.7 and 5RC3) *CGI versions* with
register_globals On and Off (under Apache2)
------------------------------------------------------------------------
[2004-06-11 01:20:18] imprestavel at gameguru dot com dot br
Tested with both (4.3.7 and 5RC3) with register_globals On and Off (on
both) and they all had the same behavior
Maybe its some weird thing between php and the server...
Your 4.3.7 server is running IIS5, right?
Maybe it only passes query string to cgi if its not empty...
In that case, the only reason why your script works(while it shouldnt),
is because IIS works how it shouldnt hehe
Anyway, i think you should change isset to empty for cases like the one
you described
But lets wait for someone from the staff to reply...
------------------------------------------------------------------------
[2004-06-10 17:48:52] sikachu at beezone dot net
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.
------------------------------------------------------------------------
[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
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/28711
--
Edit this bug report at http://bugs.php.net/?id=28711&edit=1