PHP Velho Oeste 2024

session_unset

(PHP 4, PHP 5, PHP 7)

session_unset모든 세션 변수 해제

설명

void session_unset ( void )

session_unset() 함수는 현재 등록된 모든 세션 변수를 해제합니다.

반환값

값을 반환하지 않습니다.

주의

Note:

$_SESSION(또는 PHP 4.0.6까지 $HTTP_SESSION_VARS)을 사용한다면, 세션 변수를 등록 해제할 때 unset()을 사용하십시오. 예. unset ($_SESSION['varname']);.

Caution

unset($_SESSION)으로 전체 $_SESSION을 해제하지 마십시오. $_SESSION 자동 전역을 통한 세션 변수 등록을 할 수 없게 됩니다.

add a note add a note

User Contributed Notes 4 notes

up
37
tim at leethost dot com
12 years ago
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);
?>
up
23
jerry
8 years ago
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.
up
-15
Jeroen
19 years ago
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.
up
-30
zach at zkwarta dot com
18 years ago
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.
To Top