Avatar billede webcreator Nybegynder
30. marts 2003 - 17:19 Der er 4 kommentarer og
1 løsning

login - tjek

Hej.

Jeg har et lille problem med mit login. men først får I lige koden :


<%

var1=request.form("navn")
var2=request.form("kode")

dbname=Server.MapPath("db.mdb")

set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open

strSQL = "Select * from brugere where usrnavn = '" & var1 & "'"

Set rs = Cn.Execute(strSQL)

var3 = rs("psw1")

' Luk databaseforbindelse
Cn.Close
Set Cn = Nothing

If var2 = var3 Then
response.redirect("uploadgfx.asp?sta=<h2>Du er nu logget på !</h2>")

End if
response.redirect("logon.asp?opd=<h1>Forkert brugernavn eller kode!</h1>")

%>


Som I kan se, så får man et problem, hvis det indtastede brugernavn ikke eksisterer i databasen. For så er strSQL  = "Select * from brugere where usrnavn = '" & var1 & "'" 
ikke korrekt. Så kan den jo ikke vælge fra den korrekte kolonne. Kan man lave et tjek på, om brugernavnet eksisterer i databasen ? Og hvis ikke, så udføre den fx. en redirect.
Avatar billede oasen Nybegynder
30. marts 2003 - 17:22 #1
strSQL = "Select * from brugere where usrnavn = '" & var1 & "'"
Set rs = Cn.Execute(strSQL)
If rs.EOF Then
  response.redirect("logon.asp?opd=<h1>Forkert brugernavn eller kode!</h1>")
Else
  response.redirect("uploadgfx.asp?sta=<h2>Du er nu logget på !</h2>")
End If
Avatar billede oasen Nybegynder
30. marts 2003 - 17:24 #2
Den skal så lige justeres lidt, når du også skal tjekke på password:

strSQL = "Select * from brugere where usrnavn = '" & var1 & "' And psw1 = '" & var2 & "'"
Avatar billede oasen Nybegynder
30. marts 2003 - 17:31 #3
Du kan lige få den i sammenhængende form:

=========================================

<%
var1=request.form("navn")
var2=request.form("kode")

dbname=Server.MapPath("db.mdb")

set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open

strSQL = "Select * from brugere where usrnavn = '" & Replace(var1, "'", "''") & "' And psw1 = '" & Replace(var2, "'", "''") & "'"

Set rs = Cn.Execute(strSQL)

If rs.EOF Then
  Set rs = Nothing
  Cn.Close
  Set Cn = Nothing
  response.redirect("logon.asp?opd=<h1>Forkert brugernavn eller kode!</h1>")
Else
  Set rs = Nothing
  Cn.Close
  Set Cn = Nothing
  response.redirect("uploadgfx.asp?sta=<h2>Du er nu logget på !</h2>")
End If
%>
Avatar billede webcreator Nybegynder
30. marts 2003 - 17:32 #4
mange tak. Lavede det på en lidt anden måde, men det var hovedsageligt "If rs.EOF Then"'en jeg manglede.

- tak igen :)
Avatar billede oasen Nybegynder
30. marts 2003 - 17:38 #5
Så lidt ;)
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