Avatar billede dj-hupi Nybegynder
31. marts 2004 - 01:31 Der er 15 kommentarer og
1 løsning

Login Hurtig hjælp

<html>
<title>tid og dato</title>
<head>
</head>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL = "Select * From login"
Set rs = Conn.Execute(strSQL)

Do

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


  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


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





End If

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

</body>
</html>

hvad gør jeg fejl her ?
Den skal læses af en side som har 2 forme LOGIN og PASSWORD ?
Avatar billede cdc Novice
31. marts 2004 - 08:41 #1
Hvilken fejl får du?
Avatar billede eagleeye Praktikant
31. marts 2004 - 08:51 #2
Du skal huske at if sætninger er case-sensitive.
Så hvis du ikke skriver JA med stort vil den ikke logge ind.

If Request.Form("login") = "JA" AND Request.Form("password") = "JA" Then
Avatar billede eagleeye Praktikant
31. marts 2004 - 08:55 #3
Samt der mangler en rs.MoveNext i det kode du har vist eller hænger sider:

End If
rs.MoveNext  '<----------- tilføjes her
Loop While Not rs.EOF
Avatar billede eagleeye Praktikant
31. marts 2004 - 08:56 #4
Men normalt vil man bruge datasen til at tjekke brugernavn og password op i mod, det vel også derfor der er en database med?

Så din kode bliver:


<html>
<title>tid og dato</title>
<head>
</head>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL = "Select * From login where login = '" & Request.Form("login") & " and [password] = '" & Request.Form("password") & "'"
Set rs = Conn.Execute(strSQL)

if not rs.EOF
  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
  Session("login") = "NEJ"
  Session.Timeout = 30
  Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
  Response.Write "<p><a href='Index.asp'>Link til beskyttet fil</a></p>"

End If

Conn.Close
Set Conn = Nothing
%>

</body>
</html>
Avatar billede dj-hupi Nybegynder
31. marts 2004 - 18:19 #5
Thx Eagle jeg kigger på det om lidt :)
Avatar billede dj-hupi Nybegynder
31. marts 2004 - 18:34 #6
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F9)
'Then' var ventet
login.asp, line 15, column 13
Det er
if not rs.EOF
Avatar billede eagleeye Praktikant
31. marts 2004 - 19:20 #7
ja sorry :) der manger then sådan her:

if not rs.EOF then
Avatar billede dj-hupi Nybegynder
31. marts 2004 - 19:25 #8
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "login = 'Ziij1n and [password] = 'test'".
login.asp, line 13
Avatar billede eagleeye Praktikant
31. marts 2004 - 19:29 #9
Ok, prøv lige at lave denne linje
strSQL = "Select * From login where login = '" & Request.Form("login") & " and [password] = '" & Request.Form("password") & "'"

Om til denne, den manlger et ', hedder dine kolonnenavne login og password i databasen?:

strSQL = "Select * From login where login = '" & Request.Form("login") & "' and [password] = '" & Request.Form("password") & "'"
Avatar billede dj-hupi Nybegynder
31. marts 2004 - 21:45 #10
Det virker heller ikke :S
Avatar billede eagleeye Praktikant
31. marts 2004 - 21:46 #11
Kan du uddybe det?
Avatar billede dj-hupi Nybegynder
31. marts 2004 - 21:47 #12
<html>
<title>tid og dato</title>
<head>
</head>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL = "Select * From login where login = '" & Request.Form("login") & "' and [password] = '" & Request.Form("password") & "'"

if not rs.EOF then
  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
  Session("login") = "NEJ"
  Session.Timeout = 30
  Response.Write "<h1>Du er IKKE logget korrekt ind</h1>"
  Response.Write "<p><a href='Index.asp'>Link til beskyttet fil</a></p>"

End If

Conn.Close
Set Conn = Nothing
%>

</body>
</html>



Siger fejl her :
Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: ''
login.asp, line 14

Hvilket er:
if not rs.EOF then
Avatar billede dj-hupi Nybegynder
31. marts 2004 - 21:47 #13
Sorry troede ikke du var så hurtit ;)
Avatar billede eagleeye Praktikant
31. marts 2004 - 21:49 #14
ok :)
Lige efter denne

strSQL = "Select * From login where login = '" & Request.Form("login") & "' and [password] = '" & Request.Form("password") & "'"

Tilføj denne linje

Set rs = Conn.Execute(strSQL)
Avatar billede dj-hupi Nybegynder
31. marts 2004 - 21:50 #15
Sådan :)
Tag lige og smid et svar ;)
Avatar billede eagleeye Praktikant
31. marts 2004 - 21:51 #16
ok det gør jeg da gerne :))
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