Я пытаюсь сделать страницу входа в систему с помощью 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>
Кто-нибудь скажет мне, что случилось, пожалуйста.
Где вы печатаете сообщение об ошибке? Это не похоже, что вы показываете где угодно. Классический ASP очень болезненен в этом отношении - но где-то вам нужно
<%= ErrorMessage %>
вызов для отображения ошибки входа.
Поскольку вы используете asp.net, поэтому для проверки имени пользователя и пароля для пустых вы можете использовать обязательный полевой валидатор. Обязательно установите группу проверки как в текстовое поле, так и кнопку отправки.