Avatar billede zipper20 Nybegynder
13. juli 2003 - 18:14 Der er 11 kommentarer og
1 løsning

Problemer med Loginsystem

Jeg har "lånt" et loginsystem men kan ikke få det til at virke...
Jeg har udskiftet disse linier :

SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("usersystem.mdb")

- med disse...
Set RS = Server.CreateObject("ADODB.Connection")
rs.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../db/usersystem.mdb")

Det er vist den eneste måde det kan virke på min server...

Men der er endnu et db kald som jeg ikke helt ved hvordan jeg skal kringle ...

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("usersystem.mdb")

I sidste ende skulle den redirecte mig til en default.asp, men jeg får bare en "Siden kan ikke vises"-side...

Kan I hjælpe ?
Avatar billede eagleeye Praktikant
13. juli 2003 - 18:16 #1
Prøv at slå denne fra i IE, så skulle du gerne få en bedre fejl kode/beskrivelse:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede zipper20 Nybegynder
13. juli 2003 - 18:20 #2
Fejl i linie 18, men den kan jeg ikke lige finde... du ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
  <TITLE>Login</TITLE>
</HEAD>
<BODY>

<%
Set RS = Server.CreateObject("ADODB.Connection")
rs.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../db/usersystem.mdb")

If Request("mode") = "Check" then

        strUsername = Trim(Replace(request("username"),"'","''" ))
        strPassword = Trim(Replace(request("password"),"'","''" ))

Sql = "Select Count(*) as Found from users where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    error = "You´re not authed be the system"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("usersystem.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM users where (username = '" & Request("username") & "') and (password ='" & Request("password") &

"')"
  Set ez = myConn.Execute(strSQL)
    Session("login") = "Authed"
    Response.Redirect "default.asp"
    EZ.Close
    RS.Close
    Conn.Close
  End if
End if
%>

<br>
<center>
<form method="POST" action="login.asp">
<input type="hidden" name="mode" VALUE="Check">
<h1>This page requires users to be authed:</h1><br>
<br>
<font face="verdana" size="2">Username:</font>
<input class='text' type='text' name='username' size='15' style='font-family: Verdana; font-size: 8 pt'

value="<%=strbrugernavn%>"></font><br><font class="header">
<font face="verdana" size="2">Password: </font>
<input class="text" type="password" value="<%=strpassword%>" name="password" size="15" style="font-family: Verdana;

font-size: 8 pt"></font><br>
<input class="text" type="submit" value="Login" name="submit" style="font-family: Verdana; font-size: 8 pt"></font>
<br><br><%=error%>
</form>
<font face="verdana" size="2">
Confused ?? Enter test as both login & password to tjek the script !!
</fot>
</center>

</BODY>
</HTML>
Avatar billede eagleeye Praktikant
13. juli 2003 - 18:27 #3
Prøv med denne SQL det kan være Password er reserveret ord:

Sql = "Select Count(*) as Found from users where (username = '" & strUsername  & "') and ([password] ='" & strPassword  & "')"
Avatar billede zipper20 Nybegynder
13. juli 2003 - 18:30 #4
Nope...

error '80004005'
Unspecified error

/login.asp, line 18
Avatar billede zipper20 Nybegynder
13. juli 2003 - 18:40 #5
Ingen der kan hjælpe ??? :o/
Avatar billede zipper20 Nybegynder
13. juli 2003 - 18:48 #6
Okay... jeg lader den hænge her lidt... jeg har en kode nu, som ser så'n ud :


<HTML>
<HEAD>
  <TITLE>Login</TITLE>
</HEAD>
<BODY>

<%
Set RS = Server.CreateObject("ADODB.Connection")
rs.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../db/usersystem.mdb")

If Request("mode") = "Check" then

        strUsername = Trim(Replace(request("username"),"'","''" ))
        strPassword = Trim(Replace(request("password"),"'","''" ))

Sql = "Select Count(*) as Found from users where (username = '" & strUsername  & "') and ([password] ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    error = "You´re not authed be the system"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/usersystem.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM users where (username = '" & Request("username") & "') and (password ='" & Request("password") & "')"
  Set ez = myConn.Execute(strSQL)
    Session("login") = "Authed"
    Response.Redirect "default.asp"
    EZ.Close
    RS.Close
    Conn.Close
  End if
End if
%>

<br>
<center>
<form method="POST" action="login.asp">
<input type="hidden" name="mode" VALUE="Check">
<h1>This page requires users to be authed:</h1><br>
<br>
<font face="verdana" size="2">Username:</font>
<input class='text' type='text' name='username' size='15' style='font-family: Verdana; font-size: 8 pt' value="<%=strbrugernavn%>"></font><br><font class="header">
<font face="verdana" size="2">Password: </font>
<input class="text" type="password" value="<%=strpassword%>" name="password" size="15" style="font-family: Verdana; font-size: 8 pt"></font><br>
<input class="text" type="submit" value="Login" name="submit" style="font-family: Verdana; font-size: 8 pt"></font>
<br><br><%=error%>
</form>
<font face="verdana" size="2">
Confused ?? Enter test as both login & password to tjek the script !!
</fot>
</center>

</BODY>
</HTML>


Og en fejlkode som følger :

error '80004005'
Unspecified error

/login.asp, line 18
Avatar billede eagleeye Praktikant
13. juli 2003 - 18:51 #7
Prøv at tilføje

Set LO = Server.CreateObject("ADODB.RecordSet")


efter linje med:
Set RS = Server.CreateObject("ADODB.Connection")
Avatar billede zipper20 Nybegynder
13. juli 2003 - 18:58 #8
Det hjalp ikke...
Stadig samme fejl (linie 19 nu med det du skrev)
Avatar billede zipper20 Nybegynder
13. juli 2003 - 19:02 #9
Jeg har det på Cliche's server... ved ikke om det er til hjælp... ved godt de er ringe, but never the less...
Avatar billede eagleeye Praktikant
13. juli 2003 - 19:02 #10
Prøv lige at lave denne del:

Sql = "Select Count(*) as Found from users where (username = '" & strUsername  & "') and ([password] ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    error = "You´re not authed be the system"
  else


Om til dette:

Sql = "Select * from users where (username = '" & strUsername  & "') and ([password] ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO.EOF or LO.BOF then
    Session("login") = ""
    error = "You´re not authed be the system"
  else
Avatar billede zipper20 Nybegynder
13. juli 2003 - 19:04 #11
WUHU!! Det virker... mange tak ...

Lav lige et svar så jeg kan pointere dig ;o)
Avatar billede eagleeye Praktikant
13. juli 2003 - 19:04 #12
Ok ;)
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