session_start();
unset($_SESSION['login']);
unset($_SESSION['password']);
unset($_SESSION['auth']);
session_destroy();
Но в результате его выполнения сиссия не удаляется и пользователь остаётся авторизированным. Как это исправить?
Спустя 11 минут, 49 секунд (3.10.2011 - 01:15) imbalance_hero написал(а):
session_unset();
session_destroy();
session_destroy();
Спустя 6 минут, 11 секунд (3.10.2011 - 01:21) maxim4ik написал(а):
Цитата (imbalance_hero @ 2.10.2011 - 22:15) |
session_unset(); session_destroy(); |
не помогло
Спустя 14 минут, 8 секунд (3.10.2011 - 01:36) imbalance_hero написал(а):
Показывай скрипт, как у тебя проверяется, авторизирован ли пользователь... вдруг он на кукисах(!!!)
Спустя 4 минуты, 3 секунды (3.10.2011 - 01:40) caballero написал(а):
Цитата |
session_unset(); session_destroy(); |
это абсолютно ни к чему
не надо пытатся удалять сесию
достаточно сделать unset нужным переменным
если не работает значит гдето ошибка в логике сайта
Спустя 2 минуты, 28 секунд (3.10.2011 - 01:42) imbalance_hero написал(а):
caballero
Дело в том, что автор мог ошибиться в названии сессионной переменной, поэтому удалить всё - помогло бы это выявить.
Дело в том, что автор мог ошибиться в названии сессионной переменной, поэтому удалить всё - помогло бы это выявить.
Спустя 6 часов, 5 минут, 4 секунды (3.10.2011 - 07:47) linker написал(а):
Да какая тут сессионная переменная. Где-то логика страдает определения авторизованности пользователя.
Спустя 12 часов, 3 минуты, 30 секунд (3.10.2011 - 19:51) maxim4ik написал(а):
if (!isset($_SESSION['login']) OR !isset($_SESSION['password']))
{
"Отправляем пользователя на страницу авторизации";
exit();
}
if (isset($_SESSION['login']) AND isset($_SESSION['password']))
{
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = "Делаем выборку пароля из базы по заданому паролю";
if (mysql_num_rows($result) != 1)
{
"Отправляем пользователя на страницу авторизации";
exit();
}
if (isset($_GET['act']) AND $_GET['act'] == "logout")
{
session_unset();
session_destroy();
"Отправляем пользователя на страницу авторизации";
exit;
}
Спустя 54 минуты, 2 секунды (3.10.2011 - 20:45) maxim4ik написал(а):
Цитата (linker @ 3.10.2011 - 04:47) |
Да какая тут сессионная переменная. Где-то логика страдает определения авторизованности пользователя. |
Спасибо, действительно страдала логика. Скрипт реагировал на первую часть кода и выполнял её, не выполняя розавторизацию.