|
|
|
| >>После завершения работы с сессией сначала нужно разрегистрировать все переменные сессии -unset($var) , а затем вызвать функцию session_destroy
Есть вопрос. У меня, например, в сессии крутится далеко не одна переменная, а сотни, или массив и пара объектов до кучи. Для того, чтобы мне от'UNSET'ить все эти переменные, массивы и объекты - надо много геморить. Так вот, возможно ли уничтожение всех переменных, массивов, объектов сессии одновременно? То есть реально ли очистить сессии совсем одним ударом?
Или, все-таки, придется создавать метод в классе и прописывать в нем массовое убиение всех переменных сессии? | |
|
|
|
|
|
|
|
для: vitroot
(22.02.2008 в 04:16)
| |
<?
foreach($_SESSION as $var) unset($var);
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(22.02.2008 в 08:05)
| | спасибо! | |
|
|
|
|
|
|
|
для: mihdan
(22.02.2008 в 08:05)
| | > foreach($_SESSION as $var) unset($var);
и какую переменную мы этим кодом уничтожим? :)
<?
foreach($_SESSION as $key => $var) unset($_SESSION[$key]);
?>
|
Создавать в одном проекте кучу переменных на верхнем уровне сессии - в принципе порочный подход. | |
|
|
|
|
|
|
|
для: Trianon
(22.02.2008 в 09:48)
| | Упс, спасибо, Trianon чтот под утро голова тупит )))) | |
|
|
|
|
|
|
|
для: vitroot
(22.02.2008 в 04:16)
| | хм... а почему так нельзя?
<?php
$_SESSION = array();
//или так?
while(array_shift ($_SESSION));
?>
|
| |
|
|
|
|
|
|
|
для: CrazyAngel
(22.02.2008 в 16:41)
| | session_unset(); | |
|
|
|
|
|
|
|
для: bronenos
(22.02.2008 в 17:30)
| | Замечание: Чтобы полностью удалить сессию, необходимо выполнить следующую последовательность команд
$_SESSION = array(); //Обнуляем массив
@unset($_COOKIE[session_name()]); //удалить cookie, соответствующие групповые SID
session_destroy(); //уничтожает хранилище сессии | |
|
|
|