我用动态显示一个作品展示系统,每个作品设置一个投票,投票数在作品下面显示出来,这一点我已经实现了,问题是我想给每个作品限制每个人最多只抽样三次.怎么去实现(,提示一点,不用注册任何人都可以投票的.我起初用IP来限制,可是只能对一个作品只能投一次票.其它的就不能投了)
这要看你投完票后在数据库中是如何设置的,
以及数据表的结构才能决定用什么方法的
我写的代码是这样的,怎么改啊?
<!--#include file="Inc/IndexConn.asp"-->
<!--#include file="Inc/SiteMsg.asp" -->
<%
id=request("id")
if request.ServerVariables("REMOTE_ADDR")=request.Cookies("IPAddress") then
SiteMsg 2,"您已经投过票了,请不要重复投票!","zpzs.asp"
else
response.cookies("IPAddress")=request.ServerVariables("REMOTE_ADDR")
response.cookies("IPAddress").Expires=Date()+1
end if
set rs=Server.CreateObject("adodb.recordset")
sql="select * from pic1 where id="&id
rs.open sql,conn,1,3
rs("ps")=rs("ps")+1
rs.update()
rs.close
set rs=nothing
SiteMsg 2,"投票成功!","zpzs.asp"
%>
我写的代码是这样的,怎么改啊?
<!--#include file="Inc/IndexConn.asp"-->
<!--#include file="Inc/SiteMsg.asp" -->
<%
id=request("id")
if request.ServerVariables("REMOTE_ADDR")=request.Cookies("IPAddress") then
SiteMsg 2,"您已经投过票了,请不要重复投票!","zpzs.asp"
else
response.cookies("IPAddress")=request.ServerVariables("REMOTE_ADDR")
response.cookies("IPAddress").Expires=Date()+1
end if
set rs=Server.CreateObject("adodb.recordset")
sql="select * from pic1 where id="&id
rs.open sql,conn,1,3
rs("ps")=rs("ps")+1
rs.update()
rs.close
set rs=nothing
SiteMsg 2,"投票成功!","zpzs.asp"
%>
[/QUOTE]
由上可见,你指完票后就写入Cookies("IPAddress"),你可再多写一个Cookies("IPcount")=1
判断时多一项,
if request.ServerVariables("REMOTE_ADDR")=request.Cookies("IPAddress") then
if Cookies("IPcount") =3 then
SiteMsg 2,"您已经投过票几次了,请不要重复投票!","zpzs.asp"
else
-------
else
指一次就加将Cookies("IPcount")加一,