黑马程序员技术交流社区

标题: ASP.NET用户注册、登录、修改密码 [打印本页]

作者: 穷傻呆丑萌    时间: 2013-8-1 12:10
标题: ASP.NET用户注册、登录、修改密码
  1. <p> </p>
复制代码
如果大家看到有错误或者不足的地方请指出来,供大家学习。
加油吧。。
我们在上网的时候,经常浏览一些像论坛或者博客、空间一样需要登录网站的用户注册页面提交用户的祖册信息用户只用通过主粗验证并且登录网站才能够成功访问网站,享受网站提供的某些服务。
下面是注册用户
  1. protected void Button1_Click(object sender, EventArgs e)
  2.     {
  3.         if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "")
  4.         {
  5.             this.Page.RegisterStartupScript("ss", "<script>alert('用户名称和密码不能为空!')</script>");
  6.             return;
  7.         }
  8.         else
  9.         {
  10.             if (TextBox2.Text == TextBox3.Text)
  11.             {
  12.                 SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
  13.                 sqlcon.Open();
  14.                 string strselect = "select * from tb_user where username='" + TextBox1.Text.Trim() + "'";
  15.                 SqlCommand sqlcmd = new SqlCommand(strselect, sqlcon);
  16.                 string StrInsert = "";
  17.                 SqlDataReader dr = sqlcmd.ExecuteReader();
  18.                 if (dr.Read())
  19.                 {
  20.                     this.Page.RegisterStartupScript("ss", "<script>alert('该用户信息已经存在,请不要重复保存用户信息!')</script>");
  21.                     return;
  22.                 }
  23.                 dr.Close();
  24.                 StrInsert = "insert into tb_user(username,pwd,marks) values(@username,@pwd,@marks)";
  25.                 SqlCommand cmd = new SqlCommand(StrInsert, sqlcon);
  26.                 cmd.Parameters.Add("@username", SqlDbType.VarChar);
  27.                 cmd.Parameters["@username"].Value = this.TextBox1.Text.ToString();
  28.                 cmd.Parameters.Add("@pwd", SqlDbType.VarChar, 20);
  29.                 cmd.Parameters["@pwd"].Value = this.TextBox2.Text.ToString();
  30.                 cmd.Parameters.Add("@marks", SqlDbType.VarChar, 1000);
  31.                 cmd.Parameters["@marks"].Value = this.TextBox4.Text.ToString();
  32.                 cmd.ExecuteNonQuery();
  33.                 sqlcon.Close();
  34.                 this.Page.RegisterStartupScript("ss", "<script>alert('成功注册')</script>");
  35.             }
  36.             else
  37.             {
  38.                 this.Page.RegisterStartupScript("ss", "<script>alert('两次输入的密码不一致!')</script>");
  39.             }
  40.         }
  41.     }
复制代码
登录用户在输入欧诺个户名和密码等注册信息之后,在单机“注册”按钮是,程序首先会判断用户是否已经输入了用户名和密码等信息,如果没有输入则提示用户输入,用户在输入了用户名和密码的前提下,程序会再次判断用户输入的密码和确认密码是不是一样的,如果不一样则提示重新输入,如果一样则程序会继续判断输入的注册信息在数据库中是否存在,如果已经存在则提示该用户已经存在,如果没有的话就保存用户注册的信息
完成注册用户以后再来实现登录
  1. protected void Button1_Click(object sender, EventArgs e)
  2.     {
  3.         try
  4.         {
  5.             if (TextBox1.Text == "" || TextBox2.Text == "")
  6.             {
  7.                 this.Page.RegisterStartupScript("ss", "<script>alert('用户名称和密码信息不能为空!')</script>");
  8.                 return;
  9.             }
  10.             else
  11.             {
  12.                 string num = this.TextBox3.Text.Trim();
  13.                 if (Session["ValidNums"].ToString() == num.ToUpper())
  14.                 {
  15.                     SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
  16.                     sqlcon.Open();
  17.                     string strselect = "select * from tb_user where username='" + TextBox1.Text.Trim() + "'";
  18.                     SqlDataAdapter adsas = new SqlDataAdapter(strselect, sqlcon);
  19.                     DataSet addss = new DataSet();
  20.                     adsas.Fill(addss);
  21.                     if (addss.Tables[0].Rows.Count > 0)
  22.                     {
  23.                         string strselect1 = "select * from tb_user where username='" + TextBox1.Text.Trim() + "' and pwd='" + TextBox2.Text.Trim() + "'";
  24.                         SqlCommand sqlcmd1 = new SqlCommand(strselect1, sqlcon);
  25.                         SqlDataReader dr1 = sqlcmd1.ExecuteReader();
  26.                         if (dr1.Read())
  27.                         {
  28.                             Response.Redirect("Default.aspx");
  29.                         }
  30.                         else
  31.                         {
  32.                             this.Page.RegisterStartupScript("ss", "<script>alert('密码错误!')</script>");
  33.                             return;
  34.                         }
  35.                         dr1.Close();
  36.                     }
  37.                     else
  38.                     {
  39.                         this.Page.RegisterStartupScript("ss", "<script>alert('用户名不存在!')</script>");
  40.                         return;
  41.                     }
  42.                     sqlcon.Close();
  43.                 }
  44.                 else
  45.                 {
  46.                     this.Page.RegisterStartupScript("ss", "<script>alert('验证码输入错误!')</script>");
  47.                     return;
  48.                 }
  49.             }
  50.         }
  51.         catch (Exception ex)
  52.         {
  53.             this.Page.RegisterStartupScript("ss", "<script>alert('验证码输入错误,请刷新页面!')</script>");
  54.         }
  55.     }
复制代码
在用户单击“登录”按钮登录网站之前,程序首先会判断用户有没有输入账号和密码信息,在确定输入了用户名和密码信息之后,程序将继续判断用户是否输入了正确的验证码,,在确定输入额正确的验证码的前提下,程序将判断用户输入的账号和密码是否正确,如果正确竟会登录网站的相对应页面中个,否则将提示用户输入相对应的错误信息
用户在修改密码时,首先需要通过选择用户名来确定要修改用户的密码,然后输入所选择用户的原密码信息之后,在确认输入的心密码和确认密码一样的情况下才可以修改用户的密码。
在加载页面是,首相需要将所有的用户名信息添加的用户名的下拉列表中,其时是为了方便用户选择
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
                SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
                sqlcon.Open();
                string strselect = "select * from tb_user order by id";
                SqlDataAdapter adsas = new SqlDataAdapter(strselect, sqlcon);
                DataSet addss = new DataSet();
                adsas.Fill(addss);
                if (addss.Tables[0].Rows.Count > 0)
                {
                    for (int i = 0; i < addss.Tables[0].Rows.Count; i++)
                    {
                        DropDownList1.Items.Add(addss.Tables[0].Rows[1].ToString());
                    }
                }
                sqlcon.Close();
        }
    }
通过DropDownLis的Items的Add()方法将用户名添加到DropDownLis里面
protected void Button1_Click1(object sender, EventArgs e)
    {
        if (DropDownList1.Text =="" || TextBox2.Text == "" || TextBox3.Text == "" || TextBox4.Text == "")
        {
            this.Page.RegisterStartupScript("ss", "<script>alert('请输入用户名称、用户的原始密码或新密码信息!')</script>");
        }
        else
        {
            SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
            sqlcon.Open();
            string strselect = "select * from tb_user where username='" + DropDownList1.Text + "'";
            SqlCommand sqlcmd = new SqlCommand(strselect, sqlcon);
            SqlDataReader dr = sqlcmd.ExecuteReader();
            if (dr.Read())
            {
                StrPsds = dr["pwd"].ToString();
            }
            dr.Close();

            if (TextBox2.Text.Trim() == StrPsds)
            {
                if (TextBox3.Text.Trim() == TextBox4.Text.Trim())
                {
                    SqlConnection sqlcon1 = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
                    sqlcon1.Open();
                    string StrUpdate = "update tb_user set pwd='" + TextBox3.Text + "' where username='" + DropDownList1.Text + "'";
                    SqlCommand cmd = new SqlCommand(StrUpdate, sqlcon1);
                    cmd.ExecuteNonQuery();
                    sqlcon1.Close();
                    this.Page.RegisterStartupScript("ss", "<script>alert('您的密码已经被成功修改!')</script>");
                }
                else
                {
                    this.Page.RegisterStartupScript("ss", "<script>alert('两次密码输入的不一致,请确认后重新输入!')</script>");
                }
            }
            else
            {
                this.Page.RegisterStartupScript("ss", "<script>alert('原密码输入错误,请您确认后重新输入!')</script>");
            }
        }

    }


首先判断输入的信息是否完整,然后再判断修改用户的原密码输入是否正确,最后在判断两次输入的密码是不是一样的,当这些条件都满足了才会修改成功,否则就提示信息

作者: lvjayj    时间: 2013-8-1 22:18
学习了,很长




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2