webForumDet fria alternativet

Kolla värde i cookie

ASP

7 svar · 198 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Jag håller på och gör en site där man ska kunna rösta tre gånger på vilken som är din favorit film.

Jag har löst det så att först listar jag upp alla filmer ur en databas, och man trycker på en film så skickar man till rosta.asp.

Här ska man första gången bli skickad en cookie, som har värdet 0 från början. Varje gång man röstat plussas det på 1. Rosta.asp kollar om den har 3 som värde och i sånnafall skickas man vidare till redanrostat.asp

Någon som har löst något liknande eller har en bra site där det står bra förklarat om hur man ska lösa detta.

Tacksam för svar

Medlem sedan dec. 19998 577 inlägg
#2

Testa:

If Request.cookies("Rosta")("film_titel") = "" then
Response.cookies("Rosta")("film_titel") = 0
ElseIf Request.cookies("Rosta")("film_titel") > 0 then
Response.cookies("Rosta")("film_titel") = Request.cookies("Rosta")("film_titel") +1
ElseIf Request.cookies("Rosta")("film_titel") > 2 then
Response.redirect "Redanröstat.asp"
End If

Detta är inget jag testat i praktiken... byt ut film_titel mot en dynamsk variabel som du skickar med ifrån sidan före...

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu *hem*
vide@4sale.se

Medlem sedan mars 20002 836 inlägg
#3

Hello,

kom oxå ihåg att använda

Response.Buffer = True

Annar kan man ej sätta en cookie,

cu l8er
PatrikB

Medlem sedan dec. 19996 522 inlägg
#4

Får det inte att fungera..Jag har ett liknande problem som Rilu skrivit om, han hjälpte mig att få ordning på det första

Rosta.asp ser ut så här ungefär nu

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\filmer\filmer.mdb"
SQLstmt = "SELECT * FROM filmer"
SQLstmt = "UPDATE filmer SET poang = poang +1 WHERE FID= " & Request.Querystring("id") & ""
Connection.Execute(SQLstmt)
Response.Redirect("filmer.asp")
%>

FID är filmens unika id och man röstar på dem på filmer.asp och där genom en q.string länk <a href="rosta.asp?id=<%=RS("FID")%>">GE POÄNG</a>

jag skrev detta men det lyckades inte fungera

<%Response.Buffer = True%>
<%
If Request.cookies("rosta")("id") > 2 Then
Response.redirect "redanrostat.asp"
ElseIf Response.cookies("rosta")("id") = Request.cookies("rosta")("id") +1 Then%>
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\filmer\filmer.mdb"
SQLstmt = "SELECT * FROM filmer"
SQLstmt = "UPDATE filmer SET poang = poang +1 WHERE FID = " & Request.Querystring("id") & ""
Connection.Execute(SQLstmt)
Response.Redirect("filmer.asp")
%>
<%
End If
%>

--förbannade kakor, ska aldrig mer äta mammas..

Medlem sedan dec. 19998 577 inlägg
#5

Testa detta:

<%
Response.Buffer = True

If Request.cookies("rosta")("id") > 2 Then
Response.redirect "redanrostat.asp"
Else 
Response.cookies("rosta")("id") = Request.cookies("rosta")("id") +1

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\filmer\filmer.mdb"
SQLstmt = "SELECT * FROM filmer"
SQLstmt = "UPDATE filmer SET poang = poang +1 WHERE FID = " & Request.Querystring("id") & ""
Connection.Execute(SQLstmt)
Response.Redirect("filmer.asp")

End If
%>

... kom ihåg att använda så få avgränsare som det går, då dom tar processorkraft...

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu *hem*
vide@4sale.se

[Redigerat av Vide den 07 jun 2000]

Medlem sedan dec. 19996 522 inlägg
#6

Det fungerar, ibland är man för korkad..ska nog inte ge upp så lätt i fortsättningen ! TACK SÅ MYCKET !

Övrig fråga bara, hur mycket slöar det ner om man har många olika %> taggar ? är det jätte mycket ? Det stod inte något om detta i sams asp bibel som jag nyss läst

Medlem sedan dec. 19998 577 inlägg
#7

Säkerligen inte så mycket, men för god kodnings skull så tycker jag att man skall använda så få som möjligt... det ser helt enkelt bara fult ut när man startar och slutar hela tiden (min åsikt).

Kul att det funkade...

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu *hem*
vide@4sale.se

Medlem sedan dec. 19996 721 inlägg
#8

<%:arna ;) är inget större problem, så länge man har låg belastning, men man man bör vara sparsam när det gäller tyngre grejer. Lika bra att vänja sig vid det rätta, med andra ord.

Varje <% och %> resulterar i en s.k. Context Switch, och det är bökigt för ASP-tolken.

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)