#46694 [NEW]: $_POST variable behaves differently for form with 1 input than multiple
| From: | web at mshearn dot com | Date: | Thu, 27 Nov 2008 03:23:10 +0000 |
| Subject: | #46694 [NEW]: $_POST variable behaves differently for form with 1 input than multiple | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-131399@lists.php.net to get a copy of this message | ||
From: web at mshearn dot com
Operating system: RedHat Linux 2.4.21 x86_64
PHP version: 5.2.6
PHP Bug Type: Variables related
Bug description: $_POST variable behaves differently for form with 1 input than multiple
Description:
------------
Under PHP 5.2.6 the $_POST variable behaves differently for html forms
with 1 input field than forms with more than one. When there is only 1
field in a form the result of $_POST['field_name'] gets returned as:
FIELD_VALUEfield_name=FIELD_VALUE
With multiple form fields the result is returned as you would expect:
FIELD_VALUE
Reproduce code:
---------------
<html>
<head>
<title>PHP 5.2.6 Form $_POST Problem</title>
</head>
<body>
<?php
if ($_POST)
{
print("Contents of \$_POST variable<br /><br />\n");
$count = count($_POST);
print("$_POST contains $count item(s).<br />\n");
foreach (array_keys($_POST) as $key)
{
$$key = $_POST[$key];
print "$key is '${$key}'<br />";
}
}
?>
<hr width="200" align="left"/>
Form with 1 input field<br /><br />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST">
Field1: <input type="text" name="field1"
value="value1"/><br />
<input type="submit" value="Add" />
</form>
<br />
<hr width="200" align="left"/>
Form with 2 input fields<br /><br />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST">
Field2: <input type="text" name="field2" value="value2"
/><br />
Field3: <input type="text" name="field3" value="value3"
/><br />
<input type="submit" value="Add" />
</form>
</body>
</html>
Expected result:
----------------
... click 1st Add button ...
Contents of $_POST variable
Array contains 1 item(s).
field1 is 'value1'
... click 2nd Add button ...
Contents of $_POST variable
Array contains 2 item(s).
field2 is 'value2'
field3 is 'value3'
Actual result:
--------------
... click 1st Add button ...
Contents of $_POST variable
Array contains 1 item(s).
field1 is 'value1field1=value1'
... click 2nd Add button ...
Contents of $_POST variable
Array contains 2 item(s).
field2 is 'value2'
field3 is 'value3'
It works properly for PHP 5.2.4 on another server.
--
Edit bug report at http://bugs.php.net/?id=46694&edit=1
--
Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=46694&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=46694&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=46694&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=46694&r=fixedcvs
Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=46694&r=needdocs
Fixed in release: http://bugs.php.net/fix.php?id=46694&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=46694&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=46694&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=46694&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=46694&r=support
Expected behavior: http://bugs.php.net/fix.php?id=46694&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=46694&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=46694&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=46694&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=46694&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=46694&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=46694&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=46694&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=46694&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=46694&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=46694&r=mysqlcfg