温敏性水凝胶:懂asp的cookie的进,这个问题老师也无法回答

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 06:29:34
var cname=Request.Cookies("username")
sname=Session("username")
var fname=Request.Form("textfield")
if(cname!=fname){%><script>alert("用户名错误");window.location="bbs.htm"</script><% }

这是我的一段代码,Request.Cookies("username")和Session("username")都是我在我的一个注册页面上记录下来的我输入的用户名,Request.Form("textfield")是在登录页面我打入的用户名。但是现在有个奇怪的问题,比如我注册页面输入123作为用户名,然后注册好后在登录页面也输入123,按理说cname(即Request.Cookies("username"))和fname(即Request.Form("textfield"))应该相同,但偏偏它们一直不同。但是如果我用cname和session的sname比较或用sname和fname比较都相同,也就是说cname=sname,fname=sname,但cname!=fname...而且当用cname和"123"比较或用fname和"123"单独比较,都能表示相等,但偏偏cname 和fname 比较就是不相同,而且我也把它们两个分别输出过,输出的也都是"123"决无空格或什么的。这个问题我迷惑到现在,望哪位高手解释
我用的是javascript语法编写的asp所以不等号是用!=没错,不然它会报错。在语法方面绝对没问题,这可是经过老师仔细看的,一定是cookie有什么特殊的地方,忘指教。
刚刚我在处理注册页面的asp文件中又加了一句
使我注册的用户名分别放在两个cookie中,在这个asp文件中我使用request.cookie("")进行两个cookie的比较是相同的,但放到处理登录界面的asp文件中时,再比较它们就不同了,而且它们两个相同内容的cookie也有我一开始说的问题,它们可是相同东西赋值的啊,真的搞不清了。。。。

将他们分别给个变量看看
不要这样:
var cname=Request.Cookies("username")

这样看看
var cname
cname = Request.Cookies("username")

还有,看看是不是一个多值集合

if(cname!=fname){%><script>alert("用户名错误");window.location="bbs.htm"</script><% } 这句改下

<%if cname<>fname then
%>
<script>alert("用户名错误");window.location="bbs.htm"</script>
<%end if%>