Avatar billede want2learn Nybegynder
26. marts 2006 - 16:13 Der 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
Avatar billede eagleeye Praktikant
26. marts 2006 - 18:05 #1
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.
Avatar billede want2learn Nybegynder
26. marts 2006 - 18:29 #2
Hvis jeg indtaster et brugernavn som jeg ved ikke findes får jeg denne fejl.

error '80020009'
/cms/cmsverify.asp, line 23

linje 23 = If objRS("UserClubPassword") = pass Then

min kode er:
<%
   
    usern = Request.Form("uname")   
    userp = Request.Form("pword")
   
    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   
%>
Avatar billede want2learn Nybegynder
26. marts 2006 - 18:29 #3
If objRS("UserClubPassword") = pass Then
er selvføllig

If objRS("UserClubPassword") = userp Then
Avatar billede eagleeye Praktikant
26. marts 2006 - 18:32 #4
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
Avatar billede eagleeye Praktikant
26. marts 2006 - 18:33 #5
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
Avatar billede want2learn Nybegynder
26. marts 2006 - 18:45 #6
ny virker det.

Takker vil du lægge et svar.
Avatar billede eagleeye Praktikant
26. marts 2006 - 18:49 #7
Ok ja det gør jeg da ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester