#30523 [NEW]: _GET bug with null last var persists
| From: | support at ruishi dot info | Date: | Thu, 21 Oct 2004 21:20:17 +0000 |
| Subject: | #30523 [NEW]: _GET bug with null last var persists | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-67918@lists.php.net to get a copy of this message | ||
From: support at ruishi dot info
Operating system: Linux SUSE
PHP version: 4.3.9
PHP Bug Type: URL related
Bug description: _GET bug with null last var persists
Description:
------------
The bug described earlier in http://bugs.php.net/bug.php?id=28221 by some
sir else still persists in PHP-4.3.9, Suse Linux. The problem is:
The request "page.php?var1=a&var2=b&var3=c" sets the $_GET array
correctly, but a slightly different request "page.php?var1=a&var2=b&var3="
with a null $var3 will make the whole $_GET array null!
A live demo can be found at:
Everything is fine with Link 1:
http://www.ruishi.info/forum/testwindnumeric.php?tid=123&a=1&b=2&c=3
Then $_GET becomes null is the last variable $c is null in Link 2:
http://www.ruishi.info/forum/testwindnumeric.php?tid=123&a=1&b=2&c=
Reproduce code:
---------------
$tid=<?=$_GET['tid']?><br>
<?php
require_once('./testglobal.php');
echo "$tid<br>";
echo $_GET['tid'];
echo "\$_GET=";
print_r($_GET);
echo "<br>";
if(!is_numeric($_GET['tid'])) echo('invalid id number');
?>
In testglobal.php, the related sections:
print_r($_GET);
echo "<br>";
unset($GLOBALS,$_ENV,$HTTP_ENV_VARS,$_REQUEST,$HTTP_POST_VARS,$HTTP_GET_VARS,$HTTP_POST_FILES,$HTTP_COOKIE_VARS);
$Is_Gmqgg=get_magic_quotes_gpc();
if(!$Is_Gmqgg){
Add_S($_POST);
Add_S($_GET);
Add_S($_COOKIE);
}
print_r($_GET);
echo "<br>";
......
Expected result:
----------------
For Link 1, the result is correct.
For Link 2, the correct result should be:
Array ( [tid] => 123 [a] => 1 [b] => 2 [c] => 3 )
Actual result:
--------------
For Link 2, the actual incorrect result is:
Array ( )
--
Edit bug report at http://bugs.php.net/?id=30523&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=30523&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=30523&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=30523&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=30523&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=30523&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=30523&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=30523&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=30523&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=30523&r=support
Expected behavior: http://bugs.php.net/fix.php?id=30523&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=30523&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=30523&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=30523&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=30523&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=30523&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=30523&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=30523&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=30523&r=float
MySQL Configuration Error: http://bugs.php.net/fix.php?id=30523&r=mysqlcfg