ID: 14809
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Bogus
Bug Type: Session related
Operating System: linux 2.4.7-10
PHP Version: 4.1.1
New Comment:

No, I'm not using it within a function.  Here is a small script that
will reproduce the problem:

page1.php:

<?
// page1.php
session_start();
session_register("session");
global $session;
$session['profileName'] = "name";
echo "session var value is ".$session['profileName']; 
// will be "name"
echo "<br>click <a href= 'page2.php' >here</a> to continue:";
?>
----------
page2.php:

<?
page2.php
session_start();
global $session;
echo "session var initial value is ".$session['profileName'];
// will be "name"
$session['profileName']="new_name";
echo "session var new value is ".$session['profileName']."<br>";
// will be new_name
echo "but actual session var value is
".$_SESSION[session][profileName]."<br>";
// note the difference in output!
// $session['profileName'] is "new_name"
// but $_SESSION[session][profileName] is still "name"
echo "click <a href='page3.php'>here</a> to continue";
--------

page3.php:

<?
//page3.php
session_start();
global $session;

echo "session var is now".$session['profileName'];
// will be name instead of new_name.


-----------
cheers!

Previous Comments:
------------------------------------------------------------------------

[2002-01-07 02:38:42] [EMAIL PROTECTED]

I guess you are using session register within a function, right?
If so, please ask support question to php-general.
If not, reopen this bug report with short/complete script.

------------------------------------------------------------------------

[2002-01-02 16:51:39] [EMAIL PROTECTED]

hi
This seems to be a problem with the way session variables register in
4.1.1
I have defined a session variable called $session thus:
session_start();
                session_register("session");
                global $session;
                $session['profileName'] = "name";

This seems to work fine.  On the next page I do:

session_start();
global $session;
echo "profileName=".$session['profileName']; (displays name)
$session['profileName']="new name";

however, this doesn't seem to actually change the session variable,
since on the next page if i echo $session['profileName'] it still shows
'name' instead of 'new name'

I can modify the session var value using
$_SESSION[session][profileName]="new name"; and then it works fine on
the next page.

The latter format worked with 4.0.5, i just installed 4.1.1 and now
apparently I have to modify all my scripts..

Here is my config:
'./configure' '--with-mysql' '--with-apxs=/usr/local/apache/bin/apxs'
'--enable-track-vars=yes'

register_globals is on.
apache version is 1.3.20


------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=14809&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to