webForumDet fria alternativet

Formulärfel? - wml

Webbutvecklingur Webbutveckling - Övrigt

9 svar · 445 visningar · startad av Andreas S

Medlem sedan dec. 200230 inlägg
Frågan#1

Jag har problem med wml :(
I min wap-version ska gästboken finnas.

Men jag får inte funktionen att funka.
Får följande fel meddelande: HTTP Fel : 500 (Internal Server Error).

write.asp

<?xml version="1.0" encoding="ISO-8859-1"?>
<%Response.ContentType = "text/vnd.wap.wml"%>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="main" title="Rest">

<small>
<p>

Namn: <input name="namn" type="text" size="15"/><br/>
Email: <input name="epost" type="text" size="15"/><br/>
Text: <input name="inlagg" type="text" size="15"/><br/>

<anchor>Skriv<go href="guest_make.asp" method="post">
<postfield name="namn" value="$(namn)"/>
<postfield name="epost" value="$(epost)"/>
<postfield name="inlagg" value="$(inlagg)"/>
</go></anchor>

</p>
</small>

</card>
</wml>

update.asp

<%
response.buffer = TRUE
Response.ContentType = "text/vnd.wap.wml" 
Namn = Request.Form("namn")
Epost = Request.Form("epost")
Inlagg = Request.Form("inlagg")
%>

<%
If Len(Trim(Namn)) > 0 AND Len(Trim(Inlagg)) > 0 Then
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "databas"
SQLStmt = "INSERT INTO Gastbok "
SQLStmt = SQLStmt & "(Namn, Epost, Inlagg) "
SQLStmt = SQLStmt & "VALUES('" & Namn & "', '" & Epost &  "', '" & Inlagg & "'); "
Set Poster = Connection.Execute(SQLStmt)
Connection.Close
Response.Redirect "guest.asp"
%>

<%else%>

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="main" title="Test">
<p>
<small>

Namn eller inlägg saknas!

</small>
</p>

</card>
</wml>

Hoppas jag har missat något :e

Medlem sedan feb. 20022 594 inlägg
#2

Byt

Set Poster = Connection.Execute(SQLStmt)

mot

Connection.Execute(SQLStmt) ,,128
Medlem sedan dec. 200230 inlägg
#3

Har fortfarande samma problem :(

Medlem sedan juli 20013 378 inlägg
#4

Har du en länk till sidan så att vi kan titta på WML-koden direkt?

Medlem sedan dec. 200230 inlägg
#5

Det funkar att skriva inlägg via WinWAP, men inte via gelon och mobilen :(

http://www.hultarp.com/wap/guest.asp

Medlem sedan juli 20013 378 inlägg
#6

Hmm..
Det beror antagligen på att filen guest_write.asp innehåller några konstigheter som gör att den inte levererar giltig XML.. och alltså inte heller giltig WML...

  1. Du har en blankrad före <?xml?>-taggen - det kan vara ett problem... men det är inte säkert att det blir det i alla nallefoner...
  2. Du kan inte ha <small> som yttersta tagg i ett <card> sådär. Prova med <p> istället.
  3. Du kan inte ha ett <p> inuti ett annat <p>.

Här är ett exempel på motsvarande fil med ändringar som kodmässigt går igenom validering mot DTD:n (har dock inte testat med nallefon eller att det "ser bra ut" ;) )

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" 
     "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="main" title="Guestbook">
<p>

Skriv
<br/><br/>
</p>
<p>Namn: <input name="namn" type="text" size="15"/><br/>
Email: <input name="epost" type="text" size="15"/><br/>
Text: <input name="inlagg" type="text" size="15"/><br/>

<anchor>Skriv<go href="guest_make.asp" method="post">
<postfield name="namn" value="$(namn)"/>
<postfield name="epost" value="$(epost)"/>
<postfield name="inlagg" value="$(inlagg)"/>
</go></anchor>
</p>

</card>
</wml>

Jag brukar angripa den här typen av fel genom att ladda ner den resulterande WML-koden ( just nu använder jag Mozilla och laddar ner koden till disk, men "View source" i WinWAP och lite "klipp och klistra"borde också kunna funka... Men det har jag inte kunnat testa på just det här exemplet eftersom jag inte har WinWAP just nu ;) )

När jag sedan väl har lyckats få tag på den resulterade koden , brukar jag validera den som XML i XMLCooktop. det var detta som gjorde att jag upptäckte att koden inte följde WML-DTD:n i just detta fall ;

Medlem sedan dec. 200230 inlägg
#7

Nu kommer jag in på write.asp, men när jag skriver något i formuläret och tycker på skicka kommer ett fel meddelande upp :(

Bad answer from origin server
Medlem sedan dec. 200230 inlägg
#8

Någon? :OO

Medlem sedan dec. 200230 inlägg
#9

Sådär :e

Response.Redirect funkade tydligen inte .... Det var där skon klämde.

Medlem sedan juli 20013 378 inlägg
#10

Det är de små små detaljerna som gör'et :birp

143 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)