主题:  求教投票程序的cook检测

老张

职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
#12003/1/21 23:20:59
这是一个投票程序的一部分,我加入了cook监测,但实在不明白问题处在哪里。
按下面的程序执行,在Sub research()的判断中,既没有对tgp重新赋值,也没有增加投票,怎么会这样?请帮忙看看。

Option Explicit
%>

<%
dim action,id,tpNum,tgp
id=request("id")
tgp="谢谢你的投票!"
action=Lcase(Trim(Request("action")))
Select Case action
Case "research" Call research
Case "result" Call result(id)
Case Else Call result(id)
End Select
Call objend()

Sub research()
dim selected
selected=request("selected")
tpNum = Request.Cookies("toupiao")("t" & id)
if tpNum=id then
tgp="对不起,你已经投过票了!"
else
conn.execute("update research set res"&selected&"=res"&selected&"+1 where id="&id)
Response.Cookies("toupiao")("t" & id) = id
Response.Cookies("toupiao").Expires = Date + 365
end if
response.redirect "research.asp?id="&id&""
End Sub



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#22003/1/22 1:56:09
到底是出了什么问题阿? :confused: :confused:

编辑历史:[这消息被allinhands编辑过(编辑时间2003-01-22 01:56:35)]


老张

职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
#32003/1/22 6:26:24
就是在执行的时候这个判断:
if tpNum=id then
tgp="对不起,你已经投过票了!"
else
conn.execute("update research set res"&selected&"=res"&selected&"+1 where id="&id)
Response.Cookies("toupiao")("t" & id) = id
Response.Cookies("toupiao").Expires = Date + 365
end if

既没有对tgp赋值,也没有执行下面的投票累加部分



老张

职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
#42003/1/22 8:32:01
而cook文件中也确实写入了信息:
toupiao
t3=3&t5=5
zhangcs/
1024
2675671040
29614135
2006346416
29540779
*
但为何tpNum = Request.Cookies("toupiao")("t" & id) 不能再读出数据,运行时tpNum好像为空?



大雪糕

职务:普通成员
等级:2
金币:10.0
发贴:579
注册:2002/2/2 11:30:51
#52003/1/22 16:32:55
SQL语句写错了,改一下吧
conn.execute("update research set res("selected")=res("selected")+1 where id="&id),另外,你有定义过recordset记录集吗



老张

职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
#62003/1/22 18:23:55
谢谢!SQL那样写好像也能正常执行。
我找到毛病所在了,是记录投票后面的一行:
response.redirect "research.asp?id="&id&""
其实cook本来已经读出来了,他重新自身调用把我的几个变量都清除了,改为 Call result(id) 就好了。