#23454 [Ctl]: Combining GET and POST array values with register_globals=on and track_vars=on
| From: | nicos@php.net | 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