帮忙看下这段asp登陆代码有什么问题。(数据库已连接成功)

来源:百度知道 编辑:UC知道 时间:2024/07/06 19:43:32
<%
if Request("action")=0 then
strusername=Trim(Request.form("username1"))
struserpass=Trim(Request.form("userpass1"))
sql="select * from admin where admin='" &strusername& "'"
rs.open sql,conn, 1, 3
if rs.eof then

Response.write "<script language=javascript>alert('用户名输入错误,请检查!')</script>"

else
if Trim(rs("pass"))=struserpass then
Session("username1")=rs("admin")
Session("userlevel")=rs("level")
Response.Redirect "show.asp"
else
Response.write "<script language=javascript>alert('密码输入错误,请检查!')</script>"

end if
end if
set rs=Nothing
set conn=Nothing
end if
%>
测试的时候总先弹出一个窗口说“用户名输入错误,请检查”,点确定后然后就可以正常使用了,这是啥问题,哪为大虾帮忙给看看,谢谢哈!
这个是控键
<TABLE cellSpacing=0 cellPadding=2 width="

<form method="POST" name="form" action="index.asp?action=0">
这句,不要用action=0提交。
改为<form method="POST" name="form" action="index.asp">

然后把if Request("action")=0 then 改成
if request("username")<>"" and request("userpass")<>"" then

strusername=Trim(Request.form("username1"))
struserpass=Trim(Request.form("userpass1"))

这里和表单的name不一致,应该用

strusername=Trim(Request.form("username"))
struserpass=Trim(Request.form("userpass"))

另外一个问题,你的验证方式不安全。

rs.eof 这个是判断最后一个记录

rs.open sql,conn,3
if RecordCount=0 then
Response.write "<script language=javascript>alert('用户名输入错误,请检查!')</script>"
else
Session("username1")=rs("admin")
Session("userlevel")=rs(&quo