M MM Medlem sedan maj 2000 138 inlägg Frågan 14 juli 2001 16:03 #1 Någon som kan tala om för mig hur jag skickar iväg användaren till inloggningssidan OM kakan har gått ut?
<%
Response.Buffer = True
Response.Cöökies("ID").Expires = DateAdd("h",12,Now)
'=========================
' Här vill jag styra iväg användaren
' om han inte varit här på 12 timmar
If Request.cöökies("ID") "HAR GÅTT UT"
Response.redirect "login.asp"
'================================
Else
Response.cöökies("ID") = Request.cöökies("id")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DATABAS"
strSQL = "select * from Kunder WHERE ID = " & Request.cöökies("id") & ""
Set rs = Conn.Execute(strSQL)
End If
%>
------------------
667 - The neighbour of the beast.
M MM Medlem sedan maj 2000 138 inlägg Testade helt sonika med:
<%
If Request.cöökies("ID")= Expired Then
Response.redirect "login.asp"
%>
Fast inte med öö såklart ;)
Verkar funka som jag tänkt, MEN är det korrekt? Kan det bli några buggar, eller är det just precis så det ska vara?
------------------
667 - The neighbour of the beast.
E emission Medlem sedan dec. 1999 6 721 inlägg Nej, det funkarf inte. I ditt exempel kollar du om kakan innehåller samma sak om den påhittade variabeln Expired, och det ser ju ut att funka, eftersom båda är tomma.
Man kan inte kolla om en kaka är expired, för när den är det så finns den inte längre.
if isempty(request.cöökies("ID")) then..
M MM Medlem sedan maj 2000 138 inlägg hmm. ok
jag tror jag fattar principen.
den kodraden du skrev
-----------
if isempty(request.cöökies("ID")) then..
------------
kollar alltså om det finns någon kaka överhuvudtaget? Det borde ju vara samma sak som jag är ute efter i så fall.
Konstigt bara att det funkar fast man gör helt fel.... för när jag testade mitt påhittade script så redirectades jag ju efter angiven tid...
------------------
667 - The neighbour of the beast.
E emission Medlem sedan dec. 1999 6 721 inlägg Anledningen till att det funkar är att din variabel Expired inte heller finns och då blir villkoret
If Request.cöökies("ID")= Expired
sant
M MM Medlem sedan maj 2000 138 inlägg koden jag har ser nu ut så här...
-------------------
Response.Buffer = True
Response.Cokies("ID").Expires = DateAdd("h",1,Now)
' =========================================
' FIXA denna koll OM cookien är utgången
' if isempty(request.cokies("ID")) then
' =========================================
Response.redirect "login.asp?session=NewLogin"
Else
Response.cokies("ID") = Request.cokies("id")
Set conn = Server.CreateObject("ADODB.Connection")
osv...
-----------------------
jag får felet:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'Cokies'
/kundzon.asp, line 12
( rad 12 är raden:
Response.cokies("ID") = Request.cokies("id")
--------------
vad är felet? Det funkade lokalt, men inte ute i "den riktiga världen"...
------------------
667 - The neighbour of the beast.
@nders Medlem sedan juni 2000 32 967 inlägg det är inte så att du i den skarpa koden skrivit cookies med ett o?
------------------
<A HREF="http://cartman.nu " TARGET=_blank>
can i borrow your goat?
</A>
M MM Medlem sedan maj 2000 138 inlägg nej, men forumet sparkar bakut om jag skriver ut kakor med två o ;)
------------------
667 - The neighbour of the beast.
@nders Medlem sedan juni 2000 32 967 inlägg eftersom du ändrat i felmeddelandet också då eller?
forumet bråkar bara om du skriver punkt-cookies.
har du alltså ändrat i felmeddelandet också?
------------------
<A HREF="http://cartman.nu " TARGET=_blank>
can i borrow your goat?
</A>
M MM Medlem sedan maj 2000 138 inlägg ja, det gick av bara farten, jag trodde forumet inte gillade det heller... felmeddelandet är:
Type mismatch: 'Cookies'
åter till problemet... nån som ser vad som är fel?
------------------
667 - The neighbour of the beast.
@nders Medlem sedan juni 2000 32 967 inlägg lägg gärna upp hela koden så kikar jag.
------------------
<A HREF="http://cartman.nu " TARGET=_blank>
can i borrow your goat?
</A>
M MM Medlem sedan maj 2000 138 inlägg OK, först koden i filen som tar hand om informationen från inloggningsformuläret:
<%@ Language=VBScript %>
<%
Response.Buffer = True
Response.Expires = -1
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control", "no-store"
%>
<%
Dim conn,rs,strsql
set conn = server.CreateObject("ADODB.Connection")
set rs = server.CreateObject("ADODB.Recordset")
Conn.Open "DSN=MySQL; SERVER=server; DATABASE=namn; UID=id; PWD=pw;"
strsql = "Select ID, Password, Username From a1019.kunder where Username = '" & _
Request.Form("txtusername") & "' and Password = '" & _
Request.Form("txtpassword") & "'"
set rs = conn.Execute (strsql)
If (not rs.BOF) and (not rs.EOF) then
Response.Cokies("ID") = rs.Fields("ID")
Response.Redirect ("kundzon.asp")
else
Response.Redirect "login.asp?session=NoAccess"
end if
rs.close
set rs = nothing
conn.close
set conn = nothing
%>
och i filen kundzon:
<!--#include file="admin/connection.asp" -->
<%
Response.Buffer = True
Response.Cokies("ID").Expires = DateAdd("h",1,Now)
' =========================================
' FIXA denna koll OM kakan är utgången
if isempty(request.cokies("ID")) then
' =========================================
Response.redirect "login.asp?session=NewLogin"
Else
Response.cokies("ID") = Request.cokies("ID")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "TelgeKraftMySQL"
strSQL = "select * from Kunder WHERE ID = " & Request.cokies("id") & ""
Set rs = Conn.Execute(strSQL)
End If
%>
<%
' Dim usID
' usID = Request.Cokies("ID")
' strSQL = "select * from a1019.Kunder WHERE ID = '" & usID & "'"
' Set rs = Conn.Execute(strSQL)
%>
------------------
667 - The neighbour of the beast.
M MM Medlem sedan maj 2000 138 inlägg hmm... ingen som vet?
------------------
667 - The neighbour of the beast.