zvezda_tВот так можно при любом значении register_globals:
$val=1;
function fun1()
{
global $val;
print $val;
.....
}
register_globals разрешает обращаться к именованным элементам супер-глобальных массивов как к глобальным переменным (только их: $_SERVER,$_POST,$_GET,$_ENV,$_COOKIE,$_SESSION. $_REQUEST работает как агрегатор и не отображается в глобальную область видимости отдельно от агрегируемых массивов $_POST,$_GET,$_COOKIE). На супер-глобальный массив $GLOBALS значения register_globals не распрастраняются.
Пример правильных записей при различных register_globals:
echo $_SERVER['REMOTE_ADDR'];
echo $REMOTE_ADDR;
echo $_SERVER['REMOTE_ADDR'];