Avatar billede dj-hupi Nybegynder
13. februar 2005 - 01:05 Der er 6 kommentarer og
1 løsning

Login probs

Expected 'Then'

/admin/login.asp, line 69

If Request.Form("login") = " & rs("username") & " AND Request.Form("password") = " & rs("password") Then
-----------------------------------^

koden ser sådan ud:

<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/data.mdb")
Conn.Open DSN

strSQL = "Select * From artikel"

If Request.Form("login") = " & rs("username") & " AND Request.Form("password") = " & rs("password") Then

' Hvis korrekt sættes session til JA
  Session("login") = "JA"
  Session.Timeout = 30
  Response.Write "<h1>Du er nu logget korrekt ind</h1>"
  Response.Write "<p><a href='dokument.asp'>Link til beskyttet fil</a></p>"

Else

' Hvis forkert sættes ingen session til NEJ
  Session("login") = "NEJ"
  Session.Timeout = 30
  Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
  Response.Write "<p><a href='dokument.asp'>Link til beskyttet fil</a></p>"

End If


Conn.Close
Set Conn = Nothing
%>
Avatar billede gammelhat Nybegynder
13. februar 2005 - 01:15 #1
Den kodelinie er heller ikke gyldig syntax. Prøv med

If Request.Form("login") = rs("username") AND Request.Form("password") = rs("password") Then


og så skal du nok også lige huske at afvikle din sql. Hvis du har flere brugere i databasen, skal du også have en "where"-betingelse på


login = Request.Form("login")
login = Replace(login, "'", "''") 'forhindrer nogen i at luske sig igennem dit system

strSQL = "Select * From artikel where username='" & login & "'"
Set rs = Conn.Execute(strSQL)
Avatar billede gammelhat Nybegynder
13. februar 2005 - 01:17 #2
OG du skal huske at kontrollere at rs.EOF ikke er True inden du laver ovenstående if-sætning
Avatar billede dj-hupi Nybegynder
13. februar 2005 - 01:24 #3
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/data.mdb")
Conn.Open DSN

strSQL = "Select * From login where username='" & login & "'"
Set rs = Conn.Execute(strSQL)

If Request.Form("login") = rs("username") AND Request.Form("password") = rs("password") Then

login = Request.Form("login")
login = Replace(login, "'", "''")

' Hvis korrekt sættes session til JA
  Session("login") = "JA"
  Session.Timeout = 30
  Response.Write "<h1>Du er nu logget korrekt ind</h1>"
  Response.Write "<p><a href='dokument.asp'>Link til beskyttet fil</a></p>"

Else

' Hvis forkert sættes ingen session til NEJ
  Session("login") = "NEJ"
  Session.Timeout = 30
  Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
  Response.Write "<p><a href='dokument.asp'>Link til beskyttet fil</a></p>"

End If


Conn.Close
Set Conn = Nothing
%>




???
Avatar billede dj-hupi Nybegynder
13. februar 2005 - 01:41 #4
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/data.mdb")
Conn.Open DSN

strSQL = "Select * From login where username='" & login & "'"
Set rs = Conn.Execute(strSQL)


fundet = false
While NOT rs.EOF OR NOT fundet
If Request.Form("login") = rs("username") AND Request.Form("password") = rs("password") Then


login = Request.Form("login")
login = Replace(login, "'", "''")

  Session("login") = "JA"
  Session.Timeout = 30
  Response.Write "<h1>Du er nu logget korrekt ind</h1>"
  Response.Write "<p><a href='default_secure.asp'>Link til beskyttet fil</a></p>"

Else

  Session("login") = "NEJ"
  Session.Timeout = 30
  Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
  Response.Write "<p><a href='default_secure.asp'>Link til beskyttet fil</a></p>"
 

fundet = true
  End if
  rs.MoveNext
wend

Conn.Close
Set Conn = Nothing
%>


Så få jeg fejl her:

If Request.Form("login") = rs("username") AND Request.Form("password") = rs("password") Then
Avatar billede gammelhat Nybegynder
13. februar 2005 - 01:51 #5
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/data.mdb")
Conn.Open DSN

login = Request.Form("login")
login = Replace(login, "'", "''")

strSQL = "Select * From login where username='" & login & "'"
Set rs = Conn.Execute(strSQL)


fundet = false

If Not rs.EOF Then
    If Request.Form("login") = rs("username") AND Request.Form("password") = rs("password") Then
        fundet = True
    End If
End If


If fundet Then

  Session("login") = "JA"
  Session.Timeout = 30
  Response.Write "<h1>Du er nu logget korrekt ind</h1>"
  Response.Write "<p><a href='default_secure.asp'>Link til beskyttet fil</a></p>"

Else

  Session("login") = "NEJ"
  Session.Timeout = 30
  Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
  Response.Write "<p><a href='default_secure.asp'>Link til beskyttet fil</a></p>"

End If


Conn.Close
Set Conn = Nothing
%>
Avatar billede dj-hupi Nybegynder
13. februar 2005 - 01:56 #6
Danke der var en lille fejl som jeg selv rettet ;) Men ellers tak
If fundet Then
=
If fundet = True Then

Laver du et svar ?
Avatar billede gammelhat Nybegynder
13. februar 2005 - 02:50 #7
ok. Når man blot skriver

If fundet Then

er det underforsået at fundet skal være True
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