За последние 24 часа нас посетили 7440 программистов и 766 роботов. Сейчас ищут 290 программистов ...

Помощь с кодом

Тема в разделе "PHP для новичков", создана пользователем troyby, 20 июл 2021 в 11:25.

  1. troyby

    troyby Новичок

    С нами с:
    Вторник
    Сообщения:
    2
    Симпатии:
    0
    доброго времени форум. есть код дающий лвл ап для юзера но при приближении к уровню выдает ошибку Undefined index: level. Сам код:
    Код (Text):
    1.  /**
    2.      * Проверяет апнулся ли юзер, и возвращает объект уже с новыми данными
    3.      * @param type $user
    4.      * @param type $user_params
    5.      * @return boolean
    6.      * @throws CHttpException
    7.      */
    8.     public static function checkXP($user, $user_params) {
    9.         $max_xp = self::maxXP($user->level);
    10.         if ($user_params['xp'] >= $max_xp && $user->level <= 15) {
    11.             $user_params['level'] += 1;
    12.             $params = Users::calcParam($user->id_user);
    13.             $user_params['health_now'] = $params->totalHealth*2;
    14.             $user_params['energy_now'] = $params->totalEnergy*2;
    15.             $log = new BattleLog();
    16.             $log->battle_type = $user->battle_type;
    17.             $log->battle_id = $user->battle_id;
    18.             $log->id_user = $user->id_user;
    19.             $log->type = 6;
    20.             $log->info = 2;
    21.             $log->users = Users::getUsersForLog($user->id_user);
    22.             $log->save(false);
    23.         }
    24.         elseif ($user_params['xp'] >= $max_xp && $user->level == 15) {
    25.             $user_params['xp'] = $max_xp - 1;
    26.         }
    27.         return $user_params;
    28.     }
    29.    
    В чем может быть косяк?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.516
    Симпатии:
    1.073
    Адрес:
    там-сям
    В том что индекс level не существует. Серьёзно!
     
  3. troyby

    troyby Новичок

    С нами с:
    Вторник
    Сообщения:
    2
    Симпатии:
    0
    То есть не хватает куска кода или что? или что то добавить нужно?
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.516
    Симпатии:
    1.073
    Адрес:
    там-сям
    Из приведённого не видно как добывается фактическое значение для параметра $user_params. По факту там не оказалось индекса 'level'.

    Пожалуйста не надо вываливать всю программу. Что непонятно? Значения нет — ищи где вызывается функция, что за данные в неё передаются. Отлаживайся.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    6.990
    Симпатии:
    1.142
    Адрес:
    Лень
    В том что индекс level не существует. Серьёзно!:D
    --- Добавлено ---
    9 строка, var_dump( $user );
    смотри какие свойства доступны