[als dit toch meer /13 is, move em dan maar]
Hoewel het vast niet alleen dit karakter is, doet "▪" (& # 9642 ; ) in 1 van mijn formulieren (GoT heeft er geen overigens geen last van) heel erg rare dingen. Dat het karakter speciale behandeling vereist, blijkt uit het volgende stukkie code:
Als ik de meta-tag uitschakel, blijkt het formulier niet meer submitbaar wanneer ik als invoer slechts het "▪"-teken gebruik. Met andere karakters erbij in gaat het prima.
Ok, niet erg, charset specificeren en gaan. Maar nu wordt het echt raar. Helaas kan ik het op simpele wijze niet repliceren, maar ik heb nu het probleem dat het eerste element in m'n POST array op magische wijze verdwijnt wanneer ik m'n originele formulier post.
Dit is een print_r($_POST) van m'n form-data (er hebben dus 100% zeker geen unsets plaats, dit is de pure onaangeroerde POST data):
En dit is er 1tje waarin ik een paragraaf heb zitten met die vermaledijde bullet er in:
Weg article_id....met vage database errors als gevolg...
Ik heb m'n best gedaan de fout te reproduceren met een simpel formulier in plaats van het posten van een intens ranzige lap code (tis een oud cmsje en de klant heeft het probleem 'ontdekt'). dat is me niet gelukt, maar ik heb na lang klooien wel de oorzaak gevonden:
Het formulier bevat namelijk ook file inputs, waardoor het formulier de enctype "multipart/formdata" moet hebben. Als ik die weghaal, gaat alles ineens WEL goed! Maar ja die kan ik natuurlijk niet weghalen, anders doet m'n file-upload het niet meer...
Hoe moet ik dit nou fixen?
Hoewel het vast niet alleen dit karakter is, doet "▪" (& # 9642 ; ) in 1 van mijn formulieren (GoT heeft er geen overigens geen last van) heel erg rare dingen. Dat het karakter speciale behandeling vereist, blijkt uit het volgende stukkie code:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"> </head> <body> <form method ="post"> <textarea id="text" name="text">"▪</textarea> <input type="submit"/> </form> <pre> <? print_r($_POST); ?> </pre> </body> </html> |
Als ik de meta-tag uitschakel, blijkt het formulier niet meer submitbaar wanneer ik als invoer slechts het "▪"-teken gebruik. Met andere karakters erbij in gaat het prima.
Ok, niet erg, charset specificeren en gaan. Maar nu wordt het echt raar. Helaas kan ik het op simpele wijze niet repliceren, maar ik heb nu het probleem dat het eerste element in m'n POST array op magische wijze verdwijnt wanneer ik m'n originele formulier post.
Dit is een print_r($_POST) van m'n form-data (er hebben dus 100% zeker geen unsets plaats, dit is de pure onaangeroerde POST data):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Array ( [article_id] => 66 [article_type] => custom [article_title] => vvv [article_head] => vvv [paragraph_id_1] => 51 [paragraph_body_1] => vvv [paragraph_id_2] => 52 [paragraph_head_2] => [paragraph_body_2] => sdfsdf [article_page] => bernardus [edit] => Wijzigen [nextaction] => admin ) |
En dit is er 1tje waarin ik een paragraaf heb zitten met die vermaledijde bullet er in:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Array ( [article_type] => custom [article_title] => vvv [article_head] => vvv [paragraph_id_1] => 51 [paragraph_body_1] => vvv [paragraph_id_2] => 52 [paragraph_head_2] => [paragraph_body_2] => ▪ stomme rotbullet [article_page] => bernardus [edit] => Wijzigen [nextaction] => admin ) |
Weg article_id....met vage database errors als gevolg...
Ik heb m'n best gedaan de fout te reproduceren met een simpel formulier in plaats van het posten van een intens ranzige lap code (tis een oud cmsje en de klant heeft het probleem 'ontdekt'). dat is me niet gelukt, maar ik heb na lang klooien wel de oorzaak gevonden:
Het formulier bevat namelijk ook file inputs, waardoor het formulier de enctype "multipart/formdata" moet hebben. Als ik die weghaal, gaat alles ineens WEL goed! Maar ja die kan ik natuurlijk niet weghalen, anders doet m'n file-upload het niet meer...
Hoe moet ik dit nou fixen?