From: [EMAIL PROTECTED]
Operating system: FreeBSD 4.X
PHP version: 4.2.3
PHP Bug Type: Variables related
Bug description: $_POST values are truncated
When checkboxes are used in a form with arrays (e.g. name=something[])
values retrieved from the resulting $_POST[something] array are trunacted.
In fact, the first 4 bytes are truncated.
If values are POSTED one by one, i.e. not via an array, things seem to
work.
The same script used to work on 4.2.2. I discovered this problem after
upgrading to 4.2.3
---sample form starts---
<html>
<head>
</head>
<form action="prob1.php" method="POST">
<input type=checkbox name=somevar[]
value="01234567890abcdefghijklmnopqrstu">
01234567890abcdefghijklmnopqrstu<br>
<input type=checkbox name=somevar[]
value="abcdefghijklmnopqrstu">abcdefghijklmnopqrstu<br>
<input type=checkbox name=somevar[] value="01234567">01234567<br>
<input type=checkbox name=somevar[] value="0123456">0123456<br>
<input type=checkbox name=somevar[] value="012345">012345<br>
<input type=checkbox name=somevar[] value="01234">01234<br>
<input type=checkbox name=somevar[] value="0123">0123<br>
<input type=checkbox name=somevar[] value="012">012<br>
<input type=checkbox name=somevar[] value="01">01<br>
<input type=checkbox name=somevar[] value="0">0<br>
<input type="submit" value="OK">
</body>
</html>
---sample form ends---
---PHP used to process above starts---
<html>
<head>
</head>
<?
$somevar_arr = $_POST["somevar"];
if( sizeof( $somevar_arr ) ) {
for( $i = 0; $i < count( $somevar_arr ); $i++ ) {
printf("somevar[%d]: %s <br>", $i, $somevar_arr[$i] );
}
}
for( $i = 0; $i < count( $_ENV ); $i++ ) {
printf("env[%d]: %s <br>", $i, $ENV[$i] );
}
?>
<hr>
</body>
</html>
---scripts ends ---
Results generated by script:
somevar[0]: 4567890abcdefghijklmnopqrstu
somevar[1]: efghijklmnopqrstu
somevar[2]: 4567
somevar[3]: 456
somevar[4]: 45
somevar[5]: 4
somevar[6]:
somevar[7]: 012
somevar[8]: 01
somevar[9]: 0
-------------------------
===end of report===
--
Edit bug report at http://bugs.php.net/?id=19474&edit=1
--
Try a CVS snapshot: http://bugs.php.net/fix.php?id=19474&r=trysnapshot
Fixed in CVS: http://bugs.php.net/fix.php?id=19474&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=19474&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=19474&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=19474&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=19474&r=support
Expected behavior: http://bugs.php.net/fix.php?id=19474&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=19474&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=19474&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=19474&r=globals