RoadToKnowledge
@RoadToKnowledge
Тот кто идёт - найдет дорогу

Создал сайт, но слетает авторизация при перезагрузке страницы, или уходе на другую. Что не так сделал?

Вот код авторизации, она проходит успешно, с помощью БД и RedBeanPHP
<?php
$data= $_POST;
if (isset($data['do_login'])){
    $errors = array();
    $user = R::findOne('users','login = ?',array($data['login']));
    if ($user){
        if (password_verify($data['password'], $user->password)){
           $_SESSION['logged_user']['login']= $user['login']; 
           echo '<div style="color: Green; text-align:center; font-size:14pt;">Вы авторизаны! Добро пожаловать! </div><hr>'; 
        } else {
           $errors[]='Неверный пароль'; 
        }
    }
    else {
    $errors[]='Пользователь с таким логином не найден';    
    }
   
    if (! empty($errors)){
echo '<div style="color: red; text-align:center; font-size:14pt;">'.array_shift($errors).'</div><hr>';
}
}
if(isset($_SESSION['logged_user']['login']))    {
    echo "пользователь авторизован";
}
echo $_SESSION['logged_user']['login'];
?>

А вот код ещё 5b22af6fb3707043815934.png
______
Мне что-то говорили про Сессию что мол в начале её надо писать, а куда именно? Пробовал перед HTML прям вставлять, ничего не помогло
  • Вопрос задан
  • 290 просмотров
Пригласить эксперта
Ответы на вопрос 3
kimono
@kimono
Web developer
Сессия не стартует при перезагрузке:
<?php
session_start();
Ответ написан
@Batlab
PHP Senior | Python Middle | JS Junior
session_start(); должна быть в начале файла
Ответ написан
@santavits
Может стоит попробовать записывать сессию в бд, а через скрипт уже проверять есть ли сессия с данным пользователем
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы