[asp/persist upload] vreemd probleem met checkbox

Pagina: 1
Acties:

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 22:50
Hoi mensen,

van een klant een probleem te horen gekregen: niet alle data die in een HTML form wordt gepost, wordt in de database toegevoegd.

Na veel puzzelen ben ik tot wat vreemde conclusies gekomen:
- het ligt aan de tekst in een invoerveld wordt gebruikt
- het probleem treedt alleen indien er van een Radio checkbox gebruik wordt gemaakt.

alles draait onder IIS/ASP + Persists Upload component.

vb.:
http://www.detrekkers.com/_test_form.asp
vul in:
productnaam: "test"
tekst: "test"
garantie: kies maar wat

Op de volgende pagina is de correcte informatie te zien

nogmaals deze pagina maar met andere data:
http://www.detrekkers.com/_test_form.asp
vul in:
productnaam: "test"
tekst: " Deze micro processor gestuurde accu/druppellader, is klaar voor de toekomst. De lader is standaard voorzien van diverse

laadprogramma’s waardoor de lader perfect op elk accutype en toepassing afgesteld kan worden. Het juiste laadprogramma kan heel
"
garantie: kies maar wat

Op de volgende pagina is het product naam niet meer terug te vinden.

nog een test:
http://www.detrekkers.com/_test_form_zonder_checkbox.asp
vul in:
productnaam: "test"
tekst: " Deze micro processor gestuurde accu/druppellader, is klaar voor de toekomst. De lader is standaard voorzien van diverse

laadprogramma’s waardoor de lader perfect op elk accutype en toepassing afgesteld kan worden. Het juiste laadprogramma kan heel
"

Op de volgende pagina is de correctie informatie weer te vinden, dus krijg ik het idee dat dit te maken heeft met het Persists Upload component, in combinatie van een "verkeerde" tekst, en het gebruik van checkboxen.

code:
_test_form.asp
code:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">    
</head>
<body>
    <form ENCTYPE="multipart/form-data" action="_process_test.asp" method="post" name="PRODUCT_ADD">
    <table width="100%" cellspacing="0" cellpadding="0" border="0">
    <tr>
        <td valign="top">
            <table align="center" width="95%" cellspacing="2" cellpadding="2" border="0">
                <tr>
                    <td width="40%"><h1>Product naam:</h1></td>
                    <td width="60%"><input type="text" name="PRODUCT_NAAM" size="50" maxlength="255"></td>
                </tr>
                <tr>
                    <td width="40%"><h1>Product tekst:</h1></td>
                    <td width="60%"><textarea cols="38" rows="5" name="PRODUCT_TEKST"></textarea></td>
                </tr>
                <tr>
                    <td width="40%"><h1>Garantie:</h1></td>
                    <td width="60%">
                        <input type="radio" name="PRODUCT_GARANTY" value="0" checked>geen
                        <input type="radio" name="PRODUCT_GARANTY" value="1">1 jaar
                        <input type="radio" name="PRODUCT_GARANTY" value="2">2 jaar
                        <input type="radio" name="PRODUCT_GARANTY" value="3">3 jaar
                        <input type="radio" name="PRODUCT_GARANTY" value="4">5 jaar                                 
                    </td>                               
                </tr>                               
            </table>
            <input type="submit" value="Product Toevoegen">&nbsp;&nbsp; 
        </td>
    </tr>
    </table>
    </div>
</body>
</html>

_test_form_zonder_checkbox.asp
code:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">    
</head>
<body>
    <form ENCTYPE="multipart/form-data" action="_process_test.asp" method="post" name="PRODUCT_ADD">
    <table width="100%" cellspacing="0" cellpadding="0" border="0">
    <tr>
        <td valign="top">
            <table align="center" width="95%" cellspacing="2" cellpadding="2" border="0">
                <tr>
                    <td width="40%"><h1>Product naam:</h1></td>
                    <td width="60%"><input type="text" name="PRODUCT_NAAM" size="50" maxlength="255"></td>
                </tr>
                <tr>
                    <td width="40%"><h1>Product tekst:</h1></td>
                    <td width="60%"><textarea cols="38" rows="5" name="PRODUCT_TEKST"></textarea></td>
                </tr>                           
            </table>
            <input type="submit" value="Product Toevoegen">&nbsp;&nbsp; 
        </td>
    </tr>
    </table>
    </div>
</body>
</html>

_process_test.asp
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%
Dim Upload,File
Set Upload = Server.CreateObject("Persits.Upload")

Upload.SetMaxSize 500000, True

' Capture and save uploaded image
Upload.SaveToMemory

Response.write "naam: " & Upload.Form("PRODUCT_NAAM") & "<br>"  
Response.write "tekst: " & Upload.Form("PRODUCT_TEKST") & "<br>"    

'Response.write "naam: " & Request.Form("PRODUCT_NAAM") & "<br>"    
'Response.write "tekst: " & Request.Form("PRODUCT_TEKST") & "<br>"  
%>


Ik heb niet kunnen achterhalen wat er zo vreemd is aan de tekst... ok er zitten een berg spaties in, en wat de checkboxen hier mee te maken kunnen hebben.

Iemand een idee?

Verwijderd

code:
1
2
3
4
_process_test.asp
 <%
Dim Upload,File
Set Upload = Server.CreateObject("[b]Persits[/b].Upload")


Moet dat niet "Persists" zijn?

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 22:50
nope, ik zie pas dat het Persits is ipv Persists
(wat ik wel altijd gedacht heb)

Na wat puzzelen weet ik nagenoeg zeker dat het een bug in het component is.

Als ik een

<input type="hidden" name="VERBORGEN" value="NODIG VOOR UPLOAD BUG IN PERSISTS UPLOAD">

toevoeg meteen, na het <FORM> element.

Dan kan ik wel weer PRODUCT_NAAM correct opvragen, maar VERBORGEN heeft dan weer geen waarde meer.

Op een of andere manier raakt dus het eerste element van het form ergens kwijt |:(


Ik zal eens bug-report sturen naar Persits. Maar het is ook wel heel toevallig om dit probleem tegen te komen :P combinatie van component, gebruikte tekst en gebruik van <input type=radio> elementen...

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

volgens mij zit het niet in persits. Ik denk dat het aan de lengte van de text in de textarea ligt ;)

als ik een form invul met weinig gegevens zie ik dat ik dit verstuur (in proxytrace, handig tooltje voor debugwerk ;) )
Pragma: no-cache
Cookie: ASPSESSIONIDASTRDTSB=BJKOMCJAEIDLAPPICBKBEJJJ

-----------------------------7d4321e8048e
Content-Disposition: form-data; name="PRODUCT_NAAM"

test
-----------------------------7d4321e8048e
Content-Disposition: form-data; name="PRODUCT_TEKST"


-----------------------------7d4321e8048e
Content-Disposition: form-data; name="PRODUCT_GARANTY"

0
-----------------------------7d4321e8048e--
verstuur ik het met een ingevuld beschrijving veld zie ik dit:
Pragma: no-cache
Cookie: ASPSESSIONIDASTRDTSB=BJKOMCJAEIDLAPPICBKBEJJJ

PRODUCT_NAAM"

test
-----------------------------7d4310158048e
Content-Disposition: form-data; name="PRODUCT_TEKST"

Deze micro processor gestuurde accu/druppellader, is klaar voor de toekomst. De lader is standaard voorzien van diverse

laadprogramma’s waardoor de lader perfect op elk accutype en toepassing afgesteld kan worden. Het juiste laadprogramma kan heel
-----------------------------7d4310158048e
Content-Disposition: form-data; name="PRODUCT_GARANTY"

0
-----------------------------7d4310158048e--
product_naam wordt dus vernaggelt :? Proxytrace is weleens buggy, maar het zou kunnen dat dit je wat verder helpt ;)

edit: volgens mij zit het hem in die vage quote, dat is geen gewone quote en valt kennelijk buiten de normale ascii range. Zou het kunnen dat je deze niet kunt versturen in combinatie met "multipart/form-data" of zou je wellicht headers op moeten geven voor de codepage :?

edit2: en in mozilla doet hij het wel, ligt volgens mij dus aan hoe de browser die quote (asc:146) probeert te encoden...

edit3: als je <META http-equiv=Content-Type content="text/html; charset=Windows-1252"> opgeeft werkt het wel met dit soort vage tekens, waarschijnlijk werd het veroorzaakt door copy-paste vanuit word? windows-1252 is niet bepaald een open standaard en dus moet je die eigenlijk niet teveel gebruiken, maar het lost wel je probleem op ;)

[ Voor 29% gewijzigd door j_du_pee op 13-04-2004 21:05 ]

kaart != map && bottel != fles
Wacht op antwoord


  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 22:50
ok, ik zal nog wat testen...

maar voorlopig houd ik het op mijn <input type=hidden> :)

bedankt, ik zal dat proxytrace eens gaan gebruiken...

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

trekker22 schreef op 13 april 2004 @ 21:39:
maar voorlopig houd ik het op mijn <input type=hidden> :)
sja, voorlopig werkt het, maar wat als er behalve die quote nog andere tekens instaan die vanuit word worden gepaste?

IMHO los je een probleem op door de bron aan te pakken, niet de symptomen te bestrijden ;)

kaart != map && bottel != fles
Wacht op antwoord

Pagina: 1