#23454 [Ctl->Ver]: Combining GET and POST array values with register_globals=on
| From: | sniper@php.net | Date: | Sun, 04 May 2003 15:21:22 +0000 |
| Subject: | #23454 [Ctl->Ver]: Combining GET and POST array values with register_globals=on | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-39029@lists.php.net to get a copy of this message | ||
ID: 23454
Updated by: sniper@php.net
Reported By: oregon at pobox dot com
-Status: Critical
+Status: Verified
Bug Type: *General Issues
Operating System: ANY
PHP Version: 4.3.2RC2
New Comment:
This is not critical as it was broken already in 4.3.0.
Previous Comments:
------------------------------------------------------------------------
[2003-05-04 10:18:56] sniper@php.net
4.3.1
register_globals = 1
_REQUEST: Array
(
[person] => Array
(
[sname] => fgfg
)
)
_GET: Array
(
[person] => Array
(
[age] => 27
)
)
_POST: Array
(
[person] => Array
(
[sname] => fgfg
)
)
person: Array
(
[sname] => fgfg
)
------------------------------------------------------------------------
[2003-05-04 10:18:13] sniper@php.net
4.3.2-RC3-dev
register_globals = 1
_REQUEST: Array
(
[person] => Array
(
[sname] => fgfg
)
)
_GET: Array
(
[person] => Array
(
[age] => 27
)
)
_POST: Array
(
[person] => Array
(
[sname] => fgfg
)
)
person: Array
(
[sname] => fgfg
)
------------------------------------------------------------------------
[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 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