大家帮我看看这段cookies限制投票次数的代码有什么问题?为什么取不到Cookies值,每次都能投票成功

zhuoyue 2009-08-11 12:37:04
大家帮我看看这段cookies限制投票次数的代码有什么问题?为什么取不到Cookies值,每次都能投票成功


<!--#include file="inc/conn.asp"-->
<%
if request.Cookies("voteCookies") = "yes" then
response.Write("<script language='javascript'>alert('对不起,你已经投过票了!');history.go(-1);</script>")
else
vote = request.QueryString("vote")
id = request.QueryString("id")
ClassID = request.QueryString("ClassID")
Set rs = ExecuteQuery("select * from jgt where id = "&id)
if vote="yes" then
rs("Click") = rs("Click")+1
elseif vote = "no" then
rs("Click1") = rs("Click1")+1
end if
rs.Update
rs.Close
Set rs = Nothing
check_alert "投票成功!","pxShow.asp?id="&ClassID

response.Cookies("voteCookies") = "yes"
response.Cookies("voteCookies").Expires =DateAdd("h",1,now())
end if
%>
...全文
152 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuoyue 2009-08-11
大家帮我看看啊?
回复
zhuoyue 2009-08-11
这么冷清,谁帮我看一下啊
回复
zhuoyue 2009-08-11
[Quote=引用 7 楼 asasas20020 的回复:]
我的那段程序你运行过了?
我这边连续访问两次的话,就弹message了。

用这段看看你有没有禁用cookies
VBScript code<%'首先判断客户浏览器是否支持cookies、是否禁用了cookiesDim cook
cook= Request.ServerVariables("HTTP_COOKIE")iflen(cook)<2or cook=""then
response.write("<script>alert('对不起!您的浏览器禁止使用cookies,不能参与投票,请设置!');history.go(-1);</script>")Endif
%>
[/Quote]

先谢谢了,试一试看看
回复
zhuoyue 2009-08-11
[Quote=引用 6 楼 gxq323 的回复:]
代码写法别扭啊Set rs = ExecuteQuery("select * from jgt where id = "&id)
换成set rs=server.createobject("adodb.recordset")
rs.open "select * from jgt where id = "&id&"",conn,1,3
你那样写代码,没人说你吗?独干吗?
[/Quote]

这样写没问题吧!
回复
asasas20020 2009-08-11
我的那段程序你运行过了?
我这边连续访问两次的话,就弹message了。

用这段看看你有没有禁用cookies
<%
'首先判断客户浏览器是否支持cookies、是否禁用了cookies

Dim cook
cook = Request.ServerVariables("HTTP_COOKIE")

if len(cook)<2 or cook="" then
response.write("<script>alert('对不起!您的浏览器禁止使用cookies,不能参与投票,请设置!');history.go(-1);</script>")
End if
%>
回复
gxq323 2009-08-11
代码写法别扭啊Set rs = ExecuteQuery("select * from jgt where id = "&id)
换成set rs=server.createobject("adodb.recordset")
rs.open "select * from jgt where id = "&id&"",conn,1,3
你那样写代码,没人说你吗?独干吗?
回复
zhuoyue 2009-08-11
找不到问题出在哪,郁闷
回复
zhuoyue 2009-08-11
写数据库正常,问题是不能执行

response.Write(" <script language='javascript'>alert('Sorry,you had voted!');history.go(-1); </script>"

这一断代码

也就是没有写Cookies 值

为什么啊,看不出代码什么地方有问题
回复
asasas20020 2009-08-11
把你的代码能运行的部分抠 出来
<%
if request.Cookies("voteCookies") = "yes" then
response.Write(" <script language='javascript'>alert('Sorry,you had voted!');history.go(-1); </script>")
else
response.Cookies("voteCookies") = "yes"
response.Cookies("voteCookies").Expires =DateAdd("h",1,now())
end if
%>
这一段能很好的实现防止多次投票。
你试一下。是不是更新数据库的代码有问题。
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告