Bug #11527 Updated: session_unregister() seems not work properly

From: Date: Tue, 19 Jun 2001 16:26:30 +0000
Subject: Bug #11527 Updated: session_unregister() seems not work properly
Groups: php.dev 
Request: Send a blank email to php-dev+get-57276@lists.php.net to get a copy of this message
ID: 11527 Updated by: sniper Reported By: ccjeagle@ms6.hinet.net Old-Status: Bogus Status: Closed Bug Type: *Session related Operating system: PHP Version: 4.0.5 Assigned To: Comments: 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 Previous Comments: --------------------------------------------------------------------------- [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 --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=11527&edit=2

« previous php.dev (#57276) next »