#22427 [Com]: Missing Form Post Data

Ask a Question related to PHP Bugs, Design and Development.

  1. #1

    Default #22427 [Com]: Missing Form Post Data

    ID: 22427
    Comment by: zero at tilt dot eu dot org
    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:

    Same prob, PHP5 in cgi, Apache and env REQUEST_METHOD is POST, there is
    a content length, but $_POST is empty...

    This is not a prob with my browser. Tested with Opera 9 and Firefox
    1.5. And oh, no prob with an other server :/

    Weird.


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

    [2006-09-14 13:06:50] emil dot hall at gamereactor dot se

    We must be talking about several different bugs here. But the bug where
    some fields are missing from $_POST is NOT a PHP bug, it's all Internet
    Explorer's fault. This HTML reproduces the bug in IE6:

    <form method="post" action="whatever" enctype="multipart/form-data">
    <input type="text" name="field1" value="1">
    <input type="text" name="field2" value="2…">
    <input type="checkbox" name="field3" value="3">
    <input type="submit">
    </form>

    The weird character in the second input field will mess up IE's submit.
    Characters that confuse IE include:
    three-dots-as-one-char … aka chr(133)
    the long dash – aka chr(150)
    and the double quotation mark “ aka chr(147)
    All very common when you copy&paste from MS Word, just like Egil said.
    A packet sniffer reveals the broken POST request: (some irrelevant
    headers have been removed)

    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=---------------7d6399243401fe

    field1"

    1
    ---------------7d6399243401fe
    Content-Disposition: form-data; name="field2"

    2.
    ---------------7d6399243401fe--


    Submit the same form with Firefox and the difference is obvious:


    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=------------------41184676334

    ------------------41184676334
    Content-Disposition: form-data; name="field1"

    1
    ------------------41184676334
    Content-Disposition: form-data; name="field2"

    2.
    ------------------41184676334--

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

    [2006-08-29 18:16:32] egil at egil dot net

    Sorry for flooding this one, but I have noticed something else
    that I think is important here. I am not always getting this
    bug with IE6 either, it depends on the text I submit into one
    of my textarea or text fields. If one of them containts a
    double quotation mark of the type you get if you press shift-2
    within Word (not the standard double quotation mark, which
    works fine) and copy/paste the text into a textarea or
    textfield.

    Please contact me if you need a better explaination and/or
    testdata.

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

    [2006-08-29 18:04:31] egil at egil dot net

    Forgot to mention that I am having this problem with PHP 5.1.4
    running on FreeBSD and Apache 1.3.34.

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

    [2006-08-29 17:57:53] egil at egil dot net

    I am also getting the exact same problem as "rossi at nelis
    dot fr" and "gregory dot boyer at limbas dot com". I am not
    able to reproduce this problem in other browsers than IE6
    posting using multipart/form-data as enctype.

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

    [2006-08-11 15:43:05] gregory dot boyer at limbas dot com

    we experience the same trouble as "rossi at nelis dot fr"
    A form is send with POST method and with enctype multipart/form-data,
    in the target page the first field is missing. It is only occuring in
    IE6.0, and only with the enctype

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

    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
    [url]http://bugs.php.net/22427[/url]

    --
    Edit this bug report at [url]http://bugs.php.net/?id=22427&edit=1[/url]
    zero at tilt dot eu dot org Guest

  2. Similar Questions and Discussions

    1. redirect but with post data - mimick form post behaviour
      Any thoughts on how to mimic result of submitting form data via POST Method? I have some code that sanitizes some submitted formfields and i'd like...
    2. How to post some data in form of POST action of forms in asp?
      Hi there, I need to post some information into an ASP page (mypage.asp), in form of POST action which I do with the following code: 'contents...
    3. #24013 [Com]: Missing Form Post Data
      ID: 24013 Comment by: michael dot lindner at gmlindner dot de Reported By: webmaster at dtshowtime dot lu dot eu dot org...
    4. #24753 [Opn]: missing character in POST data
      ID: 24753 User updated by: robin at newloop dot com Reported By: robin at newloop dot com Status: Open Bug Type: ...
    5. #24753 [Fbk->Opn]: missing character in POST data
      ID: 24753 User updated by: robin at newloop dot com Reported By: robin at newloop dot com -Status: Feedback...
  3. #2

    Default #22427 [Com]: Missing Form Post Data

    ID: 22427
    Comment by: thisisrobg at gmail 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:

    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.


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

    [2006-10-07 04:29:05] zero at tilt dot eu dot org

    Same prob, PHP5 in cgi, Apache and env REQUEST_METHOD is POST, there is
    a content length, but $_POST is empty...

    This is not a prob with my browser. Tested with Opera 9 and Firefox
    1.5. And oh, no prob with an other server :/

    Weird.

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

    [2006-09-14 13:06:50] emil dot hall at gamereactor dot se

    We must be talking about several different bugs here. But the bug where
    some fields are missing from $_POST is NOT a PHP bug, it's all Internet
    Explorer's fault. This HTML reproduces the bug in IE6:

    <form method="post" action="whatever" enctype="multipart/form-data">
    <input type="text" name="field1" value="1">
    <input type="text" name="field2" value="2…">
    <input type="checkbox" name="field3" value="3">
    <input type="submit">
    </form>

    The weird character in the second input field will mess up IE's submit.
    Characters that confuse IE include:
    three-dots-as-one-char … aka chr(133)
    the long dash – aka chr(150)
    and the double quotation mark “ aka chr(147)
    All very common when you copy&paste from MS Word, just like Egil said.
    A packet sniffer reveals the broken POST request: (some irrelevant
    headers have been removed)

    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=---------------7d6399243401fe

    field1"

    1
    ---------------7d6399243401fe
    Content-Disposition: form-data; name="field2"

    2.
    ---------------7d6399243401fe--


    Submit the same form with Firefox and the difference is obvious:


    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=------------------41184676334

    ------------------41184676334
    Content-Disposition: form-data; name="field1"

    1
    ------------------41184676334
    Content-Disposition: form-data; name="field2"

    2.
    ------------------41184676334--

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

    [2006-08-29 18:16:32] egil at egil dot net

    Sorry for flooding this one, but I have noticed something else
    that I think is important here. I am not always getting this
    bug with IE6 either, it depends on the text I submit into one
    of my textarea or text fields. If one of them containts a
    double quotation mark of the type you get if you press shift-2
    within Word (not the standard double quotation mark, which
    works fine) and copy/paste the text into a textarea or
    textfield.

    Please contact me if you need a better explaination and/or
    testdata.

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

    [2006-08-29 18:04:31] egil at egil dot net

    Forgot to mention that I am having this problem with PHP 5.1.4
    running on FreeBSD and Apache 1.3.34.

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

    [2006-08-29 17:57:53] egil at egil dot net

    I am also getting the exact same problem as "rossi at nelis
    dot fr" and "gregory dot boyer at limbas dot com". I am not
    able to reproduce this problem in other browsers than IE6
    posting using multipart/form-data as enctype.

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

    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
    [url]http://bugs.php.net/22427[/url]

    --
    Edit this bug report at [url]http://bugs.php.net/?id=22427&edit=1[/url]
    thisisrobg at gmail dot com Guest

  4. #3

    Default #22427 [Com]: Missing Form Post Data

    ID: 22427
    Comment by: celtic at sairyx dot org
    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'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.


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

    [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.

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

    [2006-10-07 04:29:05] zero at tilt dot eu dot org

    Same prob, PHP5 in cgi, Apache and env REQUEST_METHOD is POST, there is
    a content length, but $_POST is empty...

    This is not a prob with my browser. Tested with Opera 9 and Firefox
    1.5. And oh, no prob with an other server :/

    Weird.

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

    [2006-09-14 13:06:50] emil dot hall at gamereactor dot se

    We must be talking about several different bugs here. But the bug where
    some fields are missing from $_POST is NOT a PHP bug, it's all Internet
    Explorer's fault. This HTML reproduces the bug in IE6:

    <form method="post" action="whatever" enctype="multipart/form-data">
    <input type="text" name="field1" value="1">
    <input type="text" name="field2" value="2…">
    <input type="checkbox" name="field3" value="3">
    <input type="submit">
    </form>

    The weird character in the second input field will mess up IE's submit.
    Characters that confuse IE include:
    three-dots-as-one-char … aka chr(133)
    the long dash – aka chr(150)
    and the double quotation mark “ aka chr(147)
    All very common when you copy&paste from MS Word, just like Egil said.
    A packet sniffer reveals the broken POST request: (some irrelevant
    headers have been removed)

    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=---------------7d6399243401fe

    field1"

    1
    ---------------7d6399243401fe
    Content-Disposition: form-data; name="field2"

    2.
    ---------------7d6399243401fe--


    Submit the same form with Firefox and the difference is obvious:


    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=------------------41184676334

    ------------------41184676334
    Content-Disposition: form-data; name="field1"

    1
    ------------------41184676334
    Content-Disposition: form-data; name="field2"

    2.
    ------------------41184676334--

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

    [2006-08-29 18:16:32] egil at egil dot net

    Sorry for flooding this one, but I have noticed something else
    that I think is important here. I am not always getting this
    bug with IE6 either, it depends on the text I submit into one
    of my textarea or text fields. If one of them containts a
    double quotation mark of the type you get if you press shift-2
    within Word (not the standard double quotation mark, which
    works fine) and copy/paste the text into a textarea or
    textfield.

    Please contact me if you need a better explaination and/or
    testdata.

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

    [2006-08-29 18:04:31] egil at egil dot net

    Forgot to mention that I am having this problem with PHP 5.1.4
    running on FreeBSD and Apache 1.3.34.

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

    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
    [url]http://bugs.php.net/22427[/url]

    --
    Edit this bug report at [url]http://bugs.php.net/?id=22427&edit=1[/url]
    celtic at sairyx dot org Guest

  5. #4

    Default #22427 [Com]: Missing Form Post Data

    ID: 22427
    Comment by: arek_felinczak at o2 dot pl
    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 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


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

    [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.

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

    [2006-10-07 04:29:05] zero at tilt dot eu dot org

    Same prob, PHP5 in cgi, Apache and env REQUEST_METHOD is POST, there is
    a content length, but $_POST is empty...

    This is not a prob with my browser. Tested with Opera 9 and Firefox
    1.5. And oh, no prob with an other server :/

    Weird.

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

    [2006-09-14 13:06:50] emil dot hall at gamereactor dot se

    We must be talking about several different bugs here. But the bug where
    some fields are missing from $_POST is NOT a PHP bug, it's all Internet
    Explorer's fault. This HTML reproduces the bug in IE6:

    <form method="post" action="whatever" enctype="multipart/form-data">
    <input type="text" name="field1" value="1">
    <input type="text" name="field2" value="2…">
    <input type="checkbox" name="field3" value="3">
    <input type="submit">
    </form>

    The weird character in the second input field will mess up IE's submit.
    Characters that confuse IE include:
    three-dots-as-one-char … aka chr(133)
    the long dash – aka chr(150)
    and the double quotation mark “ aka chr(147)
    All very common when you copy&paste from MS Word, just like Egil said.
    A packet sniffer reveals the broken POST request: (some irrelevant
    headers have been removed)

    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=---------------7d6399243401fe

    field1"

    1
    ---------------7d6399243401fe
    Content-Disposition: form-data; name="field2"

    2.
    ---------------7d6399243401fe--


    Submit the same form with Firefox and the difference is obvious:


    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=------------------41184676334

    ------------------41184676334
    Content-Disposition: form-data; name="field1"

    1
    ------------------41184676334
    Content-Disposition: form-data; name="field2"

    2.
    ------------------41184676334--

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

    [2006-08-29 18:16:32] egil at egil dot net

    Sorry for flooding this one, but I have noticed something else
    that I think is important here. I am not always getting this
    bug with IE6 either, it depends on the text I submit into one
    of my textarea or text fields. If one of them containts a
    double quotation mark of the type you get if you press shift-2
    within Word (not the standard double quotation mark, which
    works fine) and copy/paste the text into a textarea or
    textfield.

    Please contact me if you need a better explaination and/or
    testdata.

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

    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
    [url]http://bugs.php.net/22427[/url]

    --
    Edit this bug report at [url]http://bugs.php.net/?id=22427&edit=1[/url]
    arek_felinczak at o2 dot pl Guest

  6. #5

    Default #22427 [Com]: Missing Form Post Data

    ID: 22427
    Comment by: elio at tondo dot it
    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 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?


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

    [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.

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

    [2006-10-07 04:29:05] zero at tilt dot eu dot org

    Same prob, PHP5 in cgi, Apache and env REQUEST_METHOD is POST, there is
    a content length, but $_POST is empty...

    This is not a prob with my browser. Tested with Opera 9 and Firefox
    1.5. And oh, no prob with an other server :/

    Weird.

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

    [2006-09-14 13:06:50] emil dot hall at gamereactor dot se

    We must be talking about several different bugs here. But the bug where
    some fields are missing from $_POST is NOT a PHP bug, it's all Internet
    Explorer's fault. This HTML reproduces the bug in IE6:

    <form method="post" action="whatever" enctype="multipart/form-data">
    <input type="text" name="field1" value="1">
    <input type="text" name="field2" value="2…">
    <input type="checkbox" name="field3" value="3">
    <input type="submit">
    </form>

    The weird character in the second input field will mess up IE's submit.
    Characters that confuse IE include:
    three-dots-as-one-char … aka chr(133)
    the long dash – aka chr(150)
    and the double quotation mark “ aka chr(147)
    All very common when you copy&paste from MS Word, just like Egil said.
    A packet sniffer reveals the broken POST request: (some irrelevant
    headers have been removed)

    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=---------------7d6399243401fe

    field1"

    1
    ---------------7d6399243401fe
    Content-Disposition: form-data; name="field2"

    2.
    ---------------7d6399243401fe--


    Submit the same form with Firefox and the difference is obvious:


    POST /whatever HTTP/1.1
    Content-Type: multipart/form-data;
    boundary=------------------41184676334

    ------------------41184676334
    Content-Disposition: form-data; name="field1"

    1
    ------------------41184676334
    Content-Disposition: form-data; name="field2"

    2.
    ------------------41184676334--

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

    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
    [url]http://bugs.php.net/22427[/url]

    --
    Edit this bug report at [url]http://bugs.php.net/?id=22427&edit=1[/url]
    elio at tondo dot it Guest

  7. #6

    Default #22427 [Com]: Missing Form Post Data

    ID: 22427
    Comment by: jpsoren at gmail 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:

    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.


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

    [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.

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

    [2006-10-07 04:29:05] zero at tilt dot eu dot org

    Same prob, PHP5 in cgi, Apache and env REQUEST_METHOD is POST, there is
    a content length, but $_POST is empty...

    This is not a prob with my browser. Tested with Opera 9 and Firefox
    1.5. And oh, no prob with an other server :/

    Weird.

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

    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
    [url]http://bugs.php.net/22427[/url]

    --
    Edit this bug report at [url]http://bugs.php.net/?id=22427&edit=1[/url]
    jpsoren at gmail dot com Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139