asp登陆代码中出问题。求大神帮忙看看
部分代码如下:strSQL="SELECT*FROMMemberWHEREEmailID='"&szMemberID&"'"setrsObj=conn.Execute(s...
部分代码如下:
strSQL = "SELECT * FROM Member WHERE EmailID = '" & szMemberID & "'"
set rsObj = conn.Execute(strSQL)
if not (rsObj.eof or err) then
if strPwd = rsObj("Pwd") then
//不管密码是否正确。都会到这行,,,但是通过Response.Write rsObj("Pwd")输出的时候。内容又是空的。输出strPwd 有值。
session("EmailID") = rsObj("EmailID")
session("MemberID") = rsObj("MemberID")
else //无法进入下面这个代码段。无论密码是否正确
(弹出账号密码错误,返回上一页)
end if
else //无法进入下面这个代码段。无论用户名是否正确
(弹出账号密码错误,返回上一页)
end if 展开
strSQL = "SELECT * FROM Member WHERE EmailID = '" & szMemberID & "'"
set rsObj = conn.Execute(strSQL)
if not (rsObj.eof or err) then
if strPwd = rsObj("Pwd") then
//不管密码是否正确。都会到这行,,,但是通过Response.Write rsObj("Pwd")输出的时候。内容又是空的。输出strPwd 有值。
session("EmailID") = rsObj("EmailID")
session("MemberID") = rsObj("MemberID")
else //无法进入下面这个代码段。无论密码是否正确
(弹出账号密码错误,返回上一页)
end if
else //无法进入下面这个代码段。无论用户名是否正确
(弹出账号密码错误,返回上一页)
end if 展开
展开全部
这只能说明sql数据库就没有打开或者打开了密码就是空的!你的先判断有没有这个账号,然后在用密码判断是否登录成功!一般前面都要加一个trim()防止意外
更多追问追答
追问
主要是。不管输入什么。
都会运行到那一句话。。如果 数据库没有打开。那么这句话if not (rsObj.eof or err) then不就会直接跳过,到后面else那边么?
感觉。 if not (rsObj.eof or err) then
if strPwd = rsObj("Pwd") then
这2个语句。都是永恒真的 不管输入什么判断出来都是真值。不会跳到后面else
追答
你的strpwd是不是通过request获得值,你先查看返回的是什么值,然后你再判断rsobj("pwd")返回的是什么值,看看是不是一样,这是人工判断!判断成功后再写入if判断!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询