我正在尝试创建一个由asp和sql支持的登录页面。单击提交后,表单甚至不会触发(即如果字段为空,则甚至不显示错误消息)
这是我的代码:
<!DOCTYPE html>
<html>
<title>
Query
</title>
<link href="http://hr-computing/public/AlexS/Tests/Site.css" rel="stylesheet">
<body>
<div id="main">
<%
username = ""
password = ""
ErrorMessage = ""
if request.form <> "" then
username = Request.Form("firstname")
password = Request.Form("password")
if username = "" or password = "" then
ErrorMessage = "You must specify a username and password."
else
set conn=Server.CreateObject("ADODB.Connection")
conn.Open ="{private}
set rs=Server.CreateObject("ADODB.recordset")
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select firstname, PASSWORD FROM teachers WHERE firstname = '" & firstname & "'", conn
if rs.EOF = false then
if rs.fields("Password") = password then
Response.Redirect("http://hr-computing/public/AlexS/Tests/default.asp")
end if
end if
ErrorMessage = "Login failed"
end if
end if
%>
<h1>Login</h1>
<form method="post" action="http://hr-computing/public/AlexS/Tests/login.asp">
<fieldset>
<legend>Log In to Your Account</legend>
<ol>
<li>
<label>Username:</label>
<input type="text" id="firstname" name="firstname" />
</li>
<li>
<label>Password:</label>
<input type="password" id="password" name="password" />
</li>
<li>
<p><input type="submit" value="Login" /></p>
</li>
</ol>
</fieldset>
</form>
</div>
</body>
</html>
有人告诉我出了什么问题。
答案 0 :(得分:0)
您在哪里打印出错误消息?它看起来不像你在任何地方显示的那样。经典ASP对这些东西很痛苦 - 但在某个地方你需要一个
<%= ErrorMessage %>
调用以显示登录错误。
答案 1 :(得分:-3)
当您使用asp.net时,为了验证空的用户名和密码,您可以使用必需的字段验证器。务必将验证组设置为文本框和提交按钮。