|
|
|
| В листинге 7.9 Файл addartform.php есть строка
Название:<input type="text" name="name" value="<?= $name ?>"><br>
|
Выдает сообщение об ошибке : <br /><b>Notice</b>: Undefined variable: name in <b>z:\home\localhost\www\php5\php\admin\articles\addartform.php</b> on line <b>26</b><br /> .
Причем в поле ввода. И так со всеми полями.
В книге написано : Каждое поле формы снабжено атрибутом value , принимающим
значение по умолчанию.
Помогите в чем дело. | |
|
|
|
|
|
|
|
для: Nemo
(29.06.2005 в 20:10)
| | Скорее всего у вас атрибут register_globals в файле php.ini стоит значение Off. Есть два пути:
1) Перед вашей строкой писать $name=$_GET['name'] (или $_POST['name']);
2) Поставить register_globals = On | |
|
|
|
|
|
|
|
для: Nemo
(29.06.2005 в 20:10)
| | Это не ошибка а совет по кодированию.
Поставьте в начале кода
Error_Reporting(E_ALL & ~E_NOTICE);
|
и все будет нормально. | |
|
|
|
|
|
|
|
для: Loki
(29.06.2005 в 23:26)
| | Хоть это и совет, но все таки там написано что такой переменной нет | |
|
|
|
|
|
|
|
для: Евгений Петров
(29.06.2005 в 23:34)
| | Так она же еще не определена. | |
|
|
|
|
|
|
|
для: Евгений Петров
(29.06.2005 в 23:34)
| | Это не паскаль - необязательно в начале кода описывать все переменные:) | |
|
|
|
|
|
|
|
для: Nemo
(29.06.2005 в 20:10)
| | Дело в том, что по умолчанию интерпретатор PHP настроен на максимальную чувствительность к ошибкам и предирается даже к мелочам печатая так называемые советы (Notice). Следует понизить уровень тревожности интерпретатора (как это сделано на всех хостингах) установив к конфигурационном файле php.ini более низкий уровень тревожности, исправив директиву error_reporting согласно статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=23
error_reporting = E_ALL & ~E_NOTICE
|
Или воспользоваться функцией Error_Reporting(E_ALL & ~E_NOTICE), как советует Loki.
PS В данном случае, исправления данного совета приведёт только к усложнению кода, так придётся проверять существует переменная или нет. | |
|
|
|