webForumDet fria alternativet

Cookies i länksystem

ASP

1 svar · 218 visningar · startad av m_soderlund

Medlem sedan sep. 20026 425 inlägg
Frågan#1

Jag har ett litet länksystem där man kan rösta på länkar. Om man röstat på en länk ska man inte kunna rösta på den igen förrän nästa dag men man ska ändå kunna rösta på andra länkar.
Jag har kommit till att om man röstar på en länk så spärras röstningen för den länken till dess att man röstar på en annan länk igen och så vill jag ju inte ha det..

Koden här nedan fungerar så här; om man röstar på en länk med ex. id-nummer 1 så kan man inte rösta på den igen om man enbart försöker rösta på den länken.
Om man däremot röstar på en annan länk i stället kan man återigen rösta på länk nr 1 igen.

Hur ska jag lösa det?

<%
If Len(Request.Querystring("action"))>0 Then

Dim CookieValue, VoteId, Betyg, AllaBetyg, AllaRoster, voCn, voRs, vostrSQL, VoteSQL
VoteId = Request.Querystring("id")
CookieValue = Request.Cookies("voted")("id-nummer")

If VoteId = CookieValue Then
Response.Redirect "default.asp?cat=links&subcat=" & VisaLink & ""
Else

Betyg = Request.Querystring("nr")
Set voCn = Server.CreateObject("ADODB.Connection")
Set voRs = Server.CreateObject("ADODB.Recordset")
voCn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links/db_links.mdb") & ";pwd=;"

vostrSQL = "Select * From tbl_links Where Id=" & VoteId
voRs.Open vostrSQL, voCn

AllaBetyg = voRs("Votes")--Betyg
AllaRoster = voRs("allVotes")--1

VoteSQL = "Update tbl_links Set Votes='" & AllaBetyg & "',allVotes='" & AllaRoster & "' Where Id=" & VoteId
voCn.Execute(VoteSQL)

voRs.Close
voCn.Close
Set voRs = Nothing
Set voCn = Nothing

Response.Cookies("voted")("id-nummer")= VoteId
Response.Cookies("voted").Expires = Date + 1

End If

Response.Redirect "default.asp?cat=links&subcat=" & VisaLink
End If
%>
Medlem sedan nov. 20014 054 inlägg
#2

Denna del skriver över den satta kakan med det nya värdet, därför kan man rösta på den man röstatde innan!!

Response.Cookies("voted")("id-nummer")= VoteId 
Response.Cookies("voted").Expires = Date + 1

Du får väl lösa så att man ger kakans namn en del av ID nummret


Dim voted
voted = "voted" & VoteID & "" 

Response.Cookies("" & voted & "")("id-nummer")= VoteId 
Response.Cookies("" & voted & "").Expires = Date + 1

Eller nåt sånt... vet inte hur korrekt koden är nu men, du förstår säkert va jag menar!! :e

SKÅL! :birp

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)