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

Reply via email to