Jag har detta lilla röstningsscript och tänkte lägga in en funktion att man inte kan rösta på en o samma post samma dygn.
Tanken var att lösa detta med cookies.
Man skulle kunna göra som så att man utelämnar de man har rösta på i sql-satsen men då kan jag ju ej lista tidigare resultat på dom så jag tänkte om man kunde utesluta dom ur arrayen när man slumapr eller köra randomfunktionen igen om resultatet blir en post som finns i min cookie.
<%
'solbulles lilla röstningsscript.
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("minpoll.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open strConnString
Set RS=Server.CreateObject("ADODB.Recordset")
person = Request.Form("person")
id = Request.Form("id")
poang = Request.Form("radiobutton")
If poang <> "" AND id <> "" then
response.write "Du gav <b>" & person & " " & poang & "</b> poäng.<p>"
strSQL="UPDATE poll SET roster = roster + 1 , betyg = betyg + " & poang & " WHERE ID = " & id
connect.execute strsql,,128
'response.cookies("minpoll" & id)("person") = person
'response.cookies("minpoll" & id)("utgar") = (Date + 1)
'response.cookies("minpoll" & id).expires = (Date + 1)
End If
'Slumpa fram från databasen, verkar vara en tvivelaktig metod!?!
strSQL = "Select person, id, betyg, roster from poll"
Set RS = Connect.Execute(strSQL)
If RS.EOF Then
Response.Write "Det finns inga personer"
Else
'rostad = Request.Cookies("minpoll" & id)("person")
' Nja nu spricker det.
arrPersoner = RS.GetRows()
Randomize
vem = Round(Rnd*Ubound(arrPersoner,2))
id = arrPersoner(1,vem)
person = arrPersoner(0,vem)
End If
Set RS = nothing
Connect.Close
Set Connect = nothing
response.write "Nu kan du rösta på <b>" & person & "</b><br>"
Response.write "<form name=""form1"" method=""post"" action=""minpoll.asp"">"
For i = 1 to 10
Response.write "<input type=""radio"" name=""radiobutton"" value=" & i &" onclick=""submit('this.form')"">" & i & vbcrlf
Next
response.write "<input type=""hidden"" name=""id"" value=" & id & ">"
response.write "<input type=""hidden"" name=""person"" value=" & person & ">"
response.write "</form><p>"
response.write "Så här är ställningen i nuläget:"
If IsArray(arrPersoner) Then
response.write "<table width=""50%"" border=""0"" cellspacing=""2"" cellpadding=""2"">"
response.write "<tr><td>Namn</td><td>Antal röster</td><td>Totalt betyg</td><td>Snittbetyg</td></tr>"
For I = 0 TO UBound(arrPersoner,2)
person = arrPersoner(0,I)
id = arrPersoner(1,I)
betyg = arrPersoner(2,I)
roster = arrPersoner(3,I)
snitt = betyg/roster
snitt = FormatNumber(snitt, 2, -1, 0, 0)
response.write "<tr><td>" & person & "</td><td>" & roster & "</td><td>" & betyg & "</td><td>" & snitt & "</td></tr>"
Next
response.write "</table>"
Else
Response.Write "Inget hittades."
End If
%>
arrPersoner = RS.GetRows()
Randomize
vem = Round(Rnd*Ubound(arrPersoner,2))
id = arrPersoner(1,vem)
person = arrPersoner(0,vem)
'rostad = Request.Cookies("minpoll" & id)("person")
'If rostad = id GÖR OM!
I denna kod vill jag kolla om id finns som en cookie, om det finns, ta fram ett nytt slumptal tills jag hittar ett som inte finns eller att "talen tar slut"
254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2