请教ASP高人:设置一个IP只能投5人的票,在线等。谢谢

这是我的代码原文,谢谢啦!一个用户,或者一个IP只能投5个人。。。然后对一个候选人只能投一次。我目前的代码只能实现一个IP对同一候选人只能投一次,但是可以投无数次个候选人... 这是我的代码原文,谢谢啦!
一个用户,或者一个IP只能投5个人。。。然后对一个候选人只能投一次。
我目前的代码只能实现一个IP对同一候选人只能投一次,但是可以投无数次个候选人。。我现在想设置为只能投5个候选人。
<% Dim VoTeid,HostUrl,Zuid
VoTeid = Int(CHECKSTR(trim(Request.QueryString("VoTeid"))))
HostUrl=Request.ServerVariables("HTTP_REFERER")
Zuid=Cint(session("nihaoID"))
if VoTeid="" then
Call Alert ("不允许值为空,请选择后提交!","index.asp")
End if
Rem 获取IP
function getIP()
getIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If getIP = "" Then
getIP = Request.ServerVariables("REMOTE_ADDR")
end if
end function
Rem 投票开关
If power=0 then
Call Alert ("投票评选活动已关闭!","index.asp")
End if
function ZhiIP(vid,ip)
sql="Select * from nihao where Voteid="&vid&" and Hostip='"&ip&"'"
Set rs=conn.execute(sql)
if not rs.eof then
ZhiIP=true
else
ZhiIP=false
end if
end function
if ZhiIP(Voteid,getIP())=true then
Call Alert ("你的IP:"&getIP()&"已经给这位选手投票,不能继续投票!","index.asp")
end if
sql="update nihao set Amio=Amio+1 where id="&Voteid
conn.execute(sql)
sql="insert into zhi_rui_v_Vo(Voteid,Userid,Hostip,HostAd,HostUl,AddTime) values("&Voteid&","&Zuid&",'"&getIP()&"','"&dlwz&"','"&HostUrl&"',#"&now()&"#)"
conn.execute(sql)
Call Alert("投票成功,感谢您宝贵的一票!","index.asp")
%>
请大家写出具体的ASP代码,谢谢啊。。。。这样说我也不太懂!
展开
 我来答
eric_3344
2010-07-26 · TA获得超过645个赞
知道小有建树答主
回答量:1069
采纳率:53%
帮助的人:409万
展开全部
其实很简单的,用一个cookie维数组和一个session就可以解决了
思路cookie("候选人")("投票次数")判断次数一人只能为一次
session(总投票次数)计算前面的cookie候选人或投票数不能超过五就可以了
51IDC
2024-12-01 广告
独立IP服务器是专为满足高端网络需求而设计的服务器解决方案。它提供的、不可共享的IP地址,确保您的网站、应用或服务享有更高的安全性、稳定性和可靠性。独立IP服务器能有效避免共享IP可能带来的潜在风险,如IP被封禁等问题,为您提供更优质的网络... 点击进入详情页
本回答由51IDC提供
QQ2k5
2010-07-26 · TA获得超过438个赞
知道小有建树答主
回答量:911
采纳率:25%
帮助的人:259万
展开全部
必须使用数据库才能实现
数据库表设计
两个数据库表
第一个,存储用户
Userid //用户id 若为匿名用户(未登录)id为000;
GroupID //被投过票的userid,是userid的字符串拼接,可以用 userid1;userid2;
第二个存储ip
CurrentIP //用户的ip
GroupID //被投过票的userid
数据库设计完了,然后根据实际情况去更新数据库
当用户投票时,查询数据库,有则判断该用户投过几次,
如果无则判断一下以当前ip操作过的用户有几次
如果无则插入一条新纪录
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
boyjjq
2010-07-26 · TA获得超过1073个赞
知道小有建树答主
回答量:1186
采纳率:100%
帮助的人:535万
展开全部
你的代码写的复杂了点而且不断跑后台,
给你思路,初始化的时候,一次找出该IP投过的人员,然后把投过的CheckBox设置为不可用。
投票的时候,不可用的数目+打勾的数目控制为5(前台JS控制),超过就报消息“只能投5个人!”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式