07. december 2012 - 12:49Der er
8 kommentarer og 1 løsning
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
Men hvis du vil give den information, så gør sådan:
strSQL = "SELECT * FROM medlem WHERE Medlemsnr = '" & strMedlemsnr & "' AND kodeord = '" & strPassword & "'" Set rs = Conn.Execute(strSQL)
if rs.eof then Response.write "Brugernavn er forkert" else if rs("kodeord") = strPassword then response.write "velkommen" else response.write "Password er forkert" end if end if
Ellers tak, jeg samler ikke point, så de må gå til mortvaders =)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.