Задать вопрос
@Kevgar

Найти ошибку в коде скрипта входа?

Скрипт выводит ошибку, что неверный логин или пароль

if(isset($_POST['submit'])) { //Если нажата кнопка
        if(empty($_POST['login']) || empty($_POST['password'])) { //Если пусты поля
          echo '<div class="alert alert-danger" role="alert">Заполните все поля!</div>';
        } else {
          $login = $_POST['login']; //Заносим в переменные
          $login = trim($login);
          $password = md5(md5($_POST['password']));
          mysql_connect("mysql.hostinger.ru","u752209951_1","***") or die(mysql_error());//Коннект к БД
          mysql_select_db("u752209951_1") or die(mysql_error());
          $query = mysql_query("SELECT * FROM users WHERE login=$login LIMIT 1"); // Проверка на сущестование
          if($query == false) { //Если не существует
            echo '<div class="alert alert-danger" role="alert">Неправильный логин или пароль</div>';
          } else {
            $array = mysql_fetch_array($query);//Массив
            if($array['password'] == $password) {//Проверка пароля
              $_SESSION['login'] = $login;
              $_SESSION['id'] = $array['id'];
              header( 'Refresh: 0; url=/cabinet' );
            }
          }
        }
    }


P.S - извините за mysql
  • Вопрос задан
  • 316 просмотров
Подписаться 1 Оценить 11 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
b0nn1e
@b0nn1e
Alcohol & Ruby on Rails
После этой строки $array = mysql_fetch_array($query);//Массив
сделайте
print_r($array);
Точно не уверен, но скорее-всего должно быть так:
$array[0]['password'] == $password
Ответ написан
@skynetdev
Как можно проверять верный логин и пароль на успешное или не успшеное выполнение запроса?
даже если НЕ найдет логин и пароль но запрос выполнится успешно mysql_query выдаст вам true
Ваш вариант не правильный!
на счет того что у вас mysql_query всегда выдает false
возможно у вас не хватает прав для работы с таблией users
что бы точно узнать причину воспользуйтесь выводом ошибки с mysql
Измените строчку
echo '<div class="alert alert-danger" role="alert">Неправильный логин или пароль</div>';


на след
echo '<div class="alert alert-danger" role="alert">Неверный запрос: '.mysql_error().' </div>';

А этот комментарий
// Проверка на сущестование
//Если не существует


на этот
// Проверка на правильное выполнение запроса
//Если запрос неверный

И проверяйте правильный логин и пароль только когда у вас будет уже сама строка с БД т.е сам результат
Да и запрос нужно правильней писать
("SELECT * FROM users WHERE login='$login' LIMIT 1");

И вообще mysql_query устарел, переходите на mysqli

Я удивлен что тут за 2 часа, никто парню нормально не помог, неужели нет пхпшников на сайте или все программят? Прямо бЯда с пхпшниками
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Отладка и поиск ошибок в своем алгоритме.

Хотя нет - это тебе не годится. Нужен учебник по РНР.
возьми хоть Котерова что ли
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽