ASP login system.
Hejsa NG.Jeg har et loginsystem hvor der en "Husk mig" funktion.
Nu har jeg stirret mig blind i flere timer for det virker nemlig ikke. Ikke der kommer en fejl som sådan, men systemet logger bare ikke ind, og går til opret (som den vil gøre hvis personen ikke er oprettet.).
Først kommer koden på formen på forsiden:
<%
Username = Request.Cookies("brugernavn")
Password = Request.Cookies("password")
%>
<Masser af html kode>
<%
If Session("login") = False THEN
%>
<form method="post" name="adminlogin" action="opret.asp">
<span class="tekstboks">Brugernavn:</span><br>
<input class="forms" size="20" name="username" value="<%=Username%>"><br>
<span class="tekstboks">Password:</span><br>
<input class="forms" size="20" type="password" name="password" value="<%=Password%>"><br><input class="formsknap" type="submit" value="Login" name="Action"><br><span class="tekstboks">Husk mig</span><input type="checkbox" name="rem" value="true"><br><br>
<a href="login.asp" title="Opret ny bruger">Opret bruger</a><br>
<a href="login.asp" title="Få tilsendt dit password">Glemt password</a><br>
</form>
<%
Else
Response.write("<span class=tekstboks>" & session("user") & ", du har nu følgende muligheder:</span><br><br>")
Response.write("<a href=profile.asp?mode=own_profile>Ret profil</a><br><a href=>Se dine film</a><br><a href=>Tilføj film</a><br><a href=>Slet film</a><br><a href=>Se andres film</a>")
Response.write("<form method=post action=logout.asp><input type=submit class=formsknap value=Logout></form>")
End If
%>
Så kommer koden på selve loginsystem:
<% if request.querystring("mode") = "check" then %><%
strUID = Trim(Replace(Request.Form("uid"),"'","''"))
strPWD = Trim(Replace(Request.Form("pwd"),"'","''"))
If Request.Form("rem") = "true" Then
Response.Cookies("brugernavn") = strUID
Response.Cookies("brugernavn").Expires = date() + 365
Response.Cookies("password") = strPWD
Response.Cookies("password").Expires = date() + 365
End If
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application("Provider")
Set Rs = Server.CreateObject("ADODB.Recordset")
SQL ="SELECT * FROM users WHERE (user ='" & strUID & "') AND (password ='" & strPWD & "');"
Rs.Open SQL, Conn
If NOT(Rs.BOF AND Rs.EOF) Then
Session("login") = True
Session("user") = Rs("User")
Session("id") = Rs("id")
Session("lastlogon") = Rs("lastlogon")
session("email") = Rs("email")
Sql = "UPDATE users SET lastlogon = #"& Date() &"# WHERE id = " & Rs("id")
Conn.Execute(Sql)
Response.Redirect(Request.ServerVariables("HTTP_REFERER"))
Else
Response.Redirect("opret.asp")
End If
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
end if%>
Nogen der lige kan pege på hvad der er galt? Hvis jeg fjerner systemet med "Husk mig" virker login fint. Men det andet er mere brugervenligt.
