Bug #11527 Updated: session_unregister() seems not work properly
| From: | cynic@php.net | Date: | Wed, 20 Jun 2001 10:27:11 +0000 |
| Subject: | Bug #11527 Updated: session_unregister() seems not work properly | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-57361@lists.php.net to get a copy of this message | ||
ID: 11527
Updated by: cynic
Reported By: ccjeagle@ms6.hinet.net
Old-Status: Closed
Status: Open
Bug Type: *Session related
Operating system:
PHP Version: 4.0.5
Assigned To:
Comments:
Hi Jani,
does your comment mean register_globals off is deprecated? I don't think so. :)
Previous Comments:
---------------------------------------------------------------------------
[2001-06-19 12:26:29] sniper@php.net
You should be using this:
$somevar = "abc";
Not the globals array.
Works for me with PHP 4.0.6RC3 just fine then.
http://www.php.net/~andi/php-4.0.6RC3.tar.gz
---------------------------------------------------------------------------
[2001-06-18 21:24:42] ccjeagle@ms6.hinet.net
> Yes, when you unregister something,
> you also need to unset it if you want it
> to be unset immediately.
Maybe I was wrong, but "Unregister" takes place in the
SECOND script, and the THIRD one still record the
"unregistered" variable ????
---------------------------------------------------------------------------
[2001-06-18 08:56:39] sniper@php.net
Yes, when you unregister something, you also need to unset
it if you want it to be unset immediately.
---------------------------------------------------------------------------
[2001-06-17 21:41:40] ccjeagle@ms6.hinet.net
Well I found a solution. Just replace session_unregister()
by unset() statement.
---------------------------------------------------------------------------
[2001-06-17 20:06:04] ccjeagle@ms6.hinet.net
It seems that session_unregister() should "remove" a var
from the session, isn't it ?
-------test.php
<?php
// First script, register the var
session_start() ;
session_register("somevar") ;
$HTTP_SESSION_VARS["somevar"] = "abc" ;
?>
<a href="test2.php">Click Here</a>
-------test2.php
<?php
// Second script, unregister the var
session_start() ;
echo "somevar is " . $HTTP_SESSION_VARS["somevar"] ;
session_unregister("somevar") ;
?>
<br><a href="test3.php">Click here again</a>
--------test3.php
<?php
// The third script, see the result
session_start() ;
print_r($HTTP_SESSION_VARS) ;
session_unset() ;
print_r($HTTP_SESSION_VARS) ;
session_destroy() ;
?>
With the enable-trans-sid turned on, the result of the third
script is :
Array ( [somevar] => abc ) Array ( )
Is it a bug ?
How shoud I do if I want to "remove" some variables from
session but KEEP THE OTHERS unchanged ?
Best Regards
---------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view the rest of the comments,
please view the bug report online.
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11527&edit=2