On Wed, July 12, 2006 5:52 pm, Nick Wilson wrote: > 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 only time I have seen this is when what REALLY happens is like this: <?php //The CMS code has something like: function cms_include_user_code ($file){ include $file; } ?> <?php //some of your code, pulled in through $file above: $foo = 'bar'; ?> <?php //More of your code, the $file above, has this: function foobar() global $foo; echo "in foobar, foo is $foo<br />\n"; } ?> So, if you work through it, you'll see that your $foo = 'bar'; happens *INSIDE* the cms_include_user_code function. So it's not that global isn't working. It's that you need: <?php global $foo; $foo = 'bar'; ?> in that first file, so that your $foo buried inside the CMS function is global, instead of local to their cms_include_user_code function. -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php