26. marts 2006 - 16:13Der er
6 kommentarer og 1 løsning
brugernavn findes ikke
Hvordan kan jeg få dette stykke kode til at sende en Error omkring af brugernavn ikke findes som jeg har gjordt med password hvis den kan finde brugernavn og password er forkert !?.
Altså så hvis Brugernavnet ikke findes i min DB så kan den lave en fejl om dette.
kode er:
If usern = "" then Response.redirect("cmsdefault.asp?cmspage=login&error=Du har ikke indtastet et brugernavn.") If userp = "" then Response.Redirect("cmsdefault.asp?cmspage=login&error=Du har ikke indtastet et password.")
strSQL = "SELECT * FROM Users" strSQL = strSQL & " WHERE UN ='"& usern &"'" Set objRS = objConn.Execute(strSQL)
If objRS.recordcount = 0 then objRS.close objConn.close set objRS = nothing set objConn = nothing Response.Redirect("default.asp?cmspage=login&error=Deres brugernavn, passer ikke til det indtastede password.") End If
Det kode du har vist tjekker om brugernavnet findes og det tjekker ikke både brugernavn og password. Du kan lave det sådan du først tjekker brugernavn+password hvis de ikke findes tjek om brugernavnet findes og bagefter om passwordet findes.
Umiddelbart er det ikke sikkert fejl koden vil passe da det kan være man har indtastet forkert brugernavn og password men passwordet findes i databasen på en anden bruger og dermed skriver den brugernavn er forkert.
If usern = "" then Response.redirect("cmsdefault.asp?cmspage=login&error=Du har ikke indtastet et brugernavn.") If userp = "" then Response.Redirect("cmsdefault.asp?cmspage=login&error=Du har ikke indtastet et password.")
Call OpenDB strSQL = "SELECT * FROM Users" strSQL = strSQL & " WHERE UN='"& usern &"'" Set objRS = objConn.Execute(strSQL)
If objRS.recordcount = 0 then objRS.close objConn.close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login&error=Deres brugernavn, passer ikke til det indtastede password.") End If
If objRS("UserClubPassword") = pass Then tjekstatus = objRS("UserClubStatus") If tjekstatus = "inaktiv" Then Response.Redirect("cmsdefault.asp") ElseIf tjekstatus = "lukket" Then Response.Redirect("cmsdefault.asp") End If Session("bla bla bla")
objRS.Close objConn.Close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login") else objRS.Close objConn.Close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login&error=Deres password, passer ikke til det indtastede brugernavn.") end if %>
hvis brugernavnet ikke findes vil objRS være tomt så du skal måske prøve at rette denne:
If objRS.recordcount = 0 then objRS.close objConn.close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login&error=Deres brugernavn, passer ikke til det indtastede password.") End If
Til dette så den tjekker på .EOF:
If objRS.EOF then objRS.close objConn.close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login&error=Deres brugernavn, passer ikke til det indtastede password.") End If
og måske endnu sætte password tjekket ind i else delen:
If objRS.EOF then objRS.close objConn.close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login&error=Deres brugernavn, passer ikke til det indtastede password.") Else
If objRS("UserClubPassword") = uaerp Then tjekstatus = objRS("UserClubStatus") If tjekstatus = "inaktiv" Then Response.Redirect("cmsdefault.asp") ElseIf tjekstatus = "lukket" Then Response.Redirect("cmsdefault.asp") End If Session("bla bla bla")
objRS.Close objConn.Close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login") else objRS.Close objConn.Close set objRS = nothing set objConn = nothing Response.Redirect("cmsdefault.asp?cmspage=login&error=Deres password, passer ikke til det indtastede brugernavn.") end if End If
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.