Fusk vid omröstning
Hej!
Låter medlemmar på min sida rösta på varandras dikter men har ett problem det går att rösta hur många gånger som helst. Hade tidigare löst det med cookies men det fungerade inget vidare då man hade röstat på 50 dikter (dv 50 cookies) så fick webbläsaren krupp.
Har löst det genom att spara omröstningarna i en databas men ser inte riktigt vad jag missat. Någon som har koll på vad jag har gjort för fel?
ElseIf Request.Querystring("visa") = "vote" Then
ID = CLng(Request.Querystring("id"))
Vote = CLng(Request.Querystring("vote"))
pid = Session("mem_id")
set rosta = Conn.Execute("Select user_id From dvotes Where dikt_id=" & ID)
If rosta.EOF or Session("mem_id") <> rosta("user_id") Then
Conn.Execute("Insert Into dvotes(dikt_id,user_id) Values(" & ID & "," & pid & ")")
Conn.Execute("Update dikter Set vote" & Vote & "=vote" & Vote & "+1 Where id=" & ID)
rosta.Close
Set rosta=Nothing
Response.Redirect "index.asp?cat=dikt&visa=" & Request.QueryString("do") & "&kategori=" & CLng(Request.QueryString("kategori")) & "&katnamn=" & Request.QueryString("katNamn") & "&sida=" & Request.QueryString("sida")
Else
rosta.Close
Set rosta=Nothing
response.write "<script language=Javascript>"
response.write "alert('Du har redan röstat på denna dikt!');"
response.write "history.go(-1);"
response.write "</script>"
End If
Tack på förhand
/Johan
Svara
Sv: Fusk vid omröstning
Varför inte lägga in User_id som parameter i frågan?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ElseIf Request.Querystring( "visa" ) = "vote" Then ID = CLng (Request.Querystring( "id" )) Vote = CLng (Request.Querystring( "vote" )) pid = Session( "mem_id" ) set rosta = Conn.Execute( "Select user_id From dvotes Where dikt_id=" & ID & " AND user_id = " & pid) If rosta.EOF Then Conn.Execute "Insert Into dvotes(dikt_id,user_id) Values(" & ID & "," & pid & ")" Conn.Execute "Update dikter Set vote" & Vote & "=vote" & Vote & "+1 Where id=" & ID rosta.Close Set rosta= Nothing Response.Redirect "index.asp?cat=dikt&visa=" & Request.QueryString( "do" ) & "&kategori=" & CLng (Request.QueryString( "kategori" )) & "&katnamn=" & Request.QueryString( "katNamn" ) & "&sida=" & Request.QueryString( "sida" ) Else rosta.Close Set rosta= Nothing response.write "<script language=Javascript>" response.write "alert('Du har redan röstat på denna dikt!');" response.write "history.go(-1);" response.write "</script>" End If End If |
Svara