asp网页制作中登陆错误怎么办!!急急!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/01 06:40:08
'出现问题是他只显示了"用户名不存在"
<%
strsql="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/stu.mdb")
set conn =server.createobject("adodb.connection")
conn.open strsql
%>
</head>
<body>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from userm where user='"&user&"' "
rs.open sql,conn,1,1 %>
<%
dim user
dim pass
user=request.form("name")
pass=request.form("pass")
if rs.eof() or rs.bof() then
response.write ("<script>alert('用户名不存在!');history.go(-1);;</script>")
else
if rs("pass")<>"pass" then
Response.Write("密码错误")
else
Response.Write("登入成功")
end if
end if
%>

三处错误:
1.变量声明位置错误:sql="select * from userm where user='"&user&"' "
这里的user是什么?你应该在其前面声明并赋值。

2.查询语句:sql="select * from userm where user='"&user&"' " 多了一个空格,改成:
sql="select * from userm where user='"&user&"'"

3.条件语句:if rs("pass")<>"pass" then 密码怎么可能是一个字符串常量?改成:
if pass <> rs("pass") then

(补充:用到的变量最好都要先声明一下,如sql rs 虽然你这里可以不用声明,但是应该养成一个良好的习惯;数据集open后,最好结束的时候将其close并设置nothing,还有数据库也记得要close 这都是一些好习惯)

所以,整个改完就是下面这个样子:

<%
strsql="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/stu.mdb")
set conn =server.createobject("adodb.connection")
conn.open strsql
%>
</head>
<body>
<%
dim user, pass, sql, rs
user=request.form("name")
pass=request.form("pass