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
展开
 我来答
腾石网络科技
2013-06-07 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:120
采纳率:100%
帮助的人:66.9万
展开全部
这只能说明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判断!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式