У меня есть кнопка выхода на обеих панелях, и я установил SESSION в соответствии с их панелями. Если я нажму кнопку выхода в панели администратора, это также приведет к выходу меня из системы в пользовательской панели. У меня одинаковый код для обеих кнопок выхода.

  <?php 

    session_start();
    session_destroy();

    header("location:login.php");
    ?>
0
Rahul Pamnani 6 Сен 2016 в 12:51

4 ответа

Лучший ответ

Вы можете использовать unset вместо session_destroy

 session_start();

if($_SESSION['admin']){
unset($_SESSION['admin']);
}
elseif($_SESSION['user']){
unset($_SESSION['user']);

}
header("Location:login.php");
1
FullStack 6 Сен 2016 в 10:12

ПРИМЕЧАНИЕ: session_destroy - уничтожает все данные, зарегистрированные в сеансе.

Поэтому используйте unset

Дифференцировать пользователя, установив переменную сеанса

Установить сеанс для пользователя

$_SESSION['user']['username']; 

Установить сеанс из панели администратора

 $_SESSION['admin']['username'];

Вы не уничтожаете весь сеанс, просто отключите конкретный сеанс, используя unset

unset($_SESSION['admin']['username']); // will delete just the name data
0
JYoThI 6 Сен 2016 в 10:01

Ну вот:

<?php
    $_SESSION['user']['login'];
    $_SESSION['admin']['login'];
?>

Если вы хотите уничтожить какой-либо из них, просто отключите:

unset($_SESSION['user']['login'];)
0
Noman 6 Сен 2016 в 09:52

Вместо этого используйте другую клавишу SESSION.

Например $ _SESSION ['admin'] и $ _SESSION ['user'];

0
Dave 6 Сен 2016 в 10:08