Just nu i M3-nätverket
Gå till innehåll

Cookie


Mel

Rekommendera Poster

Nu hände detta:

 

Response object error 'ASP 0156 : 80004005'

 

Header Error

 

/omrostning/rosta.asp, line 48

 

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

 

 

Länk till kommentar
Dela på andra webbplatser

Ok, fixat nu, det var jag som slarvade med sidans headers på sidan, det är fixat nu. Jag fixade ett annat fel också.

 

<%@LANGUAGE="VBScript" EnableSessionState = False %>
<%
Option Explicit
Response.Buffer = true
Response.Expires = -1000 '// förhindra att sidan cachas
Response.CacheControl = "no-cache" '// förhindra att sidan cachas

Dim Conn, qsID, qsVote, qsNamn
qsID = Request.Querystring("id")
qsVote = Request.QueryString("vote")
qsNamn = Request.QueryString("namn")

function registerVote()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../access-db/galleri.mdb")

Conn.Execute("Update Bilder Set Summa=Summa+" & qsVote &" Where id="& qsID)
Conn.Execute("Update Bilder Set Totalt=Totalt+1 Where id="& qsID)
Conn.Execute("Update Bilder Set V"& qsVote &"=V"& qsVote &"+1 Where id="& qsID)
'// dessa 3 rader kan och bör slås ihop till ett enda sql-kommando, men det är kanske enklare att ha det på detta vis om asp känns lite främmande fortfarande

'// nedan stänger vi och städar upp efter oss [detta skall man ALLTID göra när man pysslat med objekt.
'// När man skrivit 'set variabel = bla' då har man använt ett objekt & då måste man städa efter sig, annars kan det bli problem på servern!
Conn.Close
Set Conn = nothing 
end function

function setCtrlCookie()
Response.Cookies("kaka") = "Klarar"
Response.Cookies("kaka").Expires = DateAdd("d", 1, Date())
'Response.Flush()
end function

function checkCtrlCookie()
if (Request.Cookies("kaka")="Klarar") then
checkCtrlCookie = true
else
checkCtrlCookie = false
end if
end function


Call setCtrlCookie()

if (checkCtrlCookie()) then '// cookies stöds
Call registerVote() '// registrera rösten
Response.Cookies("v"& qsID) = "true"
Response.Cookies("v"& qsID).Expires = DateAdd("h", 24, now())
Response.Redirect("visa.asp?id="& qsNamn)

else '// cookies stöds inte
Response.Redirect("nocookiesforyou.asp")
end if
%>

 

Se till att denna kod är överst i sidans källkod, annars får du samma felmeddelande igen. [dvs ha ingen asp eller html före denna kod]

 

 

[inlägget ändrat 2004-01-16 16:21:56 av dAEk^]

Länk till kommentar
Dela på andra webbplatser

Nu funkar röstningen, men för det första så redirectas man inte om man inaktiverat cookies och man kan även rösta hur många gånger man vill.

 

Länk till kommentar
Dela på andra webbplatser

Finns det inte något sätt att tala om att det är ok att webbläsaren fortsätter att läsa koden om cookiestödet är aktiverat:

 

<%

If Request.Cookies("kaka") <> "" Then

Response."fortsätt"

Else

Response.Redirect("ej_cookiestod.asp")

End If

%>

 

Det skulle vara en så enkel lösning på problemet. Om man inte aktiverat sina cookies så hamnar man på sidan som talar om varför man inte rösten registreras, och om man har aktiverat så läser webbläsaren resten av sidan och rösten registreras.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...