webForumDet fria alternativet

Fel i inloggningskod!

ASP

2 svar · 163 visningar · startad av magnusfernstrom

Medlem sedan mars 20033 686 inlägg
Frågan#1

Jag har den här koden som sköter inloggningen:

<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("users.mdb")
SQL = "SELECT * FROM users WHERE username = '" & Request.Form("user") & "'"
Set rs = db.Execute(SQL)

If Request.Form("user") = "" then
Response.Redirect "login.asp"
End If

If Request.Form("losen") = "" Then
Response.Redirect "login.asp"
End If

If Request.Form("user") = rs("username") AND Request.Form("losen") = rs("losenord") Then
Session("inloggad") = "ja"
Session("userID") = rs("ID")
Session("userName") = rs("username")
Response.Redirect "sida.asp"
Else
response.redirect "login.asp"
End If
%>

När man inte fyllt in åt fält så skickas man tillbaks till login.asp, samm sak om man endast fyller i lösenords fältet eller användarnamn fältet. Och om man skriver rätt användarnamn samt lösenord så loggas man in.
Men om man däremot skriver något lösenord/användarnamn som inte finns i databasen får jag detta meddelande:

error '80020009'

/slauson/db/1/inloggning.asp, line 17

rad17:

If Request.Form("user") = rs("username") AND Request.Form("losen") = rs("losenord") Then

Tacksam för svar
Mvh Magnus Fernström

Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Ersätt dessa två med javscriptvalidering på inloggningssida, du ska inte trötta ut servern med det. :e

If Request.Form("user") = "" then
Response.Redirect "login.asp"
End If

If Request.Form("losen") = "" Then
Response.Redirect "login.asp"
End If

Att du får fel på rad 17 beror på att du inte har RS.Eof, dvs om inte användaren finns i db'n, vad händer då? Jo, du fastnar på rad 17!

Skriv alltså If RS.Eof then "finns ej" else din rad 17 osv.

Medlem sedan mars 20033 686 inlägg
#3

Aha okej :)
Tack så mycket!

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)