ユーザーと管理者が同じフォームを使用してログインできる Classic ASP を使用して作成した単純なログイン フォームです。
データベースの「Users」テーブルで、「status」というフィールドを作成しました。DATA TYPE は 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