注册 登录
编程论坛 ASP技术论坛

cookie判断用户是否登录问题

way2007 发布于 2008-10-16 04:19, 1101 次点击

登录时已经写入cookie的值
Response.Cookies(CookieName)("UserName") = CodeCookie(rs("UserName"))  用户名
Response.Cookies(CookieName)("Vid") = rs("UserID")  用户id
Response.Cookies(CookieName)("UserHashKey") = HashKey  随机密码
<%
'判断用户是否登陆
Dim tempUserID,tempHashKey,tempUserName
Dim UserID,UserName,UserHashKey
    tempUserID=trim(Request.Cookies(CookieName)("Vid"))  能够取出
    tempHashKey=CheckStr(Request.Cookies(CookieName)("UserHashKey")) 能够取出
    tempUserName=CheckStr(DecodeCookie(Request.Cookies(CookieName)("UserName"))) 能够取出
If tempUserName<>""  And tempHashKey<>"" And tempUserID<>"" Then
Set rs=server.CreateObject("adodb.recordset")
sql="select UserHashKey from User where UserID='"&tempUserID&"' and UserName='"&tempUserName&"'"
    rs.open sql,conn,1,1
            if not rs.eof then
            UserHashKey=rs(0)
        rs.close
    set rs=Nothing
        If UserHashKey=tempHashKey Then
        UserID=tempUserID
        UserName=tempUserName
        Else
        UserID=""
        UserName=""
        End If
End If
End If
 %>
问题是:
无论是否登录,UserID UserName的值都无法判断,请问这是怎么回事,是否查询语句有问题?
4 回复
#2
way20072008-10-16 15:50
有高手知道吗??
#3
multiple19022008-10-16 19:37
UserID,你数据库的UserID字段是字符串?

你登录的时候HashKey写入数据库了没?
#4
way20072008-10-16 20:10
[bo][un]multiple1902[/un] 在 2008-10-16 19:37 的发言:[/bo]

UserID,你数据库的UserID字段是字符串?

你登录的时候HashKey写入数据库了没?


HashKey 是随机生成的,每次登录都写入数据库

UserID 是数字 不能用单引号,这个我改了,

但还是不行。
#5
multiple19022008-10-16 20:15
你不好好缩进反正程序也是你自己看,别人看不下去不愿意帮你损失的也是你自己。

建议你跟踪一下,动态的跟踪。
1