webForumDet fria alternativet

Kolla om cookies är aktiverat

ASP

8 svar · 246 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Jag har en funktion där jag tänkte kolla om besökaren har cookies aktiverat. På första sidan har jag:

<%  Response.cookies("Validate") = 1 %>

Och sedan på sidan man kommer till direkt efter:

<%  If Request.Cookies("Validate") = "" Then
    Response.redirect("nocookie.asp")
    End If %>

Men ibland fast man har cookies aktiverat skickas man vidare till nocookie.asp sidan. Varför? Är det nåt fel på koden?

Medlem sedan apr. 20012 427 inlägg
#2

Jag är osäker, men du kan ju testa att istället använda:

If Not Request.Cookies("Validate") = 1 Then

Medlem sedan maj 2002821 inlägg
#3

Det blir ju inget felmeddelande eller så, men är inte det egentligen samma sak?

Medlem sedan apr. 20012 427 inlägg
#4

Betyder det att det inte fungerade?

Medlem sedan maj 2002821 inlägg
#5

Ja, alltså den förra fungerar ju också. Men ibland blir det fel... Det borde ju vara så att det alltid fungerar. Antingen kommer man till rätt sida eller till nocookie.asp. Beroende på de inställningar man har. Teoretiskt sett om allt fungerar ska man ju inte komma till nocookie.asp om man har det aktiverat. Det var därför jag tänkte om det var nåt fel i koden. Men det verkar det ju inte vara.

Medlem sedan apr. 20012 427 inlägg
#6

Jag vet inte varför jag inte tänkte på det innan, men har du testat med HasKeys?

If Not Request.Cookies("Validate").HasKeys Then
Medlem sedan maj 2002821 inlägg
#7

Behöver man inte använda:

<% Response.cookies("Validate") = 1 %>

på första sidan om man skriver som du gjorde ovan, på den sida man kommer till om man har cookies aktiverat?

Medlem sedan apr. 20012 427 inlägg
#8

Om du ska använda HasKeys måste du skapa en nyckel.

Med HasKeys:

Response.Cookies("testkaka")("testnyckel") = "foo"
Response.Cookies("testkaka").Expires = DateAdd("m",1, Date)

If Not Request.Cookies("testkaka").HasKeys Then
	'... utför lämplig åtgärd
End If

Utan HasKeys

Response.Cookies("testkaka") = "foo"
Response.Cookies("testkaka").Expires = DateAdd("m",1, Date)

If Not Request.Cookies("testkaka") = "foo" Then
	'... utför lämplig åtgärd
End If

Båda metoderna fungerar utmärkt för mig.

Medlem sedan mars 2002777 inlägg
#9

Re: Kolla om cookies är aktiverat

bigsky skrev:

Jag har en funktion där jag tänkte kolla om besökaren har cookies aktiverat. På första sidan har jag:

<%  Response.cookies("Validate") = 1 %>

Och sedan på sidan man kommer till direkt efter:

<%  If Request.Cookies("Validate") = "" Then
    Response.redirect("nocookie.asp")
    End If %>

Men ibland fast man har cookies aktiverat skickas man vidare till nocookie.asp sidan. Varför? Är det nåt fel på koden?

Du får antagligen fel i din if-sats beroende på olika subtyper.

<%  Response.cookies("Validate") = 1 %>
<%  If Request.Cookies("Validate") <> 1 Then
    Response.redirect("nocookie.asp")
    End If %>
277 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
149 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)