исправить ошибку

Тема в разделе "Как сделать...", создана пользователем Sysfaray, 10 янв 2015.

  1. Sysfaray

    Sysfaray Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    149
    Симпатии:
    77
    64 строка:
    Код:
                    if (preg_match('/[0-9]+[,]+[0-9]/', $items[$item_num][$map_field])) {  $item_coordinates = $items[$item_num][$map_field]; }
    102 строка:
    Код:
    if ($item[$map_field]) {
     

    Вложения:

    • screenshot.1.jpg
      screenshot.1.jpg
      Размер файла:
      234,5 КБ
      Просмотров:
      10
    • widget.zip
      Размер файла:
      811 байт
      Просмотров:
      3
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244
    Ошибка гуглится на ура в том числе и по этому форуму.

    Решение:
    1) выключить вывод notice
    2) добавить проверку на существование переменной:
    PHP:
    if (isset($items) && isset($item_num) && isset($map_field) && isset($items[$item_num])) {
     if (
    preg_match('/[0-9]+[,]+[0-9]/'$items[$item_num][$map_field])) {  $item_coordinates $items[$item_num][$map_field]; }
    }
     
    AlgoriVismut нравится это.
  3. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    380
    Симпатии:
    236
    PHP:
    if (isset($items$item_num$map_field$items[$item_num])) {
     
    AlgoriVismut нравится это.
  4. Sysfaray

    Sysfaray Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    149
    Симпатии:
    77
    Спасибо , добрые человеки. Премного благодарен.

    После исправления вылетела ещё одна ошибка:
    Код:
    E_NOTICE: Undefined variable: item_id   /system/controllers/content/widgets/random/widget.php (63)
      /system/controllers/content/widgets/random/widget.php (63) widgetContentRandom->run
        /system/core/core.php (713) widgetContentRandom->call_user_func_array
          /system/core/core.php (666) cmsCore->runWidge
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244
    Всё тоже самое перед использованием переменной item_id в 63 строке widget.php вставляй проверку, что переменная существует if (isset($item_id))
     
  6. Sysfaray

    Sysfaray Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    149
    Симпатии:
    77
    Код:
            $all_items = $model->getContentItems($ctype['name']);
            shuffle($all_items);
            $items = array_slice($all_items, $item_id, (int)$amount_items);
            if ($this->links !=''){ $this->links .= "\n"; }
            $this->links .= LANG_WD_CONTENT_RANDOM_REFRESH . '|#refresh" id="rnd_refresh_'.$this->id.'" onclick="icms.random.getNext('.$this->id.'); return false' ;
    
            if (!$items) { return false; }
           
            shuffle($items);