它是我使用 Classic ASP 制作的简单登录表单,用户和管理员可以使用相同的表单登录。
在数据库的“用户”表中,我创建了一个名为“状态”的字段,数据类型为 BIT(即“0”或“1”)值被接受。默认情况下,每个新注册用户的值为“0”。
我已经通过了一个查询,如果状态为“0”,则应将特定用户或管理员重定向到 Authentication.asp 页面,他将在其中回答一些问题,然后单击 SUBMIT,数据库中的状态值将设置为“1” . “1”表示用户或管理员已经填写了认证表格,可以重定向到他想要的页面,而不是重定向到Authentication.asp页面。为此,我使用了 If-elseif-else 语句。我重新检查了很多次,我的 if-else 语句似乎没有任何遗漏。但是即使我在数据库的状态列中手动输入“1”作为状态,我总是被重定向到身份验证页面。这是我的代码。
Session("Username")=request.form("user_name")
if request.Form("sub_but") <> "" then
sql = "SELECT * FROM Users WHERE UserName='"&request.form("user_name")&"' AND Password='"&request.form("pwd")&"'"
rs.open sql, con, 1, 2
if rs.EOF then
response.Write("<script language='javascript'>{attention_emp();}</script>")
else
if(rs("status")=1 & rs("login_type")="admin") then
Response.Redirect ("admin.asp")
elseif(rs("status")=1 & rs("login_type")="emp") then
response.Redirect("leave.asp")
else
response.Redirect("auth.asp")
end if
end if
rs.close
end if