1.思路與效果圖
Index.aspx
注冊
注冊成功
登陸
登陸驗證通過進入內容頁1
登陸沒通過驗證
思路:首先建一個Sqlserver數據庫Student,再建一個student表(name,pwd)存放用戶名和密碼。
然后注冊功能的實現:通過數據庫插入信息到表的Sql語句來實現,成功提示用戶名和密碼。
登陸驗證的實現:查詢student表的數據,SqlDataReader取出數據庫的數據,一個If判斷語句如果符合取得的數據寫入session並跳轉到內容頁1,否則提示錯誤。
2.注冊功能的實現
前台:注冊頁面.aspx
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder3" runat="server"> <fieldset class="register"> <legend>帳戶信息</legend> <p> <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">用戶名:</asp:Label> <asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox> </p> <p> <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">密碼:</asp:Label> <asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox> </p> </fieldset> <p class="submitButton"> <asp:Button ID="CreateUserButton" runat="server" Text="創建用戶" OnClick="CreateUserButton_Click"/> </p>
后台:
首先建一個test.cs
public class DBSimple { private SqlConnection con; public DBSimple() { string str = @"Data Source=PC01;Integrated Security=SSPI;database=Student"; con = new SqlConnection(str); } public void TestExecuteNonQuery_Insert(string name, string pwd) { if (con == null) return; string sql = "insert student values('" + name + "','" + pwd + "')"; SqlCommand cmd = new SqlCommand(sql, con); if (con.State == ConnectionState.Closed) con.Open(); try { cmd.ExecuteNonQuery(); } catch (SqlException ex) { } } }
注冊頁面.aspx.cs
DBSimple db; protected void Page_Load(object sender, EventArgs e) { db = new DBSimple(); } protected void CreateUserButton_Click(object sender, EventArgs e) { string name = UserName.Text; string pwd = Password.Text; db.TestExecuteNonQuery_Insert(name, pwd); Response.Write("<script>alert('Name=" + name + " , pwd =" + pwd + " ')</script>"); }
3.登陸功能實現
前台:
<fieldset class="login"> <legend>帳戶信息</legend> <p> <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">用戶名:</asp:Label> <asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox> </p> <p> <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">密碼:</asp:Label> <asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox> </p> <p> <asp:CheckBox ID="RememberMe" runat="server"/> <asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" CssClass="inline">保持登錄狀態</asp:Label> </p> </fieldset> <p class="submitButton"> <asp:Button ID="LoginButton" runat="server" Text="登錄" OnClick="LoginButton_Click"/> </p>
后台
protected void LoginButton_Click(object sender, EventArgs e) { string name = UserName.Text; string pwd = Password.Text; string str = @"Data Source=PC01;Integrated Security=SSPI;database=Student"; SqlConnection sqlCon = new SqlConnection(str); sqlCon.Open(); SqlCommand sqlComGet = new SqlCommand(); sqlComGet.Connection = sqlCon; sqlComGet.CommandText = "select * from student where name='" + name + "' and pwd='" + pwd + "'"; SqlDataReader sqlDr = sqlComGet.ExecuteReader(); if (sqlDr.Read()) //帳號和密碼正確 { Session["name"] = name; //用Session記錄帳號 Session["pwd"] = pwd; //用Session記錄密碼 Response.Redirect("內容頁1.aspx"); } else //帳號或密碼錯誤 { Response.Write("<script>window.alert('您輸入的用戶名或密碼不正確!');</script>"); } sqlCon.Close(); }