Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[IE] Form met unicode: IE vergeet elements te submitten

Pagina: 1
Acties:

  • Burat
  • Registratie: Oktober 1999
  • Niet online

Burat

bos wortels

Topicstarter
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:
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


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 23:38

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
PHP Version 4.3.3 en voor de rest precies dezelfde setup kent het probleem niet :)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Probeer je attributen eens met " i.p.v. met ' te enclosen?
Geen idee of dat het probleem is, maar het zou me niks verbazen als dit 1 of andere vaagheid van IE is ofzo :Y)

[ Voor 61% gewijzigd door RobIII op 28-01-2005 09:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Dit komt me bekend voor. Een vreselijk vage bug, die voorkwam in ons CMS als er teveel data tegelijk gesubmit werd. Opgelost door als eerste veld in een formulier een dummy hidden input toe te voegen. Erg vreemde bug!

  • Burat
  • Registratie: Oktober 1999
  • Niet online

Burat

bos wortels

Topicstarter
Verwijderd schreef op vrijdag 28 januari 2005 @ 09:50:
Dit komt me bekend voor. Een vreselijk vage bug, die voorkwam in ons CMS als er teveel data tegelijk gesubmit werd. Opgelost door als eerste veld in een formulier een dummy hidden input toe te voegen. Erg vreemde bug!
Dus ook op te lossen door alle button tags een name-attribute te geven :).
We Are Borg schreef op vrijdag 28 januari 2005 @ 09:48:
PHP Version 4.3.3 en voor de rest precies dezelfde setup kent het probleem niet :)
Dus als jij bovenstaand scriptje bezoekt in Internet Explorer, dan krijg je in de print_r van de $_REQUEST zowel 'elem1' als 'elem2'??

Das gek, want ik heb een sterk vermoeden dat het een clientside bug is in IE...

[ Voor 35% gewijzigd door Burat op 28-01-2005 09:53 ]

Homepage | Me @ T.net | Having fun @ Procurios | Collega's gezocht: Webontwikkelaar PHP


  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
We Are Borg schreef op vrijdag 28 januari 2005 @ 09:48:
PHP Version 4.3.3 en voor de rest precies dezelfde setup kent het probleem niet :)
PHP Version 4.3.8 daarentegen wel, bij mij althans

Burat: "Das gek, want ik heb een sterk vermoeden dat het een clientside bug is in IE.."
--> dat denk ik dus ook

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Burat schreef op vrijdag 28 januari 2005 @ 09:51:
Das gek, want ik heb een sterk vermoeden dat het een clientside bug is in IE...
Dat moet haast wel, want je IE ziet niet of de pagina door PHP is gemaakt, of dat 'ie statisch is ofzo... Als je de juiste encoding mee stuurt, je valid (X)HTML stuurt etc, dan ligt het dus aan je browser...En ik neem aan dat data die je niet binnen krijgt niet gepost wordt...
Zal het hier eens testen...

[ Voor 9% gewijzigd door RobIII op 28-01-2005 09:59 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

- Een form met enctype='multipart/form-data' method='post'
Een andere method of enctype was niet mogelijk

- Een aantal form elements
Check, met maar 1 form element gaat het gewoon goed

- Een button-element zonder name-attribute (name='x')
Dit bedenk je toch niet? :P

- Minimaal één form element waarin unicode data zit (bijv. alt-0128 (€), alt-0145 (‘))
Zou kunnen zijn dat dit deel van he probleem was. Mijn conclusie was dat het probleem optrad als er een textarea met teveel tekst werd meegestuurd

- Internet Explorer (Ik heb 6.0.2900.2180.xpsp_sp2_rtm.040803-2158)
Het trad inderdaad alleen op bij IE, volgens mij hadden wij dit al voor SP2

Het is overigens 100% zeker een bug in IE, ik kan niet anders concluderen.

  • Burat
  • Registratie: Oktober 1999
  • Niet online

Burat

bos wortels

Topicstarter
Het is overigens 100% zeker een bug in IE, ik kan niet anders concluderen.
Da denk ik ook :). Is deze bug nog leuk te exploiten oid? Er gaat kennelijk intern in IE wat mis, hij stuurt namelijk een formelement niet mee..

Homepage | Me @ T.net | Having fun @ Procurios | Collega's gezocht: Webontwikkelaar PHP


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-11 09:49

Bosmonster

*zucht*

Als het probleem verholpen kan worden met een name in die button-tag, helpt het dan niet als je ipv button, gewoon input type="button" gebruikt?

  • WormLord
  • Registratie: September 2003
  • Laatst online: 23-11 11:04

WormLord

Devver

Ik heb dat ook ooit gehad en heb het toen op kunnen lossen door "accept-charset='utf8' in de form-tag te zetten.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:38

crisp

Devver

Pixelated

related; zelfs op GoT hebben we er dus in bepaalde gevallen last van: [rml][ Bug] Foutmelding voor lege post, terwijl er wel tekst staat[/rml] :/

Als je de checkbox onder de textarea aanvinkt, en dan submit gaat het ineens wel weer goed....

[ Voor 21% gewijzigd door crisp op 03-02-2005 22:48 ]

Intentionally left blank

Pagina: 1