如何使用用户名或电子邮件ID登录asp.net? [英] how to use Username or Email id to login in asp.net ?
本文介绍了如何使用用户名或电子邮件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屋!
查看全文