* and then Robert Cummings declared.... > On Wed, 2006-07-12 at 18:52, Nick Wilson wrote: > > hi all, > > > > After upgrading a CMS, im having a problem with global variables not > > showing up anymore -- configs and things could have changed, but search > > as i have, i cannot find anything to help me work out what the problem > > is. > > > > This should work of course: > > > > $foo = 'bar'; > > > > function foobar() { > > global $foo; > > print(" ------ " . $foo); > > exit; > > } > > > > foobar(); > > > > It prints *nothing*. Does anyone have an idea as to what might stop this > > from functioning as expected? > > The above code is probably being included, and probably being included > by a function and so $foo does not have global scope. To ensure global > scope: > > <?php > $GLOBALS['foo'] = 'bar'; > > function foobar() > { > global $foo; > print( " ------ " . $foo ); > exit; > } > > foobar(); > ?> > > Try that and let us know what happend. No, it didn't work. It's odd, becuase it worked just fine in the previous version, and this is a module, so that module is exactly the same as the previous one -- ie i've not made any changes to do with includes to it (just a few upgrades to form functions and stuff). I have fixed the issue, but the mystery will probably have to remain as there is a lot more to do in the upgrade :( In the end i just manually set $GLOBALS as you suggested and did a search and replace on the var to do $GLOBALS[var] instead of global var; do_stuff($var); crap i know, but thanks for the response! -- Nick Wilson http://performancing.com/user/1 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php