16. oktober 2005 - 22:16
Der er
11 kommentarer og 1 løsning
Bugspotting - Min kode duer ikke
Nogen der kan soptte bugs i det her ?? <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("main.mdb") Conn.Open DSN dim passfail, usefail, mailfail mailfail = 0 if request.form("password1") != request.form("password2") then passfail = 1 else passfail = 0 end if ' SQL forespørgsel strSQL1 = "Select * from users where = '" & request.form("brugernavn") & "'" ' Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL1) if rs.EOF then usefail = 1 else usefail = 0 end if if (mailfail = 0 AND passfail = 0 AND usefail = 0) then strSQL = "Insert into users (name, password, mail)" strSQL = strSQL & "values(name='" & request.form("brugernavn") & "', password='" & request.form("password1") & "', mail='" & request.form("mail") & "')" ' Luk databaseforbindelse Conn.Close Set Conn = Nothing else response.redirect("index.asp?m=" & mailfail & "&p=" & passfail & "&u=" & usefail) end if %>
Annonceindlæg fra Lenovo
16. oktober 2005 - 22:18
#1
Har rettet alle strSQL til strSQL1
16. oktober 2005 - 22:24
#2
Hvordan ytrer fejlen sig?
16. oktober 2005 - 22:25
#3
strSQL1 = "Select * from users where = '" & request.form("brugernavn") & "'" Mangler et felt at sammenligne værdien med.
16. oktober 2005 - 22:26
#4
Man plejer ikke at skrive if request.form("password1") != request.form("password2") then men if request.form("password1") <> request.form("password2") then
16. oktober 2005 - 22:27
#5
Syntaksen for en INSERT er ikke den du skriver, men helt uden =-tegn: strSQL = "Insert into users (name, password, mail)" strSQL = strSQL & "values('" & request.form("brugernavn") & "', '" & request.form("password1") & "', '" & request.form("mail") & "')"
16. oktober 2005 - 22:34
#6
...og læs så på nettet om "SQL-injection" inden du lægger din kode på nettet til fri afbenyttelse ;)
17. oktober 2005 - 10:02
#7
10 point til erikjacobsen og fem til hmortensen. ok ?
17. oktober 2005 - 10:21
#8
Eller... det duer sq ikke endnu tag lige et axtra kik : <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("main.mdb") Conn.Open DSN dim passfail, usefail, mailfail mailfail = 0 if request.form("password1") <> request.form("password2") then passfail = 1 else passfail = 0 end if ' SQL forespørgsel strSQL1 = "Select * from users where name='" & request.form("brugernavn") & "'" ' Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL1) if rs.EOF then usefail = 0 else usefail = 1 end if if (mailfail = 0 AND passfail = 0 AND usefail = 0) then strSQL1 = "Insert into users (name, password, mail)" strSQL1 = strSQL1 & "values(" & request.form("brugernavn") & ", " & request.form("password1") & ", " & request.form("mail") & ")" ' Luk databaseforbindelse Conn.Close Set Conn = Nothing else response.redirect("index.asp?m=" & mailfail & "&p=" & passfail & "&u=" & usefail) end if %>
17. oktober 2005 - 10:21
#9
extra*
17. oktober 2005 - 13:19
#10
Prøv at gøre som vi skriver (det har du ikke gjort), og forklar hvad det er der ikke virker.
17. oktober 2005 - 21:31
#11
Det har jeg da gjordt ? Hvad mangler jeg ?
16. juni 2007 - 22:25
#12
Det er vist på tide at lukke her...
Kurser inden for grundlæggende programmering