19. februar 2004 - 07:36
Der er
14 kommentarer og 1 løsning
Checkbox Ja/Nej, ASP
Hejsa NG. Hvorfor har jeg problemer med at få ASP koden til at tjekke af i Ja/Nej i databasen? Det er: Ja <input type="checkbox" name="udlaant"> Her kommer kode: <% if mode = "mov_ret" then 'Tjecker om brugeren er logget ind if session("user") = "" then Response.Redirect("login.asp") end if 'Henter brugerens profil Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from movie where movuser = '" & Session("user") & "'" rs.open sql, conn, 1, 3 if Request.ServerVariables("REQUEST_METHOD") = "POST" then 'Opdaterer felterner rs.update rs("titel") = Server.HTMLEncode(Request("titel")) rs("slags") = Server.HTMLEncode(Request("slags")) rs("skuespillere") = Server.HTMLEncode(Request("skuespillere")) rs("instruk") = Server.HTMLEncode(Request("instruk")) rs("spilletid") = Server.HTMLEncode(Request("spilletid")) rs("genre") = Server.HTMLEncode(Request("genre")) rs("produkaar") = Server.HTMLEncode(Request("produkaar")) rs("udlaannavn") = Server.HTMLEncode(Request("udlaannavn")) rs("udlaant") = Request.form("udlaant") rs("handling") = Server.HTMLEncode(Request("handling")) rs("stars") = Server.HTMLEncode(Request("stars")) rs.update end if %> <form method="post" action="profile.asp?mode=mov_ret"> <strong>Titel:</strong><br> <input class="forms" size="20" type="text" name="titel" value="<%=rs("titel")%>"><br><br> <strong>Type (VHS/DVD):</strong><br> <input class="forms" size="20" type="text" name="slags" value="<%=rs("slags")%>"><br><br> <strong>Skuespillere (Adskil medk komma):</strong><br> <input class="forms" size="20" type="text" name="skuespillere" value="<%=rs("skuespillere")%>"><br><br> <strong>Instruktør:</strong><br> <input class="forms" size="20" type="text" name="instruk" value="<%=rs("instruk")%>"><br><br> <strong>Spilletid:</strong><br> <input class="forms" size="20" type="text" name="spilletid" value="<%=rs("spilletid")%>"><br><br> <strong>Genre:</strong><br> <input class="forms" size="20" type="text" name="genre" value="<%=rs("genre")%>"><br><br> <strong>Produktions År:</strong><br> <input class="forms" size="20" type="text" name="produkaar" value="<%=rs("produkaar")%>"><br><br> <strong>Handling:</strong><br> <textarea name="handling" cols="35" rows="4" class="forms"><%=rs("handling")%></textarea><br><br> <select class="valg" Name="stars"> <option Value="">- Vælg - <option Value="img src=pics/baggrund/s1.gif">1 <option Value="img src=pics/baggrund/s2.gif">2 <option Value="img src=pics/baggrund/s3.gif">3 <option Value="img src=pics/baggrund/s4.gif">4 <option Value="img src=pics/baggrund/s5.gif">5 <option Value="img src=pics/baggrund/s6.gif">6 </select><br><br> Er filmen udlånt:<br> Ja <input type="checkbox" name="udlaant"> Til: <input class="forms" type="text" size="20" name="udlaannavn"><br><br> <input class="formsknap" size="20" type="submit" value="Opdater" id=submit1 name=submit1></form> </form><br><br><a href="profile.asp?mode=mov_list">Tilbage</a> <% rs.close set rs = nothing end if %>
Annonceindlæg fra Bluecircle
19. februar 2004 - 08:10
#1
<input type="checkbox" name="udlaant"<% if rs("udlaant") == "ja" then response.write "checked" end if %>>
19. februar 2004 - 08:17
#2
Request.form("udlaant") = "ok" 'eller hvilken value der nu er sat i checkboxen rs("udlaant") = "ja" else rs("udlaant") = "nej" end if hvis det er et frue/false felt skal du indsætte "true"/"false"
19. februar 2004 - 08:28
#3
multicoder Det giver: Provider error '80020005' Type mismatch. fennec: Skal det ind sådan her: if Request.ServerVariables("REQUEST_METHOD") = "POST" then 'Opdaterer felterner rs.update rs("titel") = Server.HTMLEncode(Request("titel")) rs("slags") = Server.HTMLEncode(Request("slags")) rs("skuespillere") = Server.HTMLEncode(Request("skuespillere")) rs("instruk") = Server.HTMLEncode(Request("instruk")) rs("spilletid") = Server.HTMLEncode(Request("spilletid")) rs("genre") = Server.HTMLEncode(Request("genre")) rs("produkaar") = Server.HTMLEncode(Request("produkaar")) rs("udlaannavn") = Server.HTMLEncode(Request("udlaannavn")) rs("handling") = Server.HTMLEncode(Request("handling")) rs("stars") = Server.HTMLEncode(Request("stars")) Request.form("udlaant") = "ok" 'eller hvilken value der nu er sat i checkboxen rs("udlaant") = "ja" else rs("udlaant") = "nej" end if rs.update end if Det giver nemlig fejl. Expected statement end if
19. februar 2004 - 08:28
#4
feltet i databasen hedder som skrevet "udlaant" og i designvisning har jeg sat den til Ja/Nej
19. februar 2004 - 08:46
#5
if Request.form("udlaant") = "ok" 'eller hvilken value der nu er sat i checkboxen rs("udlaant") = "ja" else rs("udlaant") = "nej" end if min fejl. der manglede lige en "if"
19. februar 2004 - 09:20
#6
Smed lige et Then efter "OK".. Men "Type mismatch." Med value i chechboxen mener du <input type="checkbox" value="ok">? Jeg tror det er i rs("udlaant") = "ja" else rs("udlaant") = "nej" end if Den giver fejl, efter hvad jeg lige kan tælle...
19. februar 2004 - 09:23
#7
Tror du man i stedet for Ja og Nej skal bruge 1 og 0 ?
19. februar 2004 - 09:26
#8
Brug hellere en SQL-sætning til at opdatere med. Det andet kan give dig problemer. SQL = "Update movie Set titel = '" & Server.HTMLEncode(Request("titel")) & "', slags = '" & Server.HTMLEncode(Request("slags")) & "' where movuser = '" & Session("user") & "'"
19. februar 2004 - 09:27
#9
Nopes...Hehe..Det hjalp ikke.
19. februar 2004 - 09:27
#10
Det prøver jeg lige :)
19. februar 2004 - 09:28
#11
Skal jeg så stadig have dette her med: if Request.form("udlaant") = "ok" 'eller hvilken value der nu er sat i checkboxen rs("udlaant") = "ja" else rs("udlaant") = "nej" end if
19. februar 2004 - 09:28
#12
Nu skulle koden være rigtig. Det lader til at det nu er værdien du gemme i databasen der er forkert. Prøv at gemme "true"/"false" i stedet... Du kan evt. ændre typen til varchar(3), hvis det ikke er nødvendig med et boolean felt, så skal det virke. Men du kan sikkert ikke ændre den tilbage igen. Du vil dog stadig gemme "ja"/"nej" i det tilfælde, men det fylder mere....
19. februar 2004 - 09:34
#13
netro.. Ups, ved hvad du mener.. fennec..Nu virker det. Det var True/False Tak!
19. februar 2004 - 09:34
#14
Skal bruge et svar ;-)
19. februar 2004 - 09:41
#15
ok. I de fleste tilfælde er det også true/false der skal indsættes.....
Kurser inden for grundlæggende programmering