如何使用用户名或电子邮件ID登录asp.net? [英] how to use Username or Email id to login in asp.net ?

查看:116
本文介绍了如何使用用户名或电子邮件ID登录asp.net?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望用户可以通过任何一个用户名或电子邮件ID登录。我已经有通过用户名登录的代码,但我希望它可以是用户名或电子邮件地址。在下面的代码中做了哪些更改?





  protected   void  Button1_Click( object  sender,EventArgs e)
{
SqlConnection con = new SqlConnection( 数据源= jayraj-pc \\sqlexpress; Initial Catalog = Internship; Integrated Security = True; Pooling = False);

con.Open();
SqlCommand cmd = new SqlCommand( select *来自Username = @ username和Password = @ password,con)的用户;
cmd.Parameters.AddWithValue( @ username,uname.Text);
cmd.Parameters.AddWithValue( @ password,pwd.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0
{
会话[ UserID] = dt.Rows [ 0 ] [ UserID< /跨度>]的ToString();
会话[ FirstName] = dt.Rows [ 0 ] [ FirstName]。ToString();
会话[ 用户名] = uname.Text;
Response.Redirect( StudentDashboard.aspx);
}
else
{
ClientScript.RegisterStartupScript(Page.GetType(), validation < script language ='javascript'> alert('无效的用户名和密码')< / script>);
}
}

解决方案

修改您的选择查询,如下所示:





从用户中选择*(用户名= @用户名或电子邮件= @电子邮件)和密码= @密码


您可以将EmailId列添加到您的Users表,并将数据查询为'select * from Users where(Username = @ username或Email = @ email)和Password = @ password'

I want user to login by any of the one, either username or Email id. I already have the code for login through username but i want it to be as either username or email address. what changes to make in below code ??


protected void Button1_Click(object sender, EventArgs e)
       {
           SqlConnection con = new SqlConnection("Data Source=jayraj-pc\\sqlexpress;Initial Catalog=Internship;Integrated Security=True;Pooling=False");

           con.Open();
           SqlCommand cmd = new SqlCommand("select * from Users where Username=@username and Password=@password", con);
           cmd.Parameters.AddWithValue("@username", uname.Text);
           cmd.Parameters.AddWithValue("@password", pwd.Text);
           SqlDataAdapter da = new SqlDataAdapter(cmd);
           DataTable dt = new DataTable();
           da.Fill(dt);
           if (dt.Rows.Count > 0)
           {
               Session["UserID"] = dt.Rows[0]["UserID"].ToString();
               Session["FirstName"] = dt.Rows[0]["FirstName"].ToString();
               Session["Username"] = uname.Text;
               Response.Redirect("StudentDashboard.aspx");
           }
           else
           {
               ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
           }
       }

解决方案

Modify your select query like this:


select * from Users where (Username=@username or Email=@email) and Password=@password


U can add EmailId column to your Users table and query data as 'select * from Users where (Username=@username or Email=@email) and Password=@password'


这篇关于如何使用用户名或电子邮件ID登录asp.net?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆