mbasirati
شنبه 14 اردیبهشت 1392, 01:31 صبح
سلام
من این قطعه کد رو دارم. این قطعه کد برای فرم لاگین سایت نوشته شده. اول میاد یوزرنیم و پسورد رو چک میکنه و اگه صحیح بود وارد صفحه مدیر میشه. منتها قبلش باید تاریخ آخرین ورود هم تصحیح بشه.
مشکل اینجاس که کوئری دوم که کار آپدیت آخرین ورود رو انجام میده روی دیتابیس اجرا نمیشه. کد هیچ اروری نمیگیره ولی عمل آپدیت هم انجام نمیشه.
protected void btnLogin_Click(object sender, EventArgs e)
{
Database db1 = new Database();
string query = "select * from Admins where UserName=@username and cast(Password as varbinary)=cast(@password as varbinary)";
SqlCommand smd = new SqlCommand(query, db1.sc);
smd.Parameters.AddWithValue("@username", txtUsername.Text);
smd.Parameters.AddWithValue("@password", General.CreatePasswordHash(txtPassword.Text));
SqlDataReader sdr = smd.ExecuteReader();
smd.Parameters.Clear();
if (sdr.Read())
{
Session.Add("username", sdr[0].ToString());
//قطعه کد برای ثبت آخرین ورود
string nowEnter = sdr[5].ToString();
query = "update Admins set LastEnter=@lastEnter, NowEnter=@nowEnter where UserName=@username";
string now = General.getPersianDateNow() + " ساعت " + General.getPersianTimeNow();
smd.CommandText = query;
smd.Parameters.AddWithValue("@lastEnter", nowEnter);
smd.Parameters.AddWithValue("@nowEnter", now);
smd.Parameters.AddWithValue("@username", sdr[1].ToString());
sdr.Close();
smd.ExecuteNonQuery();
if (chkRemember.Checked)
{
HttpCookie mycookie = new HttpCookie("arvin");
mycookie.Values.Add("username", sdr[1].ToString());
mycookie.Values.Add("password", General.CreatePasswordHash(txtPassword.Text));
mycookie.Expires = DateTime.Now.AddMonths(2);
Response.Cookies.Add(mycookie);
}
Response.Redirect("~/admin/Index.aspx", false);
}
else
{
lblError.Visible = true;
}
}
مشکل از کجاس؟
من این قطعه کد رو دارم. این قطعه کد برای فرم لاگین سایت نوشته شده. اول میاد یوزرنیم و پسورد رو چک میکنه و اگه صحیح بود وارد صفحه مدیر میشه. منتها قبلش باید تاریخ آخرین ورود هم تصحیح بشه.
مشکل اینجاس که کوئری دوم که کار آپدیت آخرین ورود رو انجام میده روی دیتابیس اجرا نمیشه. کد هیچ اروری نمیگیره ولی عمل آپدیت هم انجام نمیشه.
protected void btnLogin_Click(object sender, EventArgs e)
{
Database db1 = new Database();
string query = "select * from Admins where UserName=@username and cast(Password as varbinary)=cast(@password as varbinary)";
SqlCommand smd = new SqlCommand(query, db1.sc);
smd.Parameters.AddWithValue("@username", txtUsername.Text);
smd.Parameters.AddWithValue("@password", General.CreatePasswordHash(txtPassword.Text));
SqlDataReader sdr = smd.ExecuteReader();
smd.Parameters.Clear();
if (sdr.Read())
{
Session.Add("username", sdr[0].ToString());
//قطعه کد برای ثبت آخرین ورود
string nowEnter = sdr[5].ToString();
query = "update Admins set LastEnter=@lastEnter, NowEnter=@nowEnter where UserName=@username";
string now = General.getPersianDateNow() + " ساعت " + General.getPersianTimeNow();
smd.CommandText = query;
smd.Parameters.AddWithValue("@lastEnter", nowEnter);
smd.Parameters.AddWithValue("@nowEnter", now);
smd.Parameters.AddWithValue("@username", sdr[1].ToString());
sdr.Close();
smd.ExecuteNonQuery();
if (chkRemember.Checked)
{
HttpCookie mycookie = new HttpCookie("arvin");
mycookie.Values.Add("username", sdr[1].ToString());
mycookie.Values.Add("password", General.CreatePasswordHash(txtPassword.Text));
mycookie.Expires = DateTime.Now.AddMonths(2);
Response.Cookies.Add(mycookie);
}
Response.Redirect("~/admin/Index.aspx", false);
}
else
{
lblError.Visible = true;
}
}
مشکل از کجاس؟