Autologin - fejl!!
Hej EksperterJeg har brugt det autologin som Eagleeye har lagt ud, men kan ikke få det til at virke..
Får følgende fejl:
---------------------------------------
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/forum/login2.asp, line 57
----------------------------------------
LINE 57 :
----------------------------------------
Response.Cookies("login")("password") = RSlogin("password")
----------------------------------------
Der er en side hvor man skriver login info.
Så er der en side der tjekker databasen.
på begge sider er der inkluderet en inc fil:
----------------------------------------
<%
'Tjek om autologin cookie er gemt samt tjek man ikke er logget ind
if Request.Cookies("login")("autologin") = "yes" and session("username") <> "" then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Data Source="& server.mappath("forum.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;"
Set rs = Server.CreateObject("ADODB.RecordSet")
username = replace(Request.Cookies("login")("brugernavn"),"'","''")
password = replace(Request.Cookies("login")("password"),"'","''")
strSQL= "SELECT * FROM users WHERE (username = '" & username & "' AND userpassword='" & password & "');"
Set rs = Conn.Execute (strSQL)
if NOT rs.EOF then
Session("username") = RS("username")
Session("userid") = RS("user_id")
Session("lastvisit") = RS("user_lastvisit")
else
Session("username") = ""
Session("userid") = ""
Session("lastvisit") = ""
end if
Rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
end if
%>
----------------------------------------
Loginfilen ser sådan her ud:
----------------------------------------
<!--#include file="md5.asp"-->
<!--#include file="header.txt"-->
<!--#include file="autologin.inc"-->
<style>
<!--
.gensmall {
FONT-SIZE: 10px
}
.gensmall {
COLOR: #000000
}
-->
</style>
<BR></FONT>
<TABLE id=AutoNumber4 style="BORDER-COLLAPSE: collapse"
borderColor=#111111 cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD width="100%">
<TABLE id=AutoNumber5 cellSpacing=1 cellPadding=4 width="100%"
bgColor=#53544c border=0>
<TBODY>
<TR>
<TD vAlign=top width="76%" bgColor=#f5f5f5>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber6" height="36">
<tr><td><center><%
autologin = Request.Form("autologin")
if autologin <> "" then
Response.Cookies("login")("autologin") = "yes"
else
Response.Cookies("login")("autologin") = "no"
end if
Set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("forum.mdb")
'Tjecker om felterner er udfydlt
if Request.Form("username") <> "" AND Request.Form("password") <> "" then
Sql = "select * from [users] where username = '" & Request.Form("username") & "'"
Set RSlogin = MyConn.Execute(sql)
'Tjecker om brugeren eksisterer
if RSlogin.EOF or RSlogin.BOF then
Response.Write("<b>Brugernavnet eksisterer ikke</b><br>")
else
'tjecker password match
if RSlogin("user_password") = md5(Request.Form("password")) then
if not RSlogin.EOF then
if autologin <> "" then
Response.Cookies("login")("username") = RSlogin("username")
Response.Cookies("login")("password") = RSlogin("password")
end if
Session("username") = RSlogin("username")
Session("userid") = RSlogin("user_id")
Session("lastvisit") = RSlogin("user_lastvisit")
Response.Redirect("default.asp?Mode=Login")
end if
else
%><font size="2" face="Arial"> </font>
<font size="2" face="Arial">Adgangskoden er forkert
<%
end if
end if
RSlogin.Close
set RSlogin = nothing
else
%>
Du har ikke udfyldt felterne
</font>
<%
end if
%></center></td></tr>
</table></TD>
</TR>
</TBODY></TABLE><!--#include file="copyright.txt"--></TD></TR></TBODY></TABLE></DIV>
</FONT>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE> </DIV></BODY></HTML>
----------------------------------------
Håber I kan hjælpe :o)
/Bruhn
