Очень простым языком .
Ошибка в том, что вы используете переменную $user_location
, которая не была определена вами ранее и не имеет никакого значения. Поэтому я рекомендую вам объявить эту переменную до используя it, например:
$user_location = '';
$user_location = 'Los Angles';
global
- ключевое слово, которое следует использовать само по себе. Его нельзя совмещать с заданием. Итак, нарежьте его:
global $x;
$x = 42;
Кроме того, как упоминает Зенхэм , global
используется внутри функций для доступа к переменным во внешней области видимости. Таким образом, использование global
в том виде, в каком оно представлено, не имеет особого смысла.
Еще один совет (хотя он не совсем поможет вам с синтаксическими ошибками): добавьте следующую строку в начало основного файла, чтобы справка по отладке ( документация ):
error_reporting(E_ALL);
Ключевое слово global используется внутри функций, чтобы объявить, что они будут использовать глобально определенную переменную, а не определять ее. Просто удалите слово global и, если вам нужны эти значения в функциях, добавьте:
global $a;
... в начало функции.
См. здесь . global
- это модификатор, который означает, что переменная поступает из глобальной области видимости. Это должно быть просто
<?
ob_start();
$siteRoot = '/httpdocs/';
$reportRoot = '/reports/';
и в функциях, которые их используют (но на этой странице их нет)
function f() {
global $siteRoot, $reportRoot;
...
}
Вы должны использовать global без присваивания, только переменную.
Поскольку вы не выполняете функции, ключевое слово global вообще не требуется:
$siteRoot = '/httpdocs/';
$reportRoot = '/reports/';
Если вам нужны переменные в функции, просто добавьте:
global $siteRoot;
global $reportRoot