Hejsan! Detta kannske kan insperera dig till hur det borde se ut:Problem med borttagning av cookies
Mitt problem är följande... När jag från en annan sida gör en länk till "login.asp?tabort=kakan" så tas inte cookien bort utan man redirectas vidare till main.asp iaf.
Tanken är ju att man tar bort cookien och länkas hit till login.asp igen för att då få upp inloggningsformuläret igen...
Har grunnat på detta ett bra tag och fattar inte vad som händer...
tacksam för svar!
/Alex
<---- login.asp
<html>
<head>
<title> inloggnings sidan </title>
</head>
<body>
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")&";"
SQL = "SELECT * FROM users WHERE anv='"& Request.Cookies("anv") &"' AND pass='"& Request.Cookies("pass") &"'"
set RecSet = con.execute(sql)
If RecSet.EOF Then
%>
<form method="POST" action="login.asp?action=login"><br><br>Anv:<br>
<input type="text" name="anv" size="20" value="<%=Request.Cookies("anv")%>"><br>Pass:<br>
<input name="pass" size="20" type="password"><br>
<input type="submit" value="Login" name="login"><br>
</form>
<%
Else
session.timeout = 30
Session("inloggad") = "True"
Session("anv") = request.form("anv")
Response.Redirect("main.asp")
End If
RecSet.close : set RecSet = nothing
%>
<%
If Request.QueryString("action") = "login" Then
SQL = "SELECT * FROM users WHERE anv='"& Request.Form("anv") &"' AND pass ='"& Request.Form("pass") &"'"
Set RS = Con.execute(SQL)
Response.Cookies("anv") = "" & request.form("anv") &""
Response.Cookies("pass") = "" & request.form("pass") &""
If RS.EOF Then
Response.write("Fel anv eller lösenord.")
Else
session.timeout = 30
Session("inloggad") = "True"
Session("anv") = request.form("anv")
Response.Redirect("main.asp")
End if
RS.close : set RS = nothing
End if
If Request.QueryString("tabort") = "kakan" Then
Response.Cookies("pass").Expires = now
Session.abandon
Response.Redirect("login.asp")
End if
con.close : Set con = Nothing
%>
</body>
</html>Sv: Problem med borttagning av cookies
<html>
<head>
<title> inloggnings sidan </title>
</head>
<body>
<%
Sub WriteForm(anv)
%>
<form method="POST" action=""><br>
<br>Anv:
<br>
<input type="text" name="anv" size="20" value="<%=Server.HTMLEncode("anv")%>"><br>
Pass:<br>
<input type="password" name="pass" size="20"><br>
<input type="submit" name="action" value="Login" ><br>
</form>
<%
End Sub
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb") & ";"
If Request.QueryString("action") = "Login" Then
anv = Request.Form("anv")
Response.Cookies("anv") = anv
pass = Request.Form("pass")
Response.Cookies("pass") = pass
SQL = "SELECT *" & vbCrLf & _
"FROM users " & vbCrLf & _
"WHERE anv = " & SQLText(anv) & " AND pass = " & SQLText(pass)
Set RS = Con.execute(SQL)
If RS.EOF Then
Response.write("Fel anv eller lösenord.")
WriteForm anv
Else
session.timeout = 30
Session("inloggad") = "True"
Session("anv") = anv
Response.Redirect("main.asp")
End if
RS.close
set RS = nothing
ElseIf Request.QueryString("tabort") = "kakan" Then
Response.Cookies("pass") = ""
Response.Cookies("pass").Expires = now
Session.abandon
Response.Redirect("login.asp")
Else
anv = Response.Cookies("anv")
pass = Response.Cookies("pass")
SQL = "SELECT *" & vbCrLf & _
"FROM users " & vbCrLf & _
"WHERE anv = " & SQLText(anv) & " AND pass = " & SQLText(pass)
set RecSet = con.execute(sql)
If RecSet.EOF Then
WriteForm anv
Else
session.timeout = 30
Session("inloggad") = "True"
Session("anv") = request.form("anv")
Response.Redirect("main.asp")
End If
RecSet.close
set RecSet = nothing
End if
con.close
Set con = Nothing
%>
</body>
</html>