#22427 [Com]: Missing Form Post Data

From: Date: Tue, 12 Jun 2007 21:29:21 +0000
Subject: #22427 [Com]: Missing Form Post Data
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-113720@lists.php.net to get a copy of this message
ID: 22427 Comment by: relisys002 at yahoo 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: Just came across the same problem myself last week. PHP 5.1.6 Apache 2.0.59 FreeBSD 6.1-RELEASE-p11 EVERY browser I have tried in Windows fails to work past a request size of about 1450 bytes. I have tested IE 6.0, FF 2.0.0.3 and Safari Beta 3. PHP still returns the requests size via getenv("CONTENT_LENGTH") but both $_POST and $_GET are empty. When I try the EXACT same page on the EXACT same server with both FF 2.0.0.3 and Safari 2.0.4(419.3) I have no problems submitting however much data I want. Here's my test form: /-------- CODE ---------/ <html><head><title>TEST</title></head> <body> <pre> <?php print_r($_POST); print_r($_GET); echo "Request Length: ".getenv("CONTENT_LENGTH"); ?> </pre> <form method="post" name="form" enctype="multipart/form-data" action="test.php"> <input type="file" name="file" /><br> <input type="text" name="field" value="<?php echo $_POST['field']; ?>" /><br> <textarea cols="80" rows="8" name="text"><?php echo $_POST['text']; ?></textarea><br> <input type="image" name="submit" src="images/addcart.gif" /><br> <input type="submit" name="submit-button" value="Real Submit Button" /> </form> </body></html> /-------- CODE ---------/ I get the same result with and without the enctype. I can't believe nobody has found a solution for this yet. If somebody has, please post it here or email me and I will. Previous Comments: ------------------------------------------------------------------------ [2007-05-10 09:15:10] tnieto at greenbit dot es I have experienced this issue also. My environment is: - php 4.4.2 as a module - Apache 1.3 - Windows 2000 Server When I send a form with a text area using POST i don't receive any data. In my case, it was because I was sending de form using a Javascript code: function newitem(tipus) { var accion; if (tipus == 1) { accion = document.mailing.action="pre_mailingsmanuals.php"; } else { accion = document.mailing.action="env_mailingsmanuals.php"; } document.mailing.action=accion; document.mailing.submit(); } The input was specified as a button: <input type="button" onclick="newitem(1) ...>" instead of as a submit. Also, I was using a Rich Text Area. This issue doesn't occurs with a normal textarea. The form get working when I change the "button" for a "submit", without use javascript code for send it. I hope this message may be usefull for other users with the same problem. There is an official response from the PHP team from this issue ? Regards ------------------------------------------------------------------------ [2007-04-07 14:12:52] linux at mccoull dot net I have been having similar problems, i.e. a form which submits happily in Firefox, but not in IE 7. I have found this (very old!) forum entry - http://www.thescripts.com/forum/thread4451.html - which covers my issue, and I have implemented the solution by checking for (isset($_POST['submit']) || isset($_POST['submit_x'])) to check whether my submit button has been clicked. Note that is an underscore, not a '.'. The solution works for GET method as well, if you are using that. If you submit a form with a 'submit' image button using GET, the browser URL shows submit.x=aa&submit.y=bb where aa and bb are the coordinates within the button image of where you clicked, but you should still check for $_GET['submit_x'] NOT $_GET['submit.x']. As discussed in the above referred forum log this is an issue affecting Internet Explorer, Netscape and Opera, and maybe other browsers, and seems to be a simple failure to conform to the HTML standard for handling forms. Hope this helps someone. Andy ------------------------------------------------------------------------ [2007-03-12 19:53:16] jpsoren at gmail dot com I experience this problem as well. * Happens both with and without enctype set for form * Happens in IE6 and IE7, NOT in Firefox 1.5/2 * Changing form to GET works flawlessly * Input can range from a few text fields (1-6) or a mix of text fields and file fields, or just file fields (enctype set when file fields exist) and POST data will come up empty * Often times hitting reload and selecting to resubmit the form data will have the POST data show up * NO POST data will show up - I don't just lose some early fields PHP 5.2.x (module), Apache 2.2.x, Windows XP SP2 This is a serious issue. Doesn't seem like anyone in this thread has found any sort of solution. Please post (or GET, ha) if you have any insight. ------------------------------------------------------------------------ [2007-02-22 15:25:15] elio at tondo dot it I am experiencing the same problem reported on 29 Aug 2006 by "egil at egil dot net". I can add some more details: - I confirm that it happens only with IE; - it is triggered when a character between 0x80 and 0x9f is used in a form field (e.g. the "Word" quotation marks, but also the Euro symbol) -- please note that these are the transposition in the "high half" part of extended ASCII of the 32 "control characters" of ASCII (0x00 - 0x1f); - it has some relationship with character encoding; - I can reproduce it on Linux with Apache 2 on Fedora 4 - 6 if I don't force "AddDefaultCharset UTF-8" in httpd.conf (the default in Fedora); with this directive the problem dies not happen, but the "strange" characters are interpreted incorrectly (because the file is not UTF8); - I cannot reproduce it on Linux Mandrake 10 / Apache 2; - I cannot reproduce it on Windows XP / XAMPP (Apache 2). A further interesting detail: it happens only if the file containing the form has the .php extension; if it has the .htm extension it does not happen! (please note that I am using plain HTML for the form and some PHP to show the results). From all of the above, it looks like it is not a PHP bug, but instead a IE6 bug that is triggered by some combination of MIME types and character encodings. I am going to prepare a simpler test case (I am currently using a rather complicated page with a multi part form that I extracted from an application that was working on Mandrake and ceased to work on Fedora, and worked again by adding a dummy hidden field as the first one in the form...). When it will be ready I will post it here. In the meantime, does anyone know if a similar problem has been reported elsewhere? ------------------------------------------------------------------------ [2007-02-19 15:27:27] arek_felinczak at o2 dot pl I had the same problem with empty $_POST table. In my case solution was to remove post_max_size line from php.ini. In php.ini i had post_max_size = 16000 instead of default post_max_size = 8M ------------------------------------------------------------------------ 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

« previous php.bugs (#113720) next »