Forum Webscript.Ru
Программирование => PHP => Тема начата: от 05 Сентября 2001, 19:12:50
-
У меня вот какая проблема возникла с PHP4, возможно и не только у меня...
Вот почему-то PHP3 имя переменной, например $term, принимает без проблем, а вот PHP4 ругается и выдает такую ошибку: \\"Undefined variable: term in ...\\"
Может я что-то не так делаю?
Или же как в PHP4 имена переменной принимаются?
Подскажите, что нужно делать.
-
Перед этим ее скорее всего не инициализировал нигде, вот и ругается
-
Перед этим ее скорее всего не инициализировал нигде, вот и ругается
Да, нет вроде все нормально.
На PHP3 все идеально работало.
Да и при том, что PHP4 не на одну переменную ругается, а вообще практически на все которые встречаются в файле.
Брал другие freeware скрипты, также проверял и тоже самое выводит. :(
-
он выводит не ошибку а ворнинг видимо.
надо php.ini потрогать - выключить там ; E_COMPILE_WARNING
-
он выводит не ошибку а ворнинг видимо.
надо php.ini потрогать - выключить там ; E_COMPILE_WARNING
В смысле выключить?
Убрать точку с запятой что ли? :)
-
Или, если только что установил PHP4, то там нет файла php.ini, а есть php.ini-dist, php.ini-optimized. Переименуй один из них на php.ini.
-
В смысле выключить?
Убрать точку с запятой что ли? :)
наооборот
-
У меня была такая же проблема. В php.ini я отредактировал строку register_globals, поставив значение On (раньше было register_globals = Off) и всё заработало.
-
register_globals = Off
точнее On
Хреновый способ!
Не решение проблем.
Сначала надообъявить переменную (присвоить ей како-нть значение или ещё чёнть).
Либо ставь символ @
Код должен быть чистым и траспортабельным (переноситься с одного хостига на др.)!!!
(я пьян :-) Очень!!!
-
Хреновый способ!
Не решение проблем.
Почему же это? Если человек использует freeware скрипты
, то за исключением редактирования самого скрипта, это остается единственным способом.
-
Если человек использует
freeware скрипты
где переменные иницализируются не корректно и вообще - то это плохие freeware скрипты. Возможность неявной инициализации переменных еще не означает, что переменные можно не инициализировать вообще. Скрипт содержащий не инициализированные переменные построен на неправильной логике.
-
Скрипт содержащий не инициализированные переменные построен на неправильной логике.
Позволь не согласиться. Простейший пример:
if ($mess) {
echo "Вы ввели: $mess";
} else {
echo \'
\';
}
-
if_($mess)_{
Здесь нужно использовать isset($mess) или еще как нибудь
Это просто язык тебе позволяет так неаккуратно пользоваться понятием переменная.
-
Здесь нужно использовать isset($mess)
От isset\'a переменная тем не менее не станет инициализированной. Просто он гасит ошибку.Это просто язык тебе позволяет
В том числе поэтому PHP так популярен.