Forum Webscript.Ru

Программирование => PHP => Тема начата: от 05 Сентября 2001, 19:12:50

Название: Трабла с PHP4
Отправлено: от 05 Сентября 2001, 19:12:50
У меня вот какая проблема возникла с PHP4, возможно и не только у меня...
Вот почему-то PHP3 имя переменной, например $term, принимает без проблем, а вот PHP4 ругается и выдает такую ошибку: \\"Undefined variable: term in ...\\"
Может я что-то не так делаю?
Или же как в PHP4 имена переменной принимаются?
Подскажите, что нужно делать.
Название: Трабла с PHP4
Отправлено: Britva от 05 Сентября 2001, 19:19:06
Перед этим ее скорее всего не инициализировал нигде, вот и ругается
Название: Трабла с PHP4
Отправлено: от 05 Сентября 2001, 19:26:11
Цитировать
Перед этим ее скорее всего не инициализировал нигде, вот и ругается


Да, нет вроде все нормально.
На PHP3 все идеально работало.
Да и при том, что PHP4 не на одну переменную ругается, а вообще практически на все которые встречаются в файле.
Брал другие freeware скрипты, также проверял и тоже самое выводит. :(
Название: Трабла с PHP4
Отправлено: AliMamed от 05 Сентября 2001, 19:35:13
он выводит не ошибку а ворнинг видимо.
надо php.ini потрогать - выключить там ; E_COMPILE_WARNING
Название: Трабла с PHP4
Отправлено: от 05 Сентября 2001, 19:45:03
Цитировать
он выводит не ошибку а ворнинг видимо.
надо php.ini потрогать - выключить там ; E_COMPILE_WARNING


В смысле выключить?
Убрать точку с запятой что ли? :)
Название: Трабла с PHP4
Отправлено: MyCom от 05 Сентября 2001, 22:12:56
Или, если только что установил PHP4, то там нет файла php.ini, а есть php.ini-dist, php.ini-optimized. Переименуй один из них на php.ini.
Название: Трабла с PHP4
Отправлено: AliMamed от 06 Сентября 2001, 00:14:20
Цитировать
В смысле выключить?
Убрать точку с запятой что ли? :)
наооборот
Название: Трабла с PHP4
Отправлено: Sergeant от 21 Сентября 2002, 13:23:48
У меня была такая же проблема. В php.ini я отредактировал строку register_globals, поставив значение On (раньше было register_globals = Off) и всё заработало.
Название: Трабла с PHP4
Отправлено: Alexandr от 21 Сентября 2002, 15:04:09
Цитировать
register_globals = Off
точнее On

Хреновый способ!
Не решение проблем.
Сначала надообъявить переменную (присвоить ей како-нть значение или ещё чёнть).
Либо ставь символ @

Код должен быть чистым и траспортабельным (переноситься с одного хостига на др.)!!!

(я пьян :-) Очень!!!
Название: Трабла с PHP4
Отправлено: GotZfild от 21 Сентября 2002, 18:01:22
Цитировать
Хреновый способ!
Не решение проблем.

Почему же это? Если человек использует
Цитировать
freeware скрипты
, то за исключением редактирования самого скрипта, это остается единственным способом.
Название: Трабла с PHP4
Отправлено: rembo от 23 Сентября 2002, 05:28:52
Цитировать
Если человек использует
Цитировать
freeware скрипты
где переменные иницализируются не корректно и вообще - то это плохие freeware скрипты. Возможность неявной инициализации переменных еще не означает, что переменные можно не инициализировать вообще. Скрипт содержащий не инициализированные переменные построен на неправильной логике.
Название: Трабла с PHP4
Отправлено: GotZfild от 23 Сентября 2002, 16:51:56
Цитировать
Скрипт содержащий не инициализированные переменные построен на неправильной логике.

Позволь не согласиться. Простейший пример:

if ($mess) {
      echo "Вы ввели: $mess";
} else {
      echo \'
     

     
     
     

      \';
}
Название: Трабла с PHP4
Отправлено: rembo от 24 Сентября 2002, 12:34:13
Цитировать
if_($mess)_{

Здесь нужно использовать isset($mess) или еще как нибудь
Это просто язык тебе позволяет так неаккуратно пользоваться понятием переменная.
Название: Трабла с PHP4
Отправлено: GotZfild от 24 Сентября 2002, 17:07:23
Цитировать
Здесь нужно использовать isset($mess)

От isset\'a переменная тем не менее не станет инициализированной. Просто он гасит ошибку.
Цитировать
Это просто язык тебе позволяет

В том числе поэтому PHP так популярен.