IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Сегодня выскакаивает ошибка, Недавно обновил 4 файла
Alekc
сообщение 23.8.2011, 11:31
Сообщение #1


Сотрудник ALL-GSM.ru
*****

Группа: Участники
Сообщений: 136
Регистрация: 16.4.2008
Пользователь №: 214



Когда открываю сайт, то выскакивает ошибка

Код
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/.../www/mojsait.ru/inc/prepare_mysql.inc.php</b> on line <b>518</b>


вот что в 518 строке и дальше

Код
            foreach ($unic_history_array as $num)
             {
                $query = "SELECT id,razdel,brand,name,cena,foto,lat_name,art_code FROM `$db_table` WHERE id = '{$num}'";
                if (!$result = @mysql_db_query ($db_database, $query)) { my_mysql_error(mysql_error(), mysql_errno(), $query); }
                  while ($sql = mysql_fetch_array($result))
                    {
                      $history_resultat[]=$sql['id']."|".$sql['razdel']."|".$sql['brand']."|".$sql['name']."|".$sql['small_description']."|".$sql['big_description']."|".$sql['cena']."|".$sql['foto']."|".$sql['lat_name']."|".$sql['art_code'];
                    }
             }  
        }


в истории просмотров естественно ничего не показывается.

Раньше такого не было, 3 дня назад обновил 4 файла (выбор сервера ru или su).

Может с этим связано?

P.S. Это происходит только при переходе на главную страницу, на других страницах история в блоке выводится и ошибка не возникает.
P.P.S. В общем ошибка возникает, если ещё нет товаров в блоке "История просмотров", т.е. для каждого нового пользователя.
Через некоторое время ошибка пропадает и в этом блоке видна история.
Где-то ошибка (недоработка).
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 23.8.2011, 23:54
Сообщение #2


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Это не ошибка, а предупреждение
Отключите вывод ошибок (предупреждений) в .htaccess

php_flag display_errors Off
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Alekc
сообщение 24.8.2011, 0:30
Сообщение #3


Сотрудник ALL-GSM.ru
*****

Группа: Участники
Сообщений: 136
Регистрация: 16.4.2008
Пользователь №: 214



Цитата(CL (Александр) @ 24.8.2011, 2:54) *

Это не ошибка, а предупреждение
Отключите вывод ошибок (предупреждений) в .htaccess

php_flag display_errors Off


В том то и дело, что эта директива у меня отключена, а ошибка появилась вчера.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CL (Александр)
сообщение 24.8.2011, 4:00
Сообщение #4


Администратор
*****

Группа: Главные администраторы
Сообщений: 2 134
Регистрация: 29.5.2007
Пользователь №: 1



Можно выполнит проверку
if (is_array($unic_history_array))
{
тут цикл foreach
}

Если warning's раньше не было, а сейчас появились, то вероятно хостер изменил настройки php.
Вообще warning's не должны в браузер сыпаться, не за чем посетителям их показывать, для этого логи.

Настроить можно разными способами.
в php.ini
error_reporting = E_ALL & ~E_NOTICE ;Выводим ошибки, не выводим предупреждения (warnings и notice)
display_errors = Off ;Полностью выключаем вы

в .htaccess
php_flag display_errors Off
php_flag error_reporting 0

в index.php
ini_set('display_errors',0);
error_reporting(E_ALL ^E_NOTICE);
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Alekc
сообщение 24.8.2011, 8:32
Сообщение #5


Сотрудник ALL-GSM.ru
*****

Группа: Участники
Сообщений: 136
Регистрация: 16.4.2008
Пользователь №: 214



Цитата(CL (Александр) @ 24.8.2011, 7:00) *

Можно выполнит проверку
if (is_array($unic_history_array))
{
тут цикл foreach
}



4 файла здесь не при чём.

А проверка не помогла, ошибка продолжает появляться.

P.S. Помогла другая проверка
Код
if (is_array($history_array))
{
  тут цикл foreach
}
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26.4.2018, 20:58