twofolls95
@twofolls95

Почему не удаляется сессия пользователя?

Есть две сессии, Админ и Пользователь. Сессия Админ удаляется, а Пользователь нет, кто может подсказать почему так?

Исходный код:

HTML:
authorization_user($connect);
 <!-- Если сессия не "Админ" и не "Пользователь", то отображай ссылку
на форму с авторизацией и регистрацией. -->
<?php if(empty($_SESSION['admin'] . $_SESSION['user'])) { ?>
<li class="nav-item">
<a class="nav-link" href="/" data-toggle="modal" data-target="#exampleModal1">Регистрация</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/" data-toggle="modal" data-target="#exampleModal">Вход</a>
</li>
<?php } ?>
<!-- Если сессия "Админ", то отображай ссылку на административную панель сайта -->
<?php if(!empty($_SESSION['admin'])){ ?>
<li class="nav-item">
<a class="nav-link" href="../app/admin/admin.php">Административная панель</a>
</li>
<?php } ?>
<!-- Если сессия "Пользователь", то отображай ссылки на личный кабинет и выход -->
<?php if(!empty($_SESSION['user'])){ ?>
<li class="nav-item">
<a class="nav-link" href="#">Личный кабинет</a>
</li>
<li class="nav-item">
<a class="nav-link" href="?do=logout_user">Выход</a>
</li>
<?php } ?>


PHP:

function authorization_user($connect){
    session_start();
    $login = $_POST['login'];
    if(isset($_POST['submit'])){
        $sql = mysqli_query($connect, "SELECT * FROM users WHERE login ='".mysqli_real_escape_string($connect, $login)."'");
        if(mysqli_num_rows($sql) > 0){
            $_SESSION['user'] = $login;
            header("Location: pages/post.php");
            exit();
        } else {
            exit('Fuck You!');
        }
    }
}
 
<?php
 
//Сессия администратора
session_start();
if(!$_SESSION['admin']){
    header("Location: /");
    exit;
}
 
//Выход из сессии администратора
if($_GET['do'] == 'logout_admin'){
    unset($_SESSION['admin']);
    session_destroy();
    header("Location: /");
    exit;
}
 
//Выход из сессии пользователя
if($_GET['do'] == 'logout_user'){
    unset($_SESSION['user']);
    session_destroy();
    header("Location: /");
    exit;
}
 
?>
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 1
Возможно у тебя срабатывает этот код, когда сессии админа нет, а $_SESSION['user'] есть:
//Сессия администратора
session_start();
if(!$_SESSION['admin']){
header("Location: /");
exit;
}
Ответ написан
Ваш ответ на вопрос

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

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