ID: 22427 Comment by: bcoy at chicagoreader dot com Reported By: jroland at uow dot edu dot au Status: No Feedback Bug Type: *General Issues Operating System: Windows XP / 2000 PHP Version: 4.2.3 New Comment:
This post exists to try and organize what I've read above. There appear to be two main issues here. The special character issue in IE seems to be well understood at this point. The fix is to to translate all those characters into ascii (unicode html entities are helpful here). However, it appears that several people, including myself, still have a length problem. In my script, I have max_post_size set to 50M and output_buffering on (as suggested in these comments). I have an all-ascii piece of data, which works up to 10021 characters, but fails at 10022, regardless of what the last character is. This fails in all browsers: Safari, Firefox, and IE. The data is not accessible via $_POST or $HTTP_POST_VARS. It fails with or without enctype="multipart/form-data". getenv("CONTENT_LENGTH") is 10173 in Firefox and 10111 in Safari. If I change to a GET request, I receive an error indicating that the URI is too long for the server to support. My setup is: PHP 5.03 Apache 1.3.33 FreeBSD 4.10 Previous Comments: ------------------------------------------------------------------------ [2007-10-02 06:08:19] solidus_in at yahoo dot com When the post data contains HTML special entities i.e. "&" it is stripped off. PHP POst variable only contains data before the first occurrence of "&" I am not sure whether it is a bug or something else. I am yet to test the POST containing other HTML entities. I have been trying to solve the issue but it remains yet. Any help there? ------------------------------------------------------------------------ [2007-09-21 08:48:04] umberto at meroni dot name Hi there, I solved this problem setting output_buffering = On in my PHP.ini. I hope this helps. Umberto Meroni ------------------------------------------------------------------------ [2007-09-18 11:57:57] idefix at dwaal dot net The same problem happens to me (and my users unfortunately). - PHP Version 5.1.6 - Apache/2.2.3 (CentOS) - only with enctype="multipart/form-data" - only with IE6 on WinXP sp2 - _POST is completely empty (count($_POST) === 0) - Uploaded files are smaller than 3 MB. - Charset: US-ASCII (both Apache header and Meta-tag) For some reason only _some_ IE6 WinXP SP2 machines trigger this error. Opera and Firefox do not seem to trigger this error at all. ------------------------------------------------------------------------ [2007-09-13 20:49:15] lewisagosta at gmail dot com I am still looking for why this worked... but... When I changed "$_POST" to "$HTTP_POST_VARS", the form data is now there. I think it has something to do with the global variables setting, but not sure yet. ------------------------------------------------------------------------ [2007-09-03 11:01:01] ben at hceo dot co dot uk Hi, I found the same POST problem. I have a login form and it works fine on FireFox and IE 6.0.3790, but not on IE 6.0.2800. If the username and password are all one word it works fine on IE 6.0.2800 but if it is made of 2 or more words it only posts the variables once in every 10 or so posts. I read that this problem can be got around by using .htm extension rather than .php - to get around this I changed the httpd.conf file to read: AddType application/x-httpd-php .php .htm I then changed the extension of my login file to .htm and this seems to work ok. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/22427 -- Edit this bug report at http://bugs.php.net/?id=22427&edit=1