Ejemplo n.º 1
0
    protected void bn_ok_Click(object sender, EventArgs e)
    {
        Common_Func cfc = new Common_Func();
        String_Func sfc = new String_Func();
        string mg_id = "", mg_pass = "", confirm = "", mErr = "", tmpstr = "";
        string[] tmparray;
        string[] strsplit = new string[] { "\t\n" };		// 分隔分辦用字串

        mg_id = tb_id.Text.Trim();
        mg_pass = tb_pass.Text.Trim();
        confirm = tb_confirm.Text.Trim();

        if (mg_id == "")
            mErr = mErr + "請填寫「帳號」!\\n";

        if (mg_pass == "")
            mErr = mErr + "請填寫「密碼」!\\n";

        if (Session["confirm"] == null)
            mErr = mErr + "驗證碼無法確認!\\n";
        else
            if (confirm != Session["confirm"].ToString())
                mErr = mErr + "驗證碼輸入錯誤!\\n";

        if (mErr == "")
        {
            tmpstr = cfc.Check_ID(mg_id, mg_pass, Request.ServerVariables["REMOTE_ADDR"]);

            if (sfc.Left(tmpstr, 1) == "*")
            {
                mErr = tmpstr.Substring(1);
            }
            else
            {
                tmparray = tmpstr.Split(strsplit, StringSplitOptions.None);

                Session["mg_sid"] = tmparray[0];
                Session["mg_name"] = tmparray[1];
                Session["mg_power"] = tmparray[2];
            }
        }

        if (mErr == "")
        {	// 全部驗證都正確

            // 清除驗證碼的 Session 值
            Session.Remove("confirm");

            // 重新導向至主畫面
            Response.Redirect("index.aspx");
        }
        else
        {	// 有錯誤

            // 重新產生驗證碼
            bn_reset_Click(sender, e);

            // 利用 javascript 顯示錯誤訊息
            lt_show.Text = "<script language=javascript>alert(\"" + mErr + "\");</script>";
        }
    }