Visual Studio 2010でWebアプリケーションを開発し、このアプリケーションにユーザーログインシステムを追加しようとしています。これまでのところ、ユーザーのパスワードの検証に問題があります。プログラムは、そのユーザー名に関連付けられているパスワードと一致していても、すべてのパスワードが正しくないことを通知します。これは私が息子に書いたコードです:
protected void n_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
string cmdStr = "select count(*) from Registration where UserName='" + TextBoxUserName.Text + "'";
SqlCommand CheckUser = new SqlCommand(cmdStr, con);
int Temp = Convert.ToInt32(CheckUser.ExecuteScalar().ToString());
if (Temp == 1)
{
string cmdStr2 = "Select Password from Registration where UserName ='" + TextBoxUserName.Text + "'";
SqlCommand pass = new SqlCommand(cmdStr2, con);
string password = pass.ExecuteScalar().ToString();
con.Close();
if (password == TextBoxPassword.Text)
{
Session["New"] = TextBoxUserName.Text;
Response.Redirect("HomePage.aspx");
}
else
{
Label1.Visible = true;
Label1.Text = "Password is invalid";
}
}
else
{
Label1.Visible = true;
Label1.Text = "Username is invalid";
}
}
}
}
入力されたパスワードに関係なく、プログラムは「パスワードが無効です」と出力します。これは、問題がifステートメントの最初の部分にあることを示していますか?またはそれが使用する変数?無効なユーザー名も同じようにフラグを立てることに言及する価値があるかもしれません、そしてこれはうまくいきます。
前もって感謝します :)