Как исправить странную ошибку в форме входа в SQL? - PullRequest
0 голосов
/ 24 января 2019

Я построил форму регистрации и форму входа, вдруг по какой-то причине моя форма регистрации работает совершенно нормально, но моя форма входа в систему регистрируется только для первых 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 пользователей.

1 Ответ

0 голосов
/ 29 января 2019

Я отказался от этого сайта, решил попробовать открыть новый.После часа создания нового сайта, идентичного этому, я наконец нашел проблему.По какой-то причине, в течение дня, когда я проектировал все вещи css, действие уровня доступа к данным InsertUser , которое должно было вставлять пользовательские данные в таблицу при регистрации, было установлено на internal вместо публично .По какой-то причине программа не отправила сообщение об ошибке, в котором говорилось, что она не может достичь таблицы, однако она решила игнорировать проблему.Действительно простая и досадная ошибка, все же спасибо всем за щедрую поддержку и помощь.

РЕДАКТИРОВАТЬ: Угадайте, что, это не работает еще раз.Я не проверил это полностью, но после некоторой забавы CSS я проверил это полностью, и это не работает.Я могу заверить вас, что, если я вручную добавлю пользователя из запроса таблицы, я смогу войти в него как он.Но все же, когда я регистрируюсь, пользовательские данные попадают в таблицу, но я не могу войти как он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...