求asp代码----防止同一账号重复投票

王朝知道·作者佚名  2009-08-06
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

同一账号重复投票 ...?

在投票问题里面添加一个字段 ...

以字符串的形式储存投过票的用户 id ...

如 "1|3|5|7|9|15|28|36" 这样 ...

读取的时候把字符串拆成一个 array ...

判断 array 中是否存在当前用户 id ...

存在就转到 ErrorPage 咯 ...

如上所说的如何以字符串的形式储存投过票的用户

如何读取的时候把字符串拆成一个 array判断 array 中是否存在当前用户 id

參考答案:

<%

if session("login")=True and request("dz")="tp" then

set rs=server.createobject("adodb.recordset")

sql="select 投票记录情况 from 问题列表 where ID=" & request("qid")

rs.open sql,conn,1,3

'//从数据库中读取记录情况,数据库中已经投票ID是以“;”分隔开记录在“投票记录情况”字段的

Settle_jl=split(rs("投票记录情况"),";")

'//检测当前用户是否已经对该问题投过票,如果是则:tp=true

for i = 0 to Ubound(Settle_jl)-1

if clng(Settle_jl(i))=clng(session("user_id")) then

tp=true

exit for

end if

next

'//针对是否投过票进行相应的数据处理

if tp = true then

rs.close

set rs=nothing

response.Write("您已经参加此问题的投票,不能重复投票!")

response.End()

else

'//写入投票记录

rs("投票记录情况")=rs("投票记录情况") & session("user_id") & ";"

rs.update

rs.close

set rs=nothing

'//给相映问题加1票

set rs=server.createobject("adodb.recordset")

sql="select 获取票数 from 投票问题 where 问题ID=" & request("aid")

rs.open sql,conn,1,3

if rs("获取票数")="" then rs("获取票数")=0

rs("获取票数")=rs("获取票数")+1

rs.update

rs.close

set rs=nothing

response.Write("恭喜您,您投票成功!目前投票情况如下:")

response.End()

end if

elseif session("login")<>True and request("dz")="tp" then

response.Write("您没有登陆,不能参加投票!" )

response.End()

end if

%>

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航