session_unset

(PHP 4, PHP 5)

session_unsetFree all session variables

Description

void session_unset ( void )

The session_unset() function frees all session variables currently registered.

Return Values

No value is returned.

Notes

Note:

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable, i.e. unset ($_SESSION['varname']);.

Caution

Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal.

Коментарии

Автор:
note to Jason: I don't know the exact mechanics of it (since I'm quite new to sessions) but I think you need to use session_unset() BEFORE you can use session_destroy() at all.  I thought that session_unset() was for scripted variables, and session_destroy() just for anything saved on your side regarding the session.
2005-01-15 03:42:57
http://php5.kiev.ua/manual/ru/function.session-unset.html
The difference between both session_unset and session_destroy is as follows:

session_unset just clears out the sesison for usage. The session is still on the users computer. Note that by using session_unset, the variable still exists.

Using session_unset in tandem with session_destroy however, is a much more effective means of actually clearing out data. As stated in the example above, this works very well, cross browser:

session_unset();
session_destroy();

I noticed that in firefox, one could simply use sesison_unset and the session would be cleared. When trying this on IE, I was horrified to find out that the data was still there, so I had to use session destroy.
2005-07-13 18:32:03
http://php5.kiev.ua/manual/ru/function.session-unset.html
I was having a problem clearing all session variables, deleting the session, and creating a new session without leaving old session stuff behind in all browsers.  The below code is perfect for a logout script to totally delete everything and start new.  It even works in Chrome which seems to not work as other browsers when trying do logout and start a new session.

<?php
    session_start
();
   
session_unset();
   
session_destroy();
   
session_write_close();
   
setcookie(session_name(),'',0,'/');
   
session_regenerate_id(true);
?>
2012-01-05 17:50:39
http://php5.kiev.ua/manual/ru/function.session-unset.html
Автор:
The difference between both session_unset and session_destroy is as follows:

session_unset just clears out the session for usage. The session is still on the users computer. Note that by using session_unset, the variable still exists. session_unset just remove all session variables. it does not destroy the session....so the session would still be active.

Using session_unset in tandem with session_destroy however, is a much more effective means of actually clearing out data. As stated in the example above, this works very well, cross browser. session_destroy is destroy the session. session_destroy() to kill all session information.....This is the more secure function to use.
2015-10-29 14:37:54
http://php5.kiev.ua/manual/ru/function.session-unset.html
Автор:
The solution provided by tim at leethost dot com is nice but you must check a active session first, because else you fill the logs with PHP Errors or Notices depending on your settings. I use it as a function, and it works smooth. 

```php
    /** @return void  */
    public static function sayonara():void
    {
        if (session_status() !== PHP_SESSION_ACTIVE) :void
        {
            session_start();
            session_unset();
            session_destroy();
            session_write_close();
            setcookie(session_name(), '', 0, '/');
            session_regenerate_id(true);
        }       
    }

    sayonara();
```
2024-07-07 19:17:15
http://php5.kiev.ua/manual/ru/function.session-unset.html

    Поддержать сайт на родительском проекте КГБ