網上購物已經成為現在生活不可缺少的一部分。我們上淘寶只是為了消費,今天換一個角度,用程序員的眼光看看淘寶。

如上圖:
情況一:當打開一些和賬戶有關的網頁,檢測用戶沒有登錄,系統自動會跳轉到登錄界面。
情況二:當檢測到已經有用戶登錄,頁面會自動跳轉到目的頁面。
問題:系統如何檢測用戶是否登錄,如何保存用戶的登錄狀態?
下面說說自己的理解:利用Session保存用戶狀態,
解決方案一:每個用戶都有一個Session對象相對應,當用戶想要跳轉到任意跟賬戶有關的界面(已買到的寶貝頁面),每個頁面加載的時候都要判斷Session對象保存的用戶狀態。
1. 登錄界面的代碼:
public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { Session["UserFlag"] = false;//首先設置會話值UserFlage表示用戶是否登錄 if (UserVolidate(Login1.UserName, Login1.Password) == true)//調用自定義方法,驗證用戶是否登錄成功 { Session["UserFlag"] = true; //登錄成功 e.Authenticated = true; Response.Redirect("Main.aspx"); //跳轉主界面 } else{ Response.Write("未登錄"); //否則提示未登錄 } } /// <summary> /// 用戶登錄驗證 /// </summary> /// <param name="userName">用戶名</param> /// <param name="userPassword">用戶密碼</param> /// <returns>bool</returns> private bool UserVolidate(String userName, String userPassword) { //連接數據庫 SqlConnection con = new SqlConnection("server=.;database=User;uid=sa;pwd=123456;"); con.Open(); SqlCommand cmd=new SqlCommand ("select * from UserInfo where UserName="+userName +" and Password="+userPassword ); int num=cmd.ExecuteNonQuery (); if (num>0) { return true; } else { return false; } } }
新聞熱點
疑難解答