我的想法是,当用户登录“登录”并且将不再看到“注册”时,它将在导航栏上显示用户名第一名。
标记:
<ul class="nav navbar-nav">
<li>
<a href="#">Register<span class="glyphicon glyphicon-user"</span></a>
</li>
<li id="LoginBTN">
<a href="#">Log in<span class="glyphicon glyphicon-log-in"></span></a>
</li>
</ul>
代码背后:
protected void BTNLogIn_Click(object sender, ImageClickEventArgs e)
{
SqlMyName SqlUser= new SqlMyName ();
DataSet DsUser = new DataSet();
string StUser = "SELECT TblUsers.User_Name, TblUsers.Pass FROM TblUsers WHERE (((TblUsers.User_Name)= '" + TXTUserName.Text + "') AND ((TblUsers.Pass)= '" + TXTPass.Text + "'));";
DsUser = SqlUser.chkData(StUser);
if (DsUser.Tables[0].Rows.Count > 0)
{
string StShowFname = "SELECT TblUsers.Fname FROM TblUsers WHERE (((TblUsers.User_Name)= '" + TXTUserName.Text + "'));";
DataSet DsShowFname = SqlUser.chkData(StShowFname);
//How can I unshow or change text of <li>?
}
}
我应该在后面的代码中做什么?
答案 0 :(得分:1)
您的代码存在许多明显的问题。
让我们从安全开始,因为这应该始终是您的首要任务。您将密码以明文形式存储在服务器中。现在,任何能够访问您的服务器的攻击者都可以轻松访问这些用户帐户。由于用户经常在我的网站上使用相同的用户名和密码,因此您的用户确实对您的用户造成了极大的伤害。切勿在数据库中以明文形式存储密码。相反,你应该用一种方法对密码进行散列和加密。这意味着攻击者无法检索实际密码。要确保用户的凭据有效,您可以将相同的散列应用于其提供的密码,并将其与散列值进行比较。如果匹配,则用户拥有正确的密码,您可以允许他们登录。
其次,用户可以轻松地对您的数据库执行SQL注入攻击,允许他们窃取和/或操纵数据。您需要使用parameterized queries。
您的标识符名称与标准.NET命名约定不匹配。当您与其他人共享代码时,例如Stack Overflow,这变得非常明显,使您的代码更难阅读。使用PascalCase作为函数名称。将camelCase用于局部变量。不要使用缩写。
要显示或隐藏服务器端控件,可以使用.Visible
属性。要将控件设置为“服务器端”,可以将runat="server"
属性添加到其标记中。将Visible
属性设置为false将导致不为该控件呈现HTML,因此客户端将无法看到它。
标记
<ul class="nav navbar-nav">
<li runat="server" id="RegisterButton">
<a href="#">Register<span class="glyphicon glyphicon-user"</span></a>
</li>
<li id="LoginBTN" runat="server">
<a href="#">Log in<span class="glyphicon glyphicon-log-in"></span></a>
</li>
</ul>
代码背后:
RegisterButton.Visible = false;
LoginBTN.Visible = false;
答案 1 :(得分:-1)
我这样做了 的的.aspx 强>
<ul class="nav navbar-nav pull-right">
<li>
<p class="navbar-text">
<% =login %><li><% =logout %></li>
</p>
</li>
</ul>
<强>的.cs 强>
if (userLogintatus == true)
{
login = string.Format("Welcome " + (string)Session["Name"])
logout = "<a href='../Account/Logout.aspx' style='color: red;'>Logout</a>";
}
else logout = "";