[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с уничтожением сиссии
maxim4ik
Написал систему регистрации и авторизации пользователей на сайте. Регистрация и авторизация работают отлично, а вот выход с аккаунта не могу настроить. У файл отвечающий за авторизацию через GET подаётся команда выхода и срабатывает код
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();

Спустя 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)
Да какая тут сессионная переменная. Где-то логика страдает определения авторизованности пользователя.

Спасибо, действительно страдала логика. Скрипт реагировал на первую часть кода и выполнял её, не выполняя розавторизацию.



Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.