求助:用户登录的asp源码

来源:百度知道 编辑:UC知道 时间:2024/06/25 02:03:28
帮我看看我的源码有什么问题?登录输入正确的话没问题,能正确执行。但是输入数据错误的话页面就会出错:错误类型:
(0x80020009)
发生意外。
/主页左框架.asp, 第 72 行

下面是我的源码:
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then request.form()

dim name1
dim psw
dim yonghushenfen
dim sql
yonghushenfen=request.Form("yonghushenfen")
name1=request.Form("name1")
psw=request.Form("psw")
if name1="" or psw="" or yonghushenfen="" then
response.write ("<script>alert'用户名和密码及用户身份都不能为空!';window.history.go(-1);</script>")
else
set rs=server.createobject("adodb.recordset")

sql="select 用户名,密码,用户身份 from 注册数据 where 用户名='"&name1&"'"
set rs = conn.Execute(sql)
if name1=rs("用户名") and psw=rs("密码") and yonghushenfen=rs("用户身份") then
response.write("<script la

很明显啊,输入正确的话,返回来正确的查询数据,但是输入错误的话,查询返回来的数据就是一张空表,你用空表来对比,肯定会出错了。还需要再加上一个判断条件,判断 rs 对象是否为空,即Rs.Eof And Rs.Bof=1

if name1=rs("用户名") and psw=rs("密码") and yonghushenfen=rs("用户身份") then
response.write("<script language='javascript'>")
response.write("alert('登录成功');")
response.write("this.location.href='bbb/录入.asp';")
response.write("</script>")
else
response.write ("<script>alert'用户名或密码或用户身份输入错误,请确认!';window.history.go(-1);</script>")
%>
<%end if
%>
<%end if%>
更改为:
if not rs.eof then

if name1=rs("用户名") and psw=rs("密码") and yonghushenfen=rs("用户身份") then
response.write("<script language='javascript'>")
response.write("alert('登录成功');")
response.write("this.location.h