ID: 28711 Comment by: imprestavel at gameguru dot com dot br 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:
Sorry... I meant i tested with both (4.3.7 and 5RC3) *CGI versions* with register_globals On and Off (under Apache2) Previous Comments: ------------------------------------------------------------------------ [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 ------------------------------------------------------------------------ [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 ... ------------------------------------------------------------------------ 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
