大哥大姐 帮我看看错在哪里 重分赏

cpeboy 2003-08-21 08:53:08
各位大哥:我写了一个asp密码验证代码 帮我看一看下面的两个asp页面之间有什么逻辑错误,我实在是头都想炸了也检查不出来,当登陆用户和密码错误的时候跳转到了login.asp页面,可是当登陆用户和密码正确的时候无法登陆到loginok.asp页面 ,还是跳转到login.asp页面

login.asp页面如下:
<!--#include file="top.asp"-->
<br>
<br>
<div align="center">
<% if isempty(session("user"))then %>
<font size="2" ><strong>用 户 登 陆</strong></font>
<% elseif session("user")="false" then %>
<font size="2" color="#FF0000"><strong>您非法登陆或者输入错误!</strong></font>
<% elseif session("user")="true" then
response.redirect("loginok.asp")
response.end
end if%>
</div>

<br>
<br>

<form name="form" action="checklogin.asp">
<div align="center"><font size="2">请输入用户名:
<input type="text" name="admin" size="8">
<br><br>
请输入密 码:
<input type="password" name="password" size="8">
<br><br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</font></div>
</form>
<br><br><br><br>
<!--#include file="bottom.asp"-->

checklogin.asp页面如下:

<!--#include file="conn.asp"-->
<%

dim rs5,sql5
set rs5=server.CreateObject("adodb.recordset")
sql5="select admin,password from admin where id=1"
rs5.open sql5,conn,1,1
dim admin ,password
admin=trim(request.Form("admin"))
password=trim(request.Form("password"))
if admin=rs5("admin") and password=rs5("password")then
session("user")="true"
response.redirect("loginok.asp")
else
session("user")="false"
response.Redirect("login.asp")
end if
rs5.close
set rs5=nothing

%>
...全文
106 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpeboy 2003-08-21
  • 打赏
  • 举报
回复
谢谢以上哥们的建议 ,好像都无法解决
我现在重新写代码,把代码改成简单点 不用数据库 测试一下 都成问题
我不知道是不是我的电脑发神经了

login.asp


<!--#include file="top.asp"-->
<br>
<br>
<div align="center">
<font size="2" ><strong>用 户 登 陆</strong></font>
</div>
<br>
<br>
<form name="form" action="chklogin.asp">
<div align="center"><font size="2">请输入用户名:
<input type="text" name="name" size="8">
<br><br>
请输入密 码:
<input type="text" name="pass" size="8">
<br><br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</font></div>
</form>
<br><br><br><br>
<!--#include file="bottom.asp"-->


chklogin.asp

<%

dim admin
dim password
admin=trim(request.form("name"))
password=trim(request.Form("pass"))
if username="" then
response.redirect "index.asp"
end if
if password="" then
response.redirect "index.asp"
end if

if admin="1" and password="1" then
response.Redirect "loginok.asp"

end if
%>


结果我输入1 1 还是返回到了 index.asp界面 无论如何也登陆不了loginok.asp
to:: IThurricane(littlepig) 你的代码我没试过 多谢你的好意 我喜欢写自己的代码 这样我才能进步更快
本拉灯 2003-08-21
  • 打赏
  • 举报
回复
sql5="select admin,password from admin where id=1"
你这句写错了,

sql5="select admin,password from admin where admin='"&admin&"'" '这是搜索出用名与之相等的记录,
rs5.open sql5,conn,1,1
if password=rs5("password") then '这是判断搜索出来的记录里的passowrd字段是不是与变量password相等
这三句写成我那样就可以了
IThurricane 2003-08-21
  • 打赏
  • 举报
回复
那我的代码可以用吗?
cpeboy 2003-08-21
  • 打赏
  • 举报
回复
大哥你这是哪里复制过来的啊
不过我还是想知道我的那段代码哪里错了
毕竟是自己写的 我再研究研究多谢了
as2001 2003-08-21
  • 打赏
  • 举报
回复
up
cpeboy 2003-08-21
  • 打赏
  • 举报
回复
这位大哥也很热心了
我再试一试
IThurricane 2003-08-21
  • 打赏
  • 举报
回复
founderr=false
if trim(request("username"))="" then
errmsg=errmsg+"<br>"+"<li>请输入您的用户名。"
founderr=true
else
admin=trim(request("admin"))
end if
if request("password")="" then
errmsg=errmsg+"<br>"+"<li>请输入您的密码。"
founderr=true
else
password=trim(request("password"))
end if
if founderr=true then
call error()
response.end
end if
set rs=server.createobject("adodb.recordset")
sql="select * from user where admin='"&admin&"'"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
errmsg=errmsg+"<br>"+"<li>您输入的用户名并不存在,<a href='UserReg.asp'>请先注册</a><li>或者管理员已经将用户账号锁定,请和管理员联系。"
call error()
response.end
else
if rs("password")<>password then
errmsg=errmsg+"<br>"+"<li>您输入的密码不正确。"
call error()
session("user")="false"
response.Redirect("login.asp")
else
session("user")="true"
response.redirect("loginok.asp")
end if
rs.close
set rs=nothing

cpeboy 2003-08-21
  • 打赏
  • 举报
回复
抱歉 大哥 还是老问题
我的思路是:如果用户登陆后台 必须输入用户名和密码 只有用户名和密码都输入正确后 系统才设定 session("user")="true" 做一个标记 说明改session已经通过密码验证 然后登陆到loginok.asp欢迎界面 我的admin表只有一条记录 自动id=1 可是无论用户名和密码正不正确,都返回到login.asp页面 无法登陆到loginok.asp页面 :(
cpeboy 2003-08-21
  • 打赏
  • 举报
回复
好的 我马上试一试看 问题解决 马上给分
本拉灯 2003-08-21
  • 打赏
  • 举报
回复
sql5="select admin,password from admin where id=1"
你这句写错了]
应写成

dim admin ,password
admin=trim(request.Form("admin"))
password=trim(request.Form("password"))

dim rs5,sql5
set rs5=server.CreateObject("adodb.recordset")
sql5="select admin,password from admin where admin="&admin
rs5.open sql5,conn,1,1
if password=rs5("password") then
session("user")="true"
response.redirect("loginok.asp")
else
session("user")="false"
response.Redirect("login.asp")
end if
rs5.close
set rs5=nothing

cpeboy 2003-08-21
  • 打赏
  • 举报
回复
二位所说的方法都不行啊
我马上要交工了
可是我实在检查不出到底出现什么错误
hzqq 2003-08-21
  • 打赏
  • 举报
回复
呵呵,看看你的数据库里面admin和password
是char型的还是varchar型的
如果是char型的,在字符不足长度时会用空格补充
所以你要两边trim以后在比较
liruolan 2003-08-21
  • 打赏
  • 举报
回复
rs5.open sql5,conn,3,1
试一试

28,390

社区成员

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

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