|
|
|
| Почему возникают следующие ошибки:
Notice: Use of undefined constant HTTP_X_FORWARDED_FOR - assumed 'HTTP_X_FORWARDED_FOR' in z:\home\localhost\subdomain\counter\count.php on line 14
Notice: Undefined variable: PHP_SELF in z:\home\localhost\subdomain\counter\count.php on line 26
Notice: Undefined variable: srch in z:\home\localhost\subdomain\counter\count.php on line 81
|
и плюс ко всему поля странно отображаются... см приложение рис | |
|
|
|
|
|
|
|
для: Kicher
(20.11.2006 в 22:11)
| | notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985 | |
|
|
|
|
|
|
|
для: cheops
(20.11.2006 в 23:43)
| | что такое нотайс я понимаю.
я имею ввиду то что я купил книгу, скопировал на диск запускаю а там ошибки...
например:
Notice: Undefined variable: PHP_SELF in z:\home\localhost\subdomain\counter\count.php on line 26
Notice: Undefined variable: srch in z:\home\localhost\subdomain\counter\count.php on line 81
|
он ругается что не зниет переменную PHP_SELF и srch и так практически в каждом разделе...
что касается форм то там ваще одни натайсы.. (см рис)
просто хочется учится на писать правильно изначально без ошибок...
есть ли более отлаженная версия?? | |
|
|
|
|
|
|
|
для: Kicher
(21.11.2006 в 17:20)
| | А может у вас версия php не совпадает, а может кто вам ставил сервер не понизил уровень ошибок или сами не понизили, а может......
что вы прицепились к notice понизте уровень ошибок и пользуйтесь.
если это так важно то отладьте скрипт так что бы не выскакивало предупреждений.
такое вполне возможно и кроме того к этому надо стремиться, если уж ну никак не получается то вместо того что бы понижать уровень ошибок ставте знак @
Хочется учится сразу писать правильно?-а вот не получится ошибки все равно неизбежны, все исправляется при отладке, и только , иногда ошибки ловятся уже после сдачи скрипта(отправки на сервер) но считается что это не ошибки а "ФИШКИ" сайта, таких фишек можно насчитать на каждом сайте по несколько штук, а ведь все они раньше были просто "NOTICE" | |
|
|
|
|
|
|
|
для: indexer
(21.11.2006 в 21:25)
| | тяжело просто даже смотреть, "щупать" функции..
когда форум выглядит так как в прикрепленном файле (файлах)...
в других системах и скриптах все работает...
обидно... | |
|
|
|
|
|
|
|
для: Kicher
(21.11.2006 в 17:20)
| | notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985 | |
|
|
|
|
|
|
|
для: cheops
(22.11.2006 в 00:52)
| | Нихарашо вы отвечаете.. Дело ведь тут действительно не в Нотисах. Вам ведь даже строки написали, в которых ошибки, а вы даже не заглянули наверное в дистры. На счет неизвестной переменной $srch, которая на самом деле подразумевает $search - такая манипуляция именами сводит на нет вашу "принадлежность к поисковым системам". Причем сложно отслеживается, ведь даже автор не всегда помнит, какие переменные он где и зачем использовал. А остальные нотисы в первоначальном вопросе оттого, что используются предустановленные константы, которые не всегда и предустановлены бывают. Вот и объясните пжалста, когда именно бывает HTTP_X_FORWARDED_FOR, как проявляется и т.п. А то я даже в справочнике ее не нашел.
И зря вы кстате Нотисы отключаете, ведь даже не замечаете, когда используете не описанную (или может оЧеПятанную переменную), как в случае с $srch
# можно же использовать вместо
<?= $description ?>
# такой код
<?= isset($description) ? $description : '' ?>
# тогда и нотисы не побеспокоят, и прога стабильнее будет
|
Спасибо за книгу. Допущенные ошибки в коде (которых, кстати, немало) могут даже способствовать более глубокому изучению. Но хотелось бы больше внимания к вашим достойным того читателям :)
P.S. И еще про константу HTTP_CLIENTIP расскажите, очень интересно, что за зверь | |
|
|
|
|
|
|
|
для: Kicher
(20.11.2006 в 22:11)
| | >> Undefined variable: PHP_SELF
При отладке нотайсы всегда надо включать. А в PHP 6 даже E_STRICT войдёт в E_ALL ;) | |
|
|
|
|
|
|
|
для: Sergey89
(09.01.2007 в 16:42)
| | Кинте, полалуйста, линку на описание констант PHP 5 (6?)
Кстати, просочилась информация, что если пришло в заголовке запроса какое-то поле, то создастся переменная с префиксом "HTTP_". Может HTTP_CLIENTIP и HTTP_X_FORWARDED_FOR оттуда и берут свое начало? Тогда их надо не в списке констант PHP искать, а.. где? | |
|
|
|
|
|
|
|
для: Николай_Иваныч
(09.01.2007 в 17:00)
| | http://ru2.php.net/manual/ru/ref.errorfunc.php#e-user-error | |
|
|
|