私はログイン機能を作っていますが、ユーザーが3回の試行で間違った情報を入力した場合、ロックアウトを含めてブランクパネルに持ち込み、ログイン部分を取り除きます。私はカウンターを使用していますが、動作していないようです。私は間違った情報を入力した場合、それは私がlblInfo2は私に試行数を表示していますが、それは常に1のまま、私は間違った情報を入力したが、私はAsp C#カウンタが動作しない
<asp:Panel ID="panel2" runat="server" Wrap="true" Visible="false">
<h2 id="logError" runat="server" visible="false">Error logging in</h2>
<strong>Username</strong><asp:TextBox runat="server" ID="loginName"></asp:TextBox><br />
<strong>Password</strong><asp:TextBox runat="server" TextMode="Password" ID="loginPass"></asp:TextBox> <br />
<asp:Button runat="server" Text="Return" OnClick="ReturnMain" />
<asp:Button runat="server" Text="Log in" OnClick="login" /><br />
<asp:Label ID="lblInfo2" runat="server"></asp:Label>
</asp:Panel>
public void login(Object src, EventArgs e)
{
get_connection();
try
{
connection.Open();
command = new SqlCommand("SELECT * FROM subscribers WHERE Email [email protected] and Password = @Password", connection);
command.Parameters.AddWithValue("@Email", loginName.Text);
command.Parameters.AddWithValue("@Password", loginPass.Text);
//Session["User"] = loginName.Text;
//Session["Number"] = attempt;
int attempt = 0;
reader = command.ExecuteReader();
if (reader.HasRows)
{
//notification that the user has logged in
YouHaveLoggedIn.Visible = true;
panel1.Visible = false;
panel2.Visible = false;
panel6.Visible = true;
WishPanel.Visible = true;
}
else
{
attempt++;
lblInfo2.Text = "Attempt count: " + attempt;
logError.Visible = true;
if (attempt >= 3) // lockout function but does not work, unsure why
{
lockedOut.Visible = true;
panel2.Visible = false;
}
}
reader.Close();
}
catch (Exception err)
{
//user did not log in successfully
lblInfo2.Text = "Error reading the database. ";
lblInfo2.Text += err.Message;
}
finally
{
//lblInfo.Text = "good connect. ";
connection.Close();
}
}
をロックアウトされません。私に言うだろう、それは私の問題ですもしelse文?
リクエストの間に「試行」を継続していると思いますか? –