Ну, Im пытается сделать логин на SiteMaster, Он отлично работает .. но я хочу Логин ярлыка, чтобы иметь что-то сохраненное .. и что-то исчезаетЕсли Читатель Читать на Sitemaster
Это мой SiteMaster код. .
<form id="Form1" runat="server">
<div class="wrap">
<div class="headerwrap">
<div class="logo"><a href="<%= Page.ResolveUrl("~/Default.aspx") %>"><img width="70%" height="85%" src="<%= Page.ResolveUrl("~/images/hiremelogo.png") %>" /></a></div>
<div id="container">
<a href="<%= Page.ResolveUrl("~/Default.aspx?logout=1") %>"><div class="logout" id="logout" runat="server"><div class ="text">Logout</div></div></a>
<!-- Login Starts Here -->
<div runat="server" id="loginContainer">
<a href="#" id="loginButton"><span>Login</span><em></em></a>
<div style="clear:both"></div>
<div id="loginBox">
<div class="loginForm">
<form id="loginForm">
<fieldset id="body" class="bodyy">
<fieldset>
<label for="email">Username</label>
<asp:TextBox name="email" id="email" type="text" runat="server"></asp:TextBox>
</fieldset>
<fieldset>
<label for="password">Password</label>
<asp:TextBox type="password" name="password" id="password" runat="server"></asp:TextBox>
</fieldset>
<asp:Button id="login" class="loginbutton" runat="server" Text="Sign in" onclick="login_Click" />
</fieldset>
<span><a href="#">Forgot your password?</a></span>
</form>
</div>
</div>
</div>
<!-- Login Ends Here -->
</div>
</div>
<div id="div1" runat="server"></div>
<div id="div2" runat="server"></div>
<div id="div3" runat="server"></div>
<div class="menuwrap">
<div class="menu_simple">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Jobs</a></li>
<li><a href="#">Seekers</a></li>
<li><a href="#">Employers</a></li>
<li><a href="#">News</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div>
</div>
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
<div class="breakline"></div>
<div class="footerwrap">
<div id="asdasd" runat="server"></div>
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</div>
</form>
Мой C# код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Web.Configuration;
public partial class hireme : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["logout"] != null)
{
Response.Cookies["UserSettings"]["admin1"] = "";
Response.Cookies["UserSettings"]["admin2"] = "";
Response.Cookies["UserSettings"]["username"] = "";
Response.Cookies["UserSettings"]["username1"] = "";
Response.Cookies["UserSettings"]["sid"] = "";
Response.Cookies["UserSettings"]["eid"] = "";
Response.Redirect(Request.ServerVariables["SCRIPT_NAME"].ToString());
}
}
protected void login_Click(object sender, EventArgs e)
{
if (USER(email.Text).Equals(true))
{
SqlConnection myConn, myConn2;
SqlCommand myCommand, myCommand2;
SqlDataReader myReader, myReader2;
String SQL, SQL2;
myConn = new SqlConnection(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
myConn2 = new SqlConnection(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
myConn.Open();
myConn2.Open();
SQL = "SELECT * FROM seekers WHERE s_username = @user AND s_password = @pass";
SQL2 = "SELECT * FROM employers WHERE e_username = @user AND e_password = @pass";
myCommand = new SqlCommand(SQL, myConn);
myCommand2 = new SqlCommand(SQL2, myConn2);
myCommand.Parameters.AddWithValue("@user", email.Text);
myCommand.Parameters.AddWithValue("@pass", password.Text);
myCommand2.Parameters.AddWithValue("@user", email.Text);
myCommand2.Parameters.AddWithValue("@pass", password.Text);
myReader = myCommand.ExecuteReader();
myReader2 = myCommand2.ExecuteReader();
if (myReader.Read())
{
div1.InnerText = "Login Success!";
Response.Cookies["UserSettings"]["username"] = email.Text;
Response.Cookies["UserSettings"]["sid"] = myReader["s_id"].ToString();
Response.Cookies["UserSettings"]["eid"] = "0";
logout.Visible = false;
Label1.Text = "TEST";
Response.Redirect("~/Default.aspx");
}
else
{
asdasd.InnerText = "S Fail";
div1.Visible = true;
div2.Visible = false;
div3.Visible = false;
div1.InnerHtml = "<br><div class='alert alert-error'>Invalid Username/Password!</div>";
}
myConn.Close();
}
else
{
asdasd.InnerText = "Full Fail";
div1.Visible = true;
div2.Visible = false;
div3.Visible = false;
div1.InnerHtml = "<br><div class='alert alert-error'>You are not Registered! Please Register first to use the Service</div>";
}
}
public Boolean USER(String username)
{
SqlConnection myConn;
SqlCommand myCommand;
SqlDataReader myReader;
String SQL;
myConn = new SqlConnection(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
myConn.Open();
SQL = "SELECT * FROM seekers WHERE s_username = @user";
myCommand = new SqlCommand(SQL, myConn);
myCommand.Parameters.AddWithValue("@user", email.Text);
myReader = myCommand.ExecuteReader();
if (myReader.Read())
{
myConn.Close();
return true;
}
else
{
myConn.Close();
return false;
}
}
}
Ну, Войти работает отлично, я могу получить значение куки на моей странице по умолчанию, проблема Label1 не обновляется и выход из системы по-прежнему видно ..
Я не уверен, что им делать неправильно здесь ..
Любая помощь будет возможно ...!
Так вот почему он не работает, ну, когда я пытаюсь запросить.Чуки [UserSettings], чтобы решить, вошел ли он в систему, он работает ... но если я удалю все куки-файлы браузера и загрузите страницу по умолчанию, ошибка появляется о nullreference – Rifshan
Проверьте, является ли cookie нулевым первым, если оно равно null, тогда пользователь не выполнил вход в систему. –
Im, используя это при загрузке по умолчанию. 'if (Request.Cookies [" UserSettings "] [" username "]! = Null)' Он отлично работает при входе в систему, но когда нет cookie, он дает нулевую ошибку – Rifshan