If globals is on, you'll have to unset the $_SESSION[varname] as well as the $varname.
Like:
unset($_SESSION[varname]);
unset($varname);
session_unregister
(PHP 4, PHP 5 < 5.4.0)
session_unregister — Unregister a global variable from the current session
Description
$name
)
session_unregister() unregisters the global variable
named name from the current session.
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
Parameters
-
name -
The variable name.
Return Values
Returns TRUE on success or FALSE on failure.
Notes
Note:
If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) 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().
as a side note you must have session_start() set inorder to actually unregister the session varibles.
