igrok54 |
Отправлено: 23 июля 2011 — 18:53
|
Advanced Member
Покинул форум
Сообщений всего: 470
Дата рег-ции: Янв. 2010
Откуда: Пермь
Репутация: 57
|
Zeg, временно, пока ошибку не отладил, можно закрыть ее вывод на странице, если после первой строки
вставить строку: CODE:error_reporting(E_ALL ^ E_NOTICE);
А на момент отладки ее комментировать.
Исходя из этого возникает вопрос - знаю, что весь скрипт ExBB написан под директиву error_reporting(E_ALL ^ E_NOTICE); - т.е. в нем изначально имеются такие нотисы в достаточном количестве. А виден только один... На своем домене я их правил, поэтому представляю их количество.
Внимание, вопрос:
Zeg, вы отлавливали и правили другие нотисы в файлах скрипта или в файл index.php вставили строку: error_reporting(E_ALL);, т.е. выводить все ошибки. Если второе, то эта же ошибка, возможно, имеется и в других файлах, но там скрывается за директивой error_reporting(E_ALL ^ E_NOTICE);...
Факты:
Я зарегился днем, ошибка вылезала только на index.php, на других страницах ее нет.
Вошел - вышел - снова вошел в аккаунт - ошибка когда авторизован выходит независимо от повторных авторизаций.
Вечером (предполагал, что ошибка может быть у последнего зарегистрированного) - то же самое, значит предположение не верно...
Далее размышления:
По типу ошибки Undefined offset: 50 понятно, что скрипт не может разобрать в массив какие-то данные. Это бывает, например, если в базу попала пустая строка и скрипт пытается ее разложить на переменные через explode, либо формат строки не соответствует количеству переменных, в которые эту строку надо разложить - например такой код:
list( $id, $name, $mail ) = explode( ':', '1111:Vasya' );
- строку ( '1111:Vasya' ) разложить надо на три переменные ( $id, $name, $mail ), а в строке только один разделитель ( ':' ), т.е. строку фактически можно разложить только на две части, а не на три, как затребовано кодом.
вызовет ошибку:
Notice: Undefined offset: 2
Киньте свой файл index.php, посмотрю, может найду как поправить.(Отредактировано автором: 23 июля 2011 — 19:04) |
|
|
igrok54 |
Отправлено: 23 июля 2011 — 20:32
|
Advanced Member
Покинул форум
Сообщений всего: 470
Дата рег-ции: Янв. 2010
Откуда: Пермь
Репутация: 57
|
Zeg пишет:Очень похоже, что не разгребает $_watchesIndex[$id][1]
Отладчик говорит, что элемента массива не существует для указанного ID
Попробуй вывести на страницу, что находится в массиве $_watchesIndex[$id] или $_watchesIndex.
код вывода типа:
CODE:echo '<pre>';print_r($_watchesIndex[$id]);echo '</pre>'; (Отредактировано автором: 23 июля 2011 — 20:33) |
|
|
|