實現登錄和註冊

數據表:

create table users
(
  uname varchar(20),
  uemail varchar(50),
  uinfo varchar(500)

AjaxRegister.aspx頁面:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        body
        {
            font: 12px/19px Arial, Helvetica, sans-serif;
            color: #666;
        }
        form div
        {
            margin: 5px 0;
        }
        .int label
        {
            float: left;
            width: 100px;
            text-align: right;
        }
        .int input
        {
            padding: 1px 1px;
            border: 1px solid #ccc;
            height: 16px;
        }
        .sub
        {
            padding-left: 100px;
        }
        .sub input
        {
            margin-right: 10px;
        }
        .formtips
        {
            width: 200px;
            margin: 2px;
            padding: 2px;
        }
        .onError
        {
            background: #FFE0E9 url(../img/reg3.gif) no-repeat 0 center;
            padding-left: 25px;
        }
        .onSuccess
        {
            background: #E9FBEB url(../img/reg4.gif) no-repeat 0 center;
            padding-left: 25px;
        }
        .high
        {
            color: red;
        }
    </style>

    <script src="../JS/jquery-1.3.2.js" type="text/javascript"></script>

    <script type="text/javascript">

        $(function() {
            //文本框失去焦點後
            $('form :input').change(function() {

                var $parent = $(this).parent();
                $parent.find(".formtips").remove();
                //驗證用戶名
                if ($(this).is('#username')) {
                    if (this.value == "" || this.value.length < 6) {
                        var errorMsg = '請輸入至少6位的用戶名.';
                        $parent.append('<span id="sp1" class="formtips onError">' + errorMsg + '</span>');
                    } else {
                        var name = this.value;
                        var options = {
                            type: "GET",
                            url: "CheckName.aspx?name=" + name,
                            success: function(data) {
                                if (data == "0") {
                                    $parent.append('<span id="sp1" class="formtips onError">用戶名已存在</span>');
                                }
                                else {
                                    $parent.append('<span id="sp1" class="formtips onSuccess">用戶名可用</span>');
                                }
                            },
                            error: function() {
                                alert("服務器異常!");
                            }
                        };
                        $.ajax(options);

                    }
                }
                //驗證郵件
                if ($(this).is('#email')) {
                    if (this.value == "" || (this.value != "" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value))) {
                        var errorMsg = '請輸入正確的E-Mail地址.';
                        $parent.append('<span class="formtips onError">' + errorMsg + '</span>');
                    } else {
                        var okMsg = '輸入正確.';
                        $parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
                    }
                }
            }).keyup(function() {
                $(this).triggerHandler("blur");
            }).focus(function() {
                $(this).triggerHandler("blur");
            }); //end blur
            //重置
            $('#res').click(function() {
                form1.reset();
                $("span").remove();
            });
            $("#send").click(function() {
                var name = $("#username").val();
                var email = $("#email").val();
                var personinfo = $("#personinfo").val();
                if (name.length >= 6 && email.length >= 6 && personinfo.length > 0) {
                    var options = {
                        type: "POST",
                        url: "Regist.aspx",
                        data: { name: name, email: email, info: personinfo },
                        success: function(data) {
                            if (data == "1") {
                                alert("註冊成功!");
                            }
                            else {
                                alert("註冊失敗!");
                            }
                        },
                        error: function() {
                            alert("服務器異常!");
                        }
                    };
                    $.ajax(options);
                }
                else {
                    return;
                }

            });
        })
    
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div class="int">
        <label for="username">
            用戶名:</label>
        <input type="text" id="username" class="required" />
    </div>
    <div class="int">
        <label for="email">
            郵箱:</label>
        <input type="text" id="email" class="required" />
    </div>
    <div class="int">
        <label for="personinfo">
            個人資料:</label>
        <input type="text" id="personinfo" />
    </div>
    <div class="sub">
        <input type="button" value="提交" id="send" /><input type="reset" id="res" />
    </div>
    </form>
</body>
</html>


CheckName.aspx頁面:

  public partial class CheckName : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string name = Request["name"];
            if (Check(name))
            {
                Response.Write("0");
                Response.End();
            }
            else
            {
                Response.Write("1");
                Response.End();
            }
        }
        SqlConnection conn = new SqlConnection("server=.;database=Example;uid=sa;pwd=****");
        public bool Check(string name)
        {
            string sql = string.Format("select count(*) from  users where uname='{0}'", name);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                return (int)cmd.ExecuteScalar() > 0;
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
    }


Login.aspx頁面:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script src="../JS/jquery-1.3.2.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(function() {
            $("#txtname").focus(function() {
                if ($(this).val() == this.defaultValue) {
                    $(this).val("");
                }
            }).blur(function() {
            if ($(this).val() == '') {
                    $(this).val(this.defaultValue);
                }
            });
        });
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        用戶名:<input type="text" id="txtname" style="color: #808080" value="請輸入用戶名" />
        密碼:<input type="text" id="txtpwd" />
        <input type="button" id="btn1" value="登錄" />
    </div>
    </form>
</body>
</html>


 

Register.aspx頁面:

 public partial class Register : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string name = Request["name"];
                string email=Request["email"];
                string info=Request["info"];
                bool r = RegisterUser(name,email,info);
                if (r)
                {
                    Response.Write("1");
                    Response.End();
                }
                else
                {
                    Response.Write("0");
                    Response.End();
                }
            }
        }
        SqlConnection conn = new SqlConnection("server=.;database=Example;uid=sa;pwd=****");
        public bool RegisterUser(string name, string email, string info)
        {
            string sql = string.Format("insert into users values('{0}','{1}','{2}')", name, email, info);
            SqlCommand cmd = new SqlCommand(sql,conn);
            try
            {
                conn.Open();
                return cmd.ExecuteNonQuery() > 0;
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                conn.Close();
            }
        }
    }


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章