Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите советом начинающему (Notice)
 
 автор: Sophist   (28.07.2006 в 20:03)   письмо автору
 
 

Мануал по PHP я себе уже заказал, но он придет через неделю. А пока может кто подмогнет чайнику?

Ситуация следующая: существует засланный post'ом некоторый массив $chb, через который я отлавливаю активизированные чекбоксы из формы.

<...>
делаю запрос к своей таблице 'addr_p' на предмет вытянуть из нее содержимое некоторых из полей:
$result = mysql_query("SELECT id, id_old, format, site, town, address, region, price FROM addr_p",$db)

Массив $chb имеет индексы вида $chb['id'], где 'id', как видно, - это числа из первого поля таблицы 'addr_p'

В зависимости от того, что там юзер в форме понаотмечал чекбоксами массив может выглядеть, например так (обратите внимание - chb[10002] в данном случае отсутствует):
chb[10000], chb[10001], chb[10003]

Далее я построчно перебираю результат запроса $result:
while ($myrow = mysql_fetch_array($result)) {
Ввожу условие:
if ($chb[$myrow['id']])
{ ...выводим на экран всякое разное... } }

Таким образом, я вывожу отфильтрованные чекбоксами строки, но при этом выводится сообщение о неопределенном индексе следующего вида:
Notice: Undefined index: 10002 in <...>\navigator\filter.php on line 126

На фига меня об этом, спрашивается извещать, и зачем я втыкал условие - чтобы любоваться на это сообщение? Как избавитиься от этих чертовых нотисов?

В общем помогите кто-нибудь, а то меня эти нотисы за..@..уть! (В смысле заколебуть)

   
 
 автор: Владимир22   (28.07.2006 в 20:11)   письмо автору
 
   для: Sophist   (28.07.2006 в 20:03)
 

Напиши также и в коде и он тоже не будет ругаться:

@$result = mysql_query("SELECT id, id_old, format, site, town, address, region, price FROM addr_p",$db);

   
 
 автор: cheops   (28.07.2006 в 23:06)   письмо автору
 
   для: Sophist   (28.07.2006 в 20:03)
 

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

   
 
 автор: Sophist   (31.07.2006 в 09:44)   письмо автору
 
   для: cheops   (28.07.2006 в 23:06)
 

Фух-х-х. Все поправил, все работает. Спасибо тебе, человече.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования