очистить PHPSESSID

ivashka

Полезный
Регистрация
16 Май 2007
Сообщения
151
Реакции
15
Здравствуйте.
Столкнулся с проблемой.
В одном месте на сайте мне нужно очистить куку PHPSESSID, у пользователя, что бы ему присвоилась другая, можно и не присваивать, а только удалить. Что бы был сеанс завершен.

Делал через:
PHP:
setcookie ("PHPSESSID", "", time() - 3600);
не получается, всеровно остается прежняя сессия.

Как же ее все таки убить?
 
Здравствуйте.
Столкнулся с проблемой.
В одном месте на сайте мне нужно очистить куку PHPSESSID, у пользователя, что бы ему присвоилась другая, можно и не присваивать, а только удалить. Что бы был сеанс завершен.
Делал через:
PHP:
setcookie ("PHPSESSID", "", time() - 3600);
не получается, всеровно остается прежняя сессия.
Как же ее все таки убить?
PHPSESSID - это идентификатор сессии. Чтобы его перезаписать, нужно выполнить session_regenerate_id().
 
Если нужно убить, то сначала
PHP:
session_destroy();
а затем уж и сносим куку.
 
Если нужно убить, то сначала
PHP:
session_destroy();
а затем уж и сносим куку.
bool session_regenerate_id ( [bool delete_old_session] )

session_regenerate_id() will replace the current session id with a new one, and keep the current session information.

Список параметров:
delete_old_session

Whether to delete the old associated session file or not. Defaults to FALSE.
 
bool session_regenerate_id ( [bool delete_old_session] )
session_regenerate_id() will replace the current session id with a new one, and keep the current session information.
Список параметров:
delete_old_session
Whether to delete the old associated session file or not. Defaults to FALSE.
Как же ее все таки убить?
Вот именно как убить я и показал.
 
если вы установили куку, то все куки располагаются в глобальной переменной $_COOKIE
Вы установили куку и ее значение должно быть в $_COOKIE['PHPSESSID']
и удаляется через unset($_COOKIE['PHPSESSID']);
Хотя может вы перепутали с сессиями?

И еще один момент в вашем примере вы установили просроченную куку, которая должна была уже быть удалена.
 
если вы установили куку, то все куки располагаются в глобальной переменной $_COOKIE
Вы установили куку и ее значение должно быть в $_COOKIE['PHPSESSID']
и удаляется через unset($_COOKIE['PHPSESSID']);
Хотя может вы перепутали с сессиями?
И еще один момент в вашем примере вы установили просроченную куку, которая должна была уже быть удалена.
зачем херню пишешь?

$_COOKIE это КОПИЯ кукисов полученых от клиента серевером, при рефреше страници, при твоем подходе - $_COOKIE останется тем же что и был. Читай спецификацию HTTP протокола.
 
Назад
Сверху