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