Logik omkring login
Jeg har et check på login. Det er lidt forsimplet som nedenstående.Men jeg synes logikken er lidt forkert. Uanset om jeg skriver kodeord eller brugernavn eller begge forkert vil jeg jo ende i den samme rs.eof og aldrig få brug for den sidste udgave hvor den kun ser at kodeordet er forkert. Har jeg ret?
Hvordan bør man lave login tjekket for at det giver mest mening?
strSQL = "SELECT * FROM medlem WHERE Medlemsnr = '" & strMedlemsnr & "' AND kodeord = '" & strPassword & "'"
Set rs = Conn.Execute(strSQL)
if rs.eof then
'Bruger findes ikke
Response.Redirect "default.asp?msg=" & Server.URLEncode ("Medlemsnr eller kodeord forkert!")
else
if rs("medlemsnr") = strmedlemsnr and rs("kodeord") = strPassword then
'Kode passer også case sensitive
response.redirect "adgangssiden.asp"
else
'Kode passer ikke case sensitive
Response.Redirect "default.asp?msg=" & Server.URLEncode ("Kodeord forkert!")& "&medlemsnr=" & Server.URLEncode(strmedlemsnr)
end if