一个验证会员登录的问题,不知错在那里,请各位大侠帮帮忙

luojunwei 2008-05-24 03:47:58
问题是无论我输入正确的帐号和密码还是错误的,都是提示我输入的帐号和密码错误,代码如下,请帮忙看下
<%
uid=trim(request.form("id"))
pwd=trim(request.form("password"))

if len(uid)=0 then
response.Redirect("login.asp")
response.End()
elseif len(pwd)=0 then
response.Redirect("login.asp")
response.End()
End if

set rs=server.CreateObject("ADODB.recordset")
sql="select * from vip where user_id='"&uid&"' and pass_word='"&pwd&"'"
rs.Open sql,objConn,1,1
if rs.bof or rs.eof then

response.write("账号或密码输入错误!<a href='login.asp'>请重新登录</a>")
response.End()
else
session("user_id")=uid
session("create")=rs("user_name")
response.cookies("adminok")=true
response.redirect("index.asp")
response.End()
End if
rs.close
set rs=nothing
objConn.close
set objConn=nothing

%>
...全文
122 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
luojunwei 2008-05-25
  • 打赏
  • 举报
回复
值传递正确,三楼的办法也试过了,问题还是一样
一只老菜鸟 2008-05-25
  • 打赏
  • 举报
回复
值都传递正确吗?
用3楼的代码试试,如果两个都有值,那就考虑数据类型的问题了。
luojunwei 2008-05-25
  • 打赏
  • 举报
回复
谢谢各位大侠的回答,问题解决了,不知道为什么把
sql="select * from vip where user_id='"&uid&"' and pass_word='"&pwd&"'"改成
sql="select * from vip where user_id='"&uid&"' "就行了。还望大家给我点意见
老紫竹 2008-05-25
  • 打赏
  • 举报
回复
去数据库把密码和用户名改成简单一点的,比如
test

然后用11楼的方法,把你的sql语句打印出来看看。
lyixian 2008-05-25
  • 打赏
  • 举报
回复
这样看来是数据类型出问题了

你多
response.write
一下。。。。

sql="select * from vip where user_id='"&uid&"' and pass_word='"&pwd&"'"


注意单引号
wfwclyms 2008-05-24
  • 打赏
  • 举报
回复
呵呵,跟你说个我以前因为大意范的错误,你参考下。

注册叶面,我的几个表单因为懒省事是拷过来的,有一个value为一个空格的值没有注意,注册后怎么都登陆不上去。
luojunwei 2008-05-24
  • 打赏
  • 举报
回复
谢谢楼上的回答,但问题不是你所说的,因为我是跟着书本的一个实例来做的,而且那个实例已经通过验证,可以实行,至于你说的传输的数据和数据库中的数据有差别,我觉得不可能这样,我是先注册了一个账号,而且在数据表VIP中也可以看到我注册的资料,为什么我用这个帐号登录还说我的帐号和密码错呢
wfwclyms 2008-05-24
  • 打赏
  • 举报
回复
你的密码加密没有?就是你的密码如果是加密的,这里要先对密码进行加密再进行比较,看是不是这个问题,另外你这种写法是一个很大的漏洞,注意查看下关于sql注入的文章

你的程序没有错误,总是提示不正确说明你的程序运行正常,就是没有在数据库中找到相匹配的内容,所以错误在你传输的数据和数据库中的数据的差别或是数据类型不正确
luojunwei 2008-05-24
  • 打赏
  • 举报
回复
数据库里有数据,而且前天还可以判断的,不知道为什么现在判断不出来,
woyuchengxian 2008-05-24
  • 打赏
  • 举报
回复
你的user_id是啥字段类型?
sy_binbin 2008-05-24
  • 打赏
  • 举报
回复
uid=trim(request.form("id"))
pwd=trim(request.form("password"))

response.write uid
response.write pwd

看看数据库里有没有数据啊!
luojunwei 2008-05-24
  • 打赏
  • 举报
回复
还是不行,and 和or 我都试过了,问题还在
sy_binbin 2008-05-24
  • 打赏
  • 举报
回复
if rs.bof and rs.eof then

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧