PHP: Не работает скрипт авторизации

139
07 мая 2019, 15:20

Не работает скрипт. Точнее не происходит авторизация. Вот скрипт в файле login.php:

session_start();
if (isset($_POST['login']) && isset($_POST['password'])) {
  $database = glob('*.db');
  define('DB_NAME', $database[0]);
  $login = $_POST['login'];
  $password = $_POST['password'];
  $mdPassword = md5($password);
  $db = new SQLite3(DB_NAME);
  $result = $db->query("SELECT id FROM admin WHERE login = '$login' AND password = '$mdPassword' LIMIT 1");
  while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
    if($row['id'] == 1) {
        $_SESSION['user_id'] = $row['id'];
        print_r($row['id']);
    }
    else {
        echo 'Логин или пароль неверны!';
        print_r($row['id']);
    }
  }
}

А вот это в файле admin.php:

session_start();
if (!isset($_SESSION['user_id'])) {
    header('Location: login.php');
    exit();
}
else {
// Открывающийся после авторизации контент
}

Вывод var_dump($row['id']) при вводе верного пароля — int(1), при вводе рандомного — ничего не выводится. В обоих случаях перехода к admin.php не происходит.

Answer 1

В условие if($row['id']) добавьте header('Location: admin.php')

READ ALSO
Проблема с функцией GetAsyncKeyState()

Проблема с функцией GetAsyncKeyState()

У меня есть меню, которое управляется стрелками и на нажатие Enter переходит по нужному пунктуПроблема в том, что все нажатия Enter сохраняются...

136
Что представляет собой cout?

Что представляет собой cout?

cout не ключевое словоОн подключается через библиотеку iostream и сам редактор vs говорит что это функция

150
Странно работает цикл

Странно работает цикл

Есть код калькулятора ,вот он :

156
Структура данных для хранения callbackов

Структура данных для хранения callbackов

Мне нужна структура данных, которая каждой строке будет ставить в соответствие некоторую callback-функциюЭта структура будет инициализироваться...

138