ID: 39227 User updated by: martyn dot griffin at charter dot net Reported By: martyn dot griffin at charter dot net Status: Open Bug Type: Feature/Change Request Operating System: Fedora 5 PHP Version: 5.1.6 New Comment:
I think I understand why you could not recreate the problem?! I was working using a frameset, where the SESSION values were being set in the page that defined the frames. When the target pages were launched in each of the frames, all the SESSION values are gone. When I finally tested it outside of any frames, it all worked as expected. To put this another way, when I create a simple frameset definition and at the start of it do something like: $_SESSION['xxx']="abcdef"; that value never shows when I try to echo it from the page that the frame links to. I have a WXP environment that is running PHP 5.1.5 and this problem does not occur. Unfortunately (for me!), I can not revert my Linux system back to pre-PHP 5.1.6 Previous Comments: ------------------------------------------------------------------------ [2006-10-22 15:52:56] martyn dot griffin at charter dot net I owe all an appology - it must have been a senior moment!! The issue applies to using $_SESSION not $_SERVER, so please change that in all my references. I have the following set (or defaulted) in php.ini register_globals = Off register_long_arrays = Off register_argc_argv = Off variables_order = "EGPCS" This was not changed since running 5.1.4 when the application functioned as expected. Also, the example to reproduce the problem should be altered in the included code as: <?PHP // index.php include_once('script/funcs.php'); setTheme('default'); echo 'BG Color-->'.$_SESSION['thmBGcol']; ?> <?PHP // funcs.php session_start(); $_SESSION['BASE'] = 'default'; function setTheme($thm) { $_SESSION['thmBGcol'] = "#000066"; } ?> Every page used starts with the include for funcs.php. ------------------------------------------------------------------------ [2006-10-22 05:44:26] [EMAIL PROTECTED] You are assigning things to _SERVER? That seems like a really bad idea. What do you think that will do? How about using $GLOBALS for that instead? Having said that, I can't reproduce your problem here. Are you running any 3rd-party extensions, or do you have variables_order in you php.ini file set to exclude "S" ? ------------------------------------------------------------------------ [2006-10-22 03:55:21] martyn dot griffin at charter dot net Description: ------------ Using Fedora 5 and yum updated from PHP 5.1.4 to PHP 5.1.6 After completetion of update, I have lost access to all of my $_SERVER values. They disappear right after assigning them in every script I use, which has crippled my current application Reproduce code: --------------- <?PHP // index.php include_once('script/funcs.php'); setTheme('default'); echo 'BG Color-->'.$_SERVER['thmBGcol']; ?> <?PHP // funcs.php function setTheme($thm) { $_SERVER['thmBGcol'] = "#000066"; } Expected result: ---------------- I expect the following line to be echoed: BG Color-->#000066 instead I get BG Color--> Actual result: -------------- instead I get BG Color--> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39227&edit=1