Controller
開啟view的基本語法
public ActionResult Forget()
{
return View();
}
public ActionResult Changepwd()
{
return View();
}
DoForget
1.先與資料庫連線,使用者密碼要改成自己得使用者密碼
2."select * from Login where Account=@Account"是查詢資料庫是否有這組帳號
3.cmd.Parameters.AddWithValue("@Account", Account);填入參數,為使用者輸入的帳號
4.if條件式,如果有這組帳號,則將Account傳送到Changepwd頁面並跳轉到該頁面,否則傳送警示訊息並重新刷新頁面。
public ActionResult DoForget( string Account)
{
//連接資料庫
string connstr = "Data Source=CSIE-TEST2;Initial Catalog=Student_data;User ID=TEST03;Password=1qaz@WSX;Encrypt=False";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
//查詢資料庫是否有這個帳號
SqlCommand cmd = new SqlCommand("select * from Login where Account=@Account");
cmd.Parameters.AddWithValue("@Account", Account);
cmd.Connection = conn;
SqlDataAdapter adpt = new SqlDataAdapter();
DataSet ds = new DataSet();
adpt.SelectCommand = cmd;
adpt.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
//如果有就跳轉到修改密碼頁面並把帳號也傳送過去
TempData["Account"] = Account;
return RedirectToAction("Changepwd");
}
else
{
//如果沒有就刷新頁面並顯示以下錯誤訊息
TempData["Errmsg"] = "帳號不存在";
return RedirectToAction("Forget");
}
}
Dochange
public ActionResult Dochange(changepwd changepwd)
{
//確認新密碼與確認密碼是否一致
if (changepwd.newpassword != changepwd.checkpassword)
{
//如果不一致則重新刷新頁面並顯示以下錯誤資訊
TempData["Account"] = changepwd.Account;
TempData["Errmsg"] = "密碼不一致";
return RedirectToAction("Changepwd");
}
//連接資料庫
string connstr = "Data Source=CSIE-TEST2;Initial Catalog=Student_data;User ID=TEST03;Password=1qaz@WSX;Encrypt=False";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
//更新密碼的sql語法
SqlCommand cmd = new SqlCommand("update Login set Password=@Password where Account=@Account");
cmd.Connection = conn;
//填入參數
cmd.Parameters.AddWithValue("@Password", changepwd.newpassword);
cmd.Parameters.AddWithValue("@Account",changepwd.Account);
//執行語句
cmd.ExecuteNonQuery();
//如果成功的話就跳轉到登入頁面
return RedirectToAction("login");
}