Bug #18071 Updated: unset($_SESSION['name']); not works when varible is readed before unset

From: Date: Sun, 30 Jun 2002 12:46:22 +0000
Subject: Bug #18071 Updated: unset($_SESSION['name']); not works when varible is readed before unset
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-12586@lists.php.net to get a copy of this message
ID: 18071 Updated by: sander@php.net Reported By: lampa@brutusmud.net -Status: Open +Status: Critical Bug Type: Session related Operating System: win 2k, debian 2.2 PHP Version: 4.2.1 New Comment: Reproduced with 4.3.0-dev. Something really weird is going on (some reference-stuff?). Making this critical. Previous Comments: ------------------------------------------------------------------------ [2002-06-30 07:35:21] lampa@brutusmud.net when using unset($_SESSION[...]) insted session_unregister(...) and before calling read _$SESSION[...] variable WILL NOT unset. please try these examples and see result. here is method how to produce this bug (you must have cookies enabled): 1. run script 2. reload page (you should see 2 $_SESSION arrays with the same value) 3. click on unset link 4. now you should see first array filled with test value and second should be empty - that's OK - but variable test should be deleted from session 5. reload page 6. here is BUG: i unset session variable test so i shouldn't exists, but exists. --- 7. comment line marked #fatal and go to repeat process from begining on step 6. both arrays will be empty!!!! <?php session_start(); echo '<pre>'; print_r($_SESSION); if (isset($_GET['submit'])) { $test = $_SESSION['test']; # fatal unset($_SESSION['test']); } else { $_SESSION['test'] = 'this is test'; } echo '<a href="'.$_SERVER['PHP_SELF'].'?submit=yes">unset</a><br>'; print_r($_SESSION); echo '</pre>'; ?> replace unset($_SESSION['test']); with session_unregister('test'); and repeat process - here will be everything OK. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=18071&edit=1

« previous php.bugs (#12586) next »