Avatar billede no_doubt Nybegynder
21. februar 2008 - 19:21 Der er 4 kommentarer og
1 løsning

login tweak

Jeg vil gerne have min side lægger en fejl session alt efter hvad problemet ved login'et er

Altså har felt brugernavn som det hedder både i form og databasen, samt kodeord, som det også både hedder i form og databasen.

Hvis en af dem ikke stemmer overens skal der sættes en bestemt session og redirectes.

Jeg har prøvet lidt med understående men ved ikke hvad der går galt

<%
if request.form("B1") <> "" then
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/db.mdb")
                               
if Request.Form("brugernavn") <> "" AND Request.Form("kodeord") <> "" then
                                   
Sql = "select * from brugere where kodeord = '" & Request.Form("kodeord") & "' AND brugernavn = '" & Request.Form("brugernavn") & "'"
Set rs = Conn.Execute(sql)
                                       
if rs.EOF or rs.BOF then
session("fejl") = "Fejl i din indtastning"
response.Redirect "default.asp"

else

if rs("kodeord") = Request.Form("kodeord") then                                                   
session("login") = rs("id")
session("fejl") = ""
session("side") = "Velkommen.asp"
response.Redirect("default.asp")                                                       

else
session("fejl") = "Fejl i din indtastning"
response.Redirect "default.asp"

end if
end if
end if
end if

%>
Avatar billede klinemann Nybegynder
21. februar 2008 - 21:39 #1
skal det være i sessions?
Avatar billede klinemann Nybegynder
21. februar 2008 - 21:51 #2
'Tjecker om felterner er udfydlt
if Request.Form("brugernavn") <> "" AND Request.Form("brugerkode") <> "" then
   
            Set rs = conn.Execute("select * from bruger where brugernavn = '" & Request.Form("brugernavn") & "'")
                                                                       
            'Tjecker om brugeren eksisterer
            if rs.EOF or rs.BOF then
       
                    session("fejl") = "Fejl i din indtastning"
                    response.Redirect "default.asp"

            else
                    'tjecker om passwordsne matcher hinanden
                    if rs("brugerkode") = Request.Form("brugerkode") then
                    session("login") = rs("id")
                    session("fejl") = ""
                    session("side") = "Velkommen.asp"
                    response.Redirect("default.asp")
                                                                                                     
                    else

                    session("fejl") = "Fejl i din indtastning"
                    response.Redirect "default.asp"

                    end if
            end if
           
           
        rs.Close
        set rs = nothing
       
else   

    session("fejl") = "Felterne er tomme."
    response.Redirect "default.asp"

end if
Avatar billede fennec Nybegynder
22. februar 2008 - 08:29 #3
Hvad er dit problem?? For hvad jeg kan se så burde koden virke fint. Du har dog en "else" som du kan undvære, også skulle du nok beskytte dig mod SQL-injections:

if request.form("B1") <> "" then
    Set conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/db.mdb")
    if Request.Form("brugernavn") <> "" AND Request.Form("kodeord") <> "" then
        Sql = "select * from brugere where kodeord = '" & replace(Request.Form("kodeord"),"'","''") & "' AND brugernavn = '" & replace(Request.Form("brugernavn"),"'","''") & "'"
        Set rs = Conn.Execute(sql)
                                             
        if rs.EOF or rs.BOF then
            session("fejl") = "Fejl i din indtastning"
            response.Redirect "default.asp"
        else
            session("login") = rs("id")
            session("fejl") = ""
            session("side") = "Velkommen.asp"
            response.Redirect("default.asp")                                                     
        end if
    end if
end if

Hvad er "B1" egentlig for en variabel??
Avatar billede no_doubt Nybegynder
02. marts 2008 - 12:40 #4
tak, svar ?
Avatar billede fennec Nybegynder
03. marts 2008 - 08:03 #5
.o) <-- One Eyed Jack
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