If globals is on, you'll have to unset the $_SESSION[varname] as well as the $varname.
Like:
unset($_SESSION[varname]);
unset($varname);
(PHP 4, PHP 5 < 5.4.0)
session_unregister — Unregister a global variable from the current session
$name
) : bool
session_unregister() unregisters the global variable
named name
from the current session.
本函数已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。
name
The variable name.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Note:
If $_SESSION is used, use unset() to unregister a session variable. Do not unset() $_SESSION itself as this will disable the special function of the $_SESSION superglobal.
This function does not unset the corresponding global variable for
name
, it only prevents the variable from being
saved as part of the session. You must call unset()
to remove the corresponding global variable.
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().
If globals is on, you'll have to unset the $_SESSION[varname] as well as the $varname.
Like:
unset($_SESSION[varname]);
unset($varname);
To unregister some session you can use:
<?php
// delete session
$_SESSION['NAME'] = array();
// start session
session_start();
// put info in session
$_SESSION['NAME']['userid'] = 5;
$_SESSION['NAME']['name'] "John Doe";
?>
as a side note you must have session_start() set inorder to actually unregister the session varibles.