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

From: Date: Fri, 02 May 2003 22:45:49 +0000
Subject: #23454 [Com]: 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-38966@lists.php.net to get a copy of this message
ID: 23454 Comment by: michael dot mauch at gmx dot de Reported By: oregon at pobox dot com Status: Open Bug Type: Arrays related Operating System: Linux 2.4.9-31 PHP Version: 4.3.1 New Comment: 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. Previous Comments: ------------------------------------------------------------------------ [2003-05-02 14:35:39] oregon at pobox dot com When both GET and POST variables are sent at the same time to the same array, the GET variables are not getting set correctly (with register_globals=on and track_vars=on). Example: <form action="bug?person[age]=12" method=post> <input type=text size=32 name=person[sname] </form> With register_globals=on and track_vars=on, the script should get both $person['age'] and $person['sname'], and this worked properly in earlier versions of PHP (at least up to 4.2.3). But as of 4.3.1, the POST variable is getting set but the GET variable is lost. This is causing properly written scripts to break under new versions of PHP. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=23454&edit=1

« previous php.bugs (#38966) next »