Bug #15310 Updated: when use object method call session register doesn't work
| From: | php-bugs at lists dot php dot net | Date: | Sun, 14 Apr 2002 04:00:02 +0000 |
| Subject: | Bug #15310 Updated: when use object method call session register doesn't work | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-4937@lists.php.net to get a copy of this message | ||
ID: 15310
Updated by: php-bugs@lists.php.net
Reported By: nail@bowling.nsk.su
-Status: Feedback
+Status: No Feedback
Bug Type: Session related
Operating System: linux
PHP Version: 4.1.1
New Comment:
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
Previous Comments:
------------------------------------------------------------------------
[2002-02-01 02:49:31] nail@bowling.nsk.su
I mean value of $_SESSION['time'] lost at refresh.
When I comment line $test->t() script works correctly:
Array
(
[time] => 1012549372
)
------------------new _SESSION:--------------------------
Array
(
[time] => 1012549373
)
When I remove comment the output is like this (don't forget begin new
session):
Array
(
)
------------------new _SESSION:--------------------------
Array
(
[time] => 1012549537
)
------------------------------------------------------------------------
[2002-02-01 02:22:49] yohgaki@php.net
What do you mean "it has not given result".
If you mean $time does not have value, it's normal.
if $_SESSION['time'] does not have value something wrong.
If you mean you don't see
$test->$mT['TEST']['_SESSION_']['time'] does
not have value, it's your bug.
Please try to be more specific.
------------------------------------------------------------------------
[2002-01-31 06:06:48] nail@bowling.nsk.su
I have removed session_register() call and began new session, but it
has not given result.
------------------------------------------------------------------------
[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