|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-01-02 16:51 UTC] winterchild at pobox dot com
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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Nov 04 19:00:02 2025 UTC |
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!