验证信息不管用,好像和存入的数据没关系
数据库都建好了,也连上了,但是在验证时无论输什么都可以进入main.asp页面
<% if isempty(session("passed")) then
session("passed")=false
end if
if session("passed")=false then
UserName=request.form("UserName")
UserPwd=request.form("UaerPwd")
if UserName="" then
Errmsg="请输入用户名和密码"
else
Dim conn
set conn=server.CreateObject("adodb.connection")
conn.open "dsn=Discuss;uid=sa;pwd=sa"
strSql="select * from Users"
Dim rs
set rs=conn.execute(strSql)
if rs.eof then
session("Errmsg")="用户不存在"
else
if UserPwd<>rs.fields("UserPwd") then
session("Errmsg")="密码不正确"
else
Errmsg=""
session("Passed")=True
session("UserName")=rs.fields("UserName")
session("Errmsg")=""
end if
end if
end if
end if
if not session("passed") then
%>
<html>
<body>
<script language="javascript">
function chkfield1(){
if (document.denglu.UserName.value==''){
window.alert("请输入用户名!")
return false
}
else
if(document.denglu.UserPwd.value==''){
window.alert("请输入密码!")
return false
}
return true
}
</script>
<br><br>
<p align="center"><font color="#990033" size="15" face="隶书">身份验证</font></p>
<hr color="#993300" width="50%" />
<form method="post" action="main.asp"name="denglu" onsubmit="return chkfield1()">
<br>
<p align="center">用户名: <input type="text" name="UserName" size="20"></p>
<p align="center">密 码: <input type="password" name="UserPwd" size="20"></p>
<center><input type="submit" value="确定" name="B1">
<input type="reset" value="重写" name="B2"></center></form>
<form method="post" action="zhuce.asp"name="zhuce"><center>
<input type="submit" value="注册新用户" name="B3"></center>
</form>
</body>
</html>
<%
response.End
end if
%>
------解决方案--------------------我觉得你应注意两个地方:
1、程序逻辑:既然是登录页,说明该用户没有登录,你无须搞那么多无谓的判断if isempty(session("passed")) then
session("passed")=false
end if
直接显示登录页面就可以了:
<html>
<body>
<script language="javascript">
function chkfield1(){
if (document.denglu.UserName.value==''){
window.alert("请输入用户名!")
return false
}
else
if(document.denglu.UserPwd.value==''){
window.alert("请输入密码!")
return false
}
return true
}
</script>
<br><br>
<p align="center"><font color="#990033" size="15" face="隶书">身份验证</font></p>
<hr color="#993300" width="50%" />
<form method="post" action="main.asp
?action='login'"name="denglu" onsubmit="return chkfield1()">
<br>
<p align="center">用户名: <input type="text" name=