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

Reply via email to