smolyakov770
@smolyakov770
Веб Дизайнер Верстальщик

Что неправильно в скрипте авторизация?

Написал скрипт авторизации он работает, но есть но) при авторизации не перенаправляет на страницу кабинета, но при этом авторизует если обновить и перейти в личный кабинет
Вот код
if(isset($_SESSION['login'])){
    header('Location: lk');
}

$login = $_POST['login'];
$password = $_POST['password'];
$sha256 = hash('sha256', $password );
$auth = $_POST['auth'];

if(isset($auth)) {

    if (empty($login)) {
        echo  'Поля логин не может быть пустым';
    } elseif (!preg_match("/^[A-Za-z0-9_-]{4,16}$/",$login )) {
        echo  'Логин не может содержать менее 4 символов';
    } elseif (empty($password)) {
        echo  'Поля пароль не может быть пустым';
    } elseif (!preg_match("/^[A-Za-z0-9_-]{6,18}$/",$password)) {
        echo  'Пароль не может содержать менее 6 символов';
    } else {

    $sql = mysqli_query($link, "SELECT * FROM `test` WHERE `login` = '$login' LIMIT 1");
    $result = mysqli_fetch_array($sql);

    if ($result['login'] === $login && $result['password'] === $sha256) {
        header("Location: lk"); // тут не работает перенаправление
    } else {
        echo 'Логин или пароль введены не верно'; 
    }
  }
}
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега PHP
Добрый вечер.
Включите полный вывод ошибок в браузер или смотрите в логах сервера ошибки.
Перед header() Вы несколько раз используете echo, это может приводить к ошибке
Cannot modify header information - headers already sent by.....
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы