Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Предупреждение от nginx, что ему не нравится?


Автор: Dima85 27.9.2012, 16:05
В log файле при запуске index.php каждый раз появляются такие строчки:
Код

PHP message: PHP Notice:  Undefined offset: 1 in /var/site/index.php on line 68
PHP message: PHP Notice:  Undefined offset: 2 in /var/site/index.php on line 68
PHP message: PHP Notice:  Undefined offset: 3 in /var/site/index.php on line 68


Сам index.php работает без каких либо ошибок. 
А ругается nginx вот на эту строчку:
Код

      if ((($set_view == $city[0]) or ($set_view == $city[1]) or ($set_view == $city[2]) or ($set_view == $city[3])) or (($set_view == 'location') && ($id_api[8] != ''))) {


Что я здесь замудрил?

Автор: Guedda 27.9.2012, 16:21
Скорее всего в $city нет ключей [1][2] и [3], так как именно на это и ругается сервер.
Как вариант - проверять на наличие ключа перед условием или в самом условии.

Автор: ksnk 27.9.2012, 16:47
При чем тут nginx? Ругается PHP.
Може так будет правильно?
Код

if (in_array($set_view, $city) or (($set_view == 'location') && ($id_api[8] != ''))) {

Автор: Dima85 27.9.2012, 16:48
 $city у меня берется вот отсюда:
Код

$city = split(',', $id_api[0]);



Сейчас я добавил вот такие строчки:
Код

      isset($city[0]);
      isset($city[1]);
      isset($city[2]); 
      isset($city[3]); 


Ошибок больше в лог файле не вижу. Но может есть какое-то более элегантное решение? 


ksnk, только заметил ваше сообщение, сейчас попробую.


ksnk, по моему все получилось. Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)