#23454 [Ctl]: Combining GET and POST array values with register_globals=on and track_vars=on

From: Date: Sat, 03 May 2003 15:19:38 +0000
Subject: #23454 [Ctl]: Combining GET and POST array values with register_globals=on and track_vars=on
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-38986@lists.php.net to get a copy of this message
ID: 23454 Updated by: nicos@php.net Reported By: oregon at pobox dot com Status: Critical Bug Type: Arrays related Operating System: ANY -PHP Version: 4.3.1 +PHP Version: 4.3.2RC2 New Comment: Verified with snaps, yes critical. A nice BC break. Previous Comments: ------------------------------------------------------------------------ [2003-05-02 18:40:57] philip@php.net This might be related to closed bug #20796: http://bugs.php.net/20796 Marking this one (#23454) critical as it makes autoglobals unreliable and register_globals should work too. btw, track_vars doesn't exist anymore, it's always on. ------------------------------------------------------------------------ [2003-05-02 18:30:13] michael dot mauch at gmx dot de It's not only with about register_globals=on, the GET data are also missing from $_REQUEST if register_globals=off. ------------------------------------------------------------------------ [2003-05-02 18:03:06] stone@php.net AFAIK register_globals is still supported in 4.3. versions. ------------------------------------------------------------------------ [2003-05-02 17:52:16] helly@php.net We do no longer support register_globals=on since it causes to much trouble in the code base. ------------------------------------------------------------------------ [2003-05-02 17:45:49] michael dot mauch at gmx dot de Complete script: <form action="bug23454.php?person[age]=27" method=post> <input type=text size=32 name="person[sname]"> <input type=submit> </form> <pre> <?php print "_REQUEST: "; print_r($_REQUEST); print "_GET: "; print_r($_GET); print "_POST: "; print_r($_POST); print "person: "; print_r($person); ?> </pre> In 4.2.3 with register_globals on, I get both the POST and GET data in $_REQUEST, $person, $_GET (wrong), $_POST (wrong). In 4.2.3 with register_globals off, I get the POST data in $_REQUEST and $_POST, the GET data only in $_GET (not in $_REQUEST). In php4-STABLE-200305011130 with register_globals on, I see the POST data in $_REQUEST, $_POST and $person, but the GET data is only in $_GET (not in $_REQUEST and not in $person). In php4-STABLE-200305011130 with register_globals off, it's the same as with 4.2.3 - i.e. the GET data is missing from $_REQUEST. To me, this does indeed look like a bug. I also checked with non-array variables: fortunately they do work like advertized. ------------------------------------------------------------------------ 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/23454 -- Edit this bug report at http://bugs.php.net/?id=23454&edit=1

« previous php.bugs (#38986) next »