Я построил форму регистрации и форму входа, вдруг по какой-то причине моя форма регистрации работает совершенно нормально, но моя форма входа в систему регистрируется только для первых 5 участников в моей таблице sql. для остальных - имя пользователя ложное.
Я работаю в Visual Studio 2015, пытался перезапустить, сохранить, изменить базу данных, ввести неверный пароль и пройти через каждого участника в моей базе данных.
LOGINPAGE.ASPX:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form2" runat="server" action="Logis.aspx" method="get" >
<h2> <font face="Arial"></font></h2>
Username: <input id="Text2" type="text" name="usernameLog"/><br />
Password: <input id="Password2" type="password" name="passwordLog"/><br />
<input id="Submit2" type="submit" value="Log in" /><br />
<!-- <a href="HomePage.aspx">Back to homepage</a> -->
</form>
</body>
</html>
LOGIS.ASPX:
public partial class Logis : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
App_Code.DAL dal = new App_Code.DAL();
string user = Request.QueryString["usernameLog"];
string pass = Request.QueryString["passwordLog"];
if (dal.IsExist(user))
{
if(dal.IsExistPassword(pass))
{
if (dal.IsSame(user, pass))
{
//Response.Write("אתה מחובר");
Response.Redirect("RegisHome.aspx");
}
else
Response.Write("Your password is incorrect");
}
else
Response.Write("This password is incorrect");
}
else
Response.Write("Your username is incorrect");
}
}
}
Функции DAL.cs:
public bool IsExist(string username)
{
string sql = "SELECT COUNT(Username) FROM Users WHERE Username = '" + username + "'";
cmd.CommandText = sql;
cmd.Connection = connection;
connection.Open();
int x = (int)cmd.ExecuteScalar();
connection.Close();
return ((x > 0));
}
public bool IsExistPassword(string password)
{
string sql = "SELECT COUNT(Password) FROM Users WHERE Password = '" + password + "'";
cmd.CommandText = sql;
cmd.Connection = connection;
connection.Open();
int x = (int)cmd.ExecuteScalar();
connection.Close();
return ((x > 0));
}
public bool IsSame(string username, string password)
{
string sql = "SELECT Password FROM Users WHERE Username = '" + username + "'";
cmd.CommandText = sql;
cmd.Connection = connection;
connection.Open();
string pp = (string)cmd.ExecuteScalar();
connection.Close();
return (pp == password);
}
Я ожидаю, что он войдет в систему, когда каждый пользователь входит в систему, но он регистрируется только для первых 5 пользователей.