Ik heb een gekke bug in een van onze webapplicaties die ervoor zorgde dat in sommige omstandigheden een form fout gesubmit werd. Ik heb er een minimal testcase van gemaakt, en het probleem lijkt het volgende.
Ingredienten:
- Een form met enctype='multipart/form-data' method='post'
- Een aantal form elements
- Een button-element zonder name-attribute (name='x')
- Minimaal één form element waarin unicode data zit (bijv. alt-0128 (€), alt-0145 (‘))
- Internet Explorer (Ik heb 6.0.2900.2180.xpsp_sp2_rtm.040803-2158)
Als je nu het form submit, wordt het eerste form element niet meegestuurd. Als je een van de ingredienten wijzigt (bijvoorbeeld Firefox gebruiken, de button een name-attribute geven, als method 'get' gebruiken, etc) dan gaat het wel goed..
Voorbeeldscript, hier getest op Apache 1.3.33, PHP 5.03:
Dit script is een minimal testcase, toevoegen van xhtml doctypes helpt niet.
Mijn vraag is het volgende: Is dit probleem verklaarbaar/logisch of is het een bug in IE?
Ingredienten:
- Een form met enctype='multipart/form-data' method='post'
- Een aantal form elements
- Een button-element zonder name-attribute (name='x')
- Minimaal één form element waarin unicode data zit (bijv. alt-0128 (€), alt-0145 (‘))
- Internet Explorer (Ik heb 6.0.2900.2180.xpsp_sp2_rtm.040803-2158)
Als je nu het form submit, wordt het eerste form element niet meegestuurd. Als je een van de ingredienten wijzigt (bijvoorbeeld Firefox gebruiken, de button een name-attribute geven, als method 'get' gebruiken, etc) dan gaat het wel goed..
Voorbeeldscript, hier getest op Apache 1.3.33, PHP 5.03:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <?php print("<html> <body> <form enctype='multipart/form-data' method='post' action=''> <input type='text' name='elem1' value='value 1' /><br /> <input type='text' name='elem2' value='' /><br /> <input type='hidden' name='unicodedata' value='€' /><br /> <button>cancel</button> <input type='submit' /><br /> </form> "); print("<pre>" . print_r($_REQUEST, true) . print_r(getallheaders(), true) . "</pre>"); print("</body></html>"); ?> |
Dit script is een minimal testcase, toevoegen van xhtml doctypes helpt niet.
Mijn vraag is het volgende: Is dit probleem verklaarbaar/logisch of is het een bug in IE?
Homepage | Me @ T.net | Having fun @ Procurios | Collega's gezocht: Webontwikkelaar PHP