From:             [EMAIL PROTECTED]
Operating system: Linux 2.4.3
PHP version:      4.0.5
PHP Bug Type:     Variables related
Bug description:  $HTTP_POST_VARS incorrectly initialized.

Array variables acquired via the POST method do not appear in the $HTTP_POST_VARS 
array unless magic_quotes_gpc is DISABLED.

For example, if one uses a checkbox array named thus:

<input type="checkbox" name="fred[]" value="1">
<input type="checkbox" name="fred[]" value="2">
<input type="checkbox" name="fred[]" value="3">

an array variable called $fred will appear in the global namespace (assuming 
register_globals is ON). The same array variable should also appear as 
$HTTP_POST_VARS["fred"] (assuming track_vars is ON).

The BUG results in $HTTP_POST_VARS["fred'] appearing, but not as an array variable. 
That is, is_array($HTTP_POST_VARS["fred"]) returns FALSE. Further, the value of 
$HTTP_POST_VARS["fred"] is the string literal "Array" which curiously is the same 
string returned when an array variable is accessed in a scalar context.

If magic_quotes_qpc is DISABLED, this problem vanishes and the value of 
$HTTP_POST_VARS["fred"] is the anticipated array of values of selected checkboxes.

It looks to me like PHP4 is storing the result of a scalar access to the array 
variable $fred in $HTTP_POST_VARS["fred"] when magic_quotes_gpc is enabled. I think 
this qualifies as a bug.

Edit Bug report at:

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to