ID:               22427
 Comment by:       linux at mccoull dot net
 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:

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


Previous Comments:
------------------------------------------------------------------------

[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

------------------------------------------------------------------------

[2006-12-07 22:30:59] celtic at sairyx dot org

I'm experiencing the same problem.

Server's running Apache 2 on a Windows Server 2003 machine.

IE 6.0, Windows XP SP 2, and about 90% of the time, POST data never
reaches my PHP script.

Firefox 1.5 in the same conditions, and it runs perfectly.

It does seem suspiciously like an IE bug, but this seems too big to be
a coincidence that IE never sends POST data to only these PHP
applications.

------------------------------------------------------------------------

[2006-10-18 08:15:50] thisisrobg at gmail dot com

Not sure if it exactly the same problem but POST related.
- PHP5.2.0RC6-dev
- Apache 2.2.3
- IE6

Code
<form name="processing" method="POST" action="sqlprocess.php">
SQL : <input type="text" name="sqlstring" /><br>
SQL2 : <input type="text" name="sqlstring2" /><br>
SQL3 : <input type="text" name="sqlstring3" />
<input type="submit" value="SUBMIT"/>
</form>

/*sqlprocess.php */
$query = $_REQUEST["sqlstring"];
$query2 = $_REQUEST["sqlstring2"];
$query3 = $_REQUEST["sqlstring3"];

print "Query: " . $query . "<br>";
print "Query2: " . $query2 . "<br>";
print "Query3: " . $query3 . "<br>";

---------

Problem: None of the field show up when request.

Experiments
1. Change form method to GET and it work perfectly.
2. Add/Remove fields make no different, still get nothing.
3. Change $_REQUEST to $_POST or $HTTP_POST_VARS make no different,
still get nothing.
4. Change browser to Firefox 2.0b1 and it works fine.
5. Change browser to Opera 9.01 builds 8552 and it works fine.

Expecting the problem to be incompatibility between PHP5.2 and IE6.
I was using PHP5.1.6 and IIS and POST method works.

------------------------------------------------------------------------

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

Reply via email to