Bug #15310 Updated: when use object method call session register doesn't work

From: Date: Thu, 31 Jan 2002 11:06:49 +0000
Subject: Bug #15310 Updated: when use object method call session register doesn't work
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-78689@lists.php.net to get a copy of this message
ID: 15310 Comment by: nail@bowling.nsk.su Reported By: nail@bowling.nsk.su Status: Analyzed Bug Type: Session related Operating System: linux PHP Version: 4.1.1 New Comment: I have removed session_register() call and began new session, but it has not given result. Previous Comments: ------------------------------------------------------------------------ [2002-01-31 05:31:45] yohgaki@php.net As I changed session manual recently, NEVER use $_SESSION(or $HTTP_SESSION_VARS) AND session_register/is_registered/unregister() functions. (It's not only for 4.1.x but also for 4.0.x) I warned it already. tracked vars and globals are handled inconsistent manner in session module. I really would like to get rid of global var support from session module for PHP5.... ------------------------------------------------------------------------ [2002-01-31 04:50:23] nail@bowling.nsk.su Following code the shows strange bag. When function t() called as object method, variable 'time' is not kept in session. Register_globals is On. <?php session_start(); class Test { var $mT = array(); // this function does not deal with session function t() { reset($GLOBALS); while (list($k,$v)=each($GLOBALS)) $GLOB[$k]=$v; $this->mT['TEST'] = $GLOB; } } $test = new Test; $test->t(); // comment this line and script will work right ?> <pre> <?php print_r($_SESSION); $_SESSION['time'] = time(); session_register('time'); echo "\n-------new _SESSION:-----------\n\n"; print_r($_SESSION); echo "\n"; ?> </pre> ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=15310&edit=1

« previous php.dev (#78689) next »