注册 登录
编程论坛 ASP技术论坛

请教一下,我如何修改限制一天的投票次数,或一个IP只能投一次。

学习来了 发布于 2010-08-08 15:14, 7754 次点击
<%
  Set conn=Server.CreateObject("ADODB.Connection")
  conn.open ConnStr
  IF Request.Form("IsSub")="YES" THEN
    SS=Request.Form("SS")
    Set rs=conn.execute("Select Limit From Gq_Jzdata Where ID="&SS)
    Limit=Cint(rs(0))
    rs.close
    No_Ok=False
    IF Limit=2 THEN
      IF Request.Cookies("cycoo_No_"&SS)="DONE" THEN
           No_Ok=True

      ELSE
            Response.Cookies("cycoo_No_"&SS) = "DONE"
            Response.Cookies("cycoo_No_"&SS).Expires = date()+1 '设置cookie的过期日
      END IF
    END IF

    IF No_Ok=True THEN
       Response.write "<script>alert('谢谢你对的支持\n\n请明天在来投票!');javascript:window.close()</script>"
    ELSE
      FOR each id IN Request.Form("rc")
        conn.execute "Update Gq_Jzdata Set hits=hits+1 where ulock<>0 and id="&id
      NEXT
rs.close
set rs=nothing
Response.write "<script>alert('谢谢的支持!');javascript:window.close()</script>"
    END IF
    Response.write "<Script language=JavaScript>window.open('Cycoo_VoteView.asp?ID="&SS&"','','width=420,height=350,scrollbars=yes');window.close();</Script>"
  END IF
call CloseConn()
%>


红色部分,如何修改,可以让一天投十票。

或者有更好的,让一个IP一天只能投一票。
7 回复
#2
yms1232010-08-08 15:39
用cookie虽然在一定程度上能限制不懂的人重复投票,但是碰上专业的人照样可以刷票,因为cookie放在客户端,我只要写段小程序每投一票改一下过期时间,你的限制程序就形同虚设。
#3
学习来了2010-08-08 15:44
那请问  我要修改一个  每天只可以投十票   该在哪修改。 我那好象是 一天只能投一票。
#4
yms1232010-08-08 15:48
以下是引用学习来了在2010-8-8 15:44:40的发言:

那请问  我要修改一个  每天只可以投十票   该在哪修改。 我那好象是 一天只能投一票。
如果这样你所投的票必须有一个地方保存(数据库表或XML文件等),读取后进行时间和数量的比较。
#5
学习来了2010-08-08 15:51
有数据库的,上面的就是源码  都带有放进数据库的信息。 就是不知道  怎么修改。
#6
yms1232010-08-08 19:09
Gq_Jzdata这个表保存的是什么?
#7
学习来了2010-08-11 10:47
我也不清楚,能加您的QQ吗?
#8
hams2010-08-11 15:01
用cookie一样可以设定投十票。
1