2015-06-25 5 views
0

У меня есть проблемы с user_model.php, ниже это ошибки:CodeIgniter user_model Недействительного аргумента для Еогеаспа()

PHP-ошибка была обнаружена Серьезности: Предупреждение

Сообщения: Недействительный аргумент для Еогеасп()

Имя файла: модели/user_model.php

Порядковый номер: 18

Backtrace:

Файл: \ httpdocs \ приложения \ модели \ user_model.php Line: 18 Функция: _error_handler

Файл: \ httpdocs \ Application \ контроллерах \ user.php Line: 9 Функция : check_role

Файл: \ httpdocs \ index.php Line: 292 Функция: require_once

user_model.php

public function check_role() 
{ 
    $user_id = $this->session->userdata('admin_user_id'); 
    // get roles 
    if ($user_id) { 
     $row = $this->db->get_where(TBL_USERS, array('id' => $user_id))->row(); 
     $roles = $this->db->get_where(TBL_ROLES, array('id' => $row->role_id))->row_array(); 
     foreach ($roles as $key => $value) { 
      $this->session->set_userdata($key, $value); 
     } 
    } 
} 

, что случилось с Еогеаспом?

+1

'var_dump ($ role)' и посмотреть, что вы получаете. –

+0

что вы пытаетесь назначить в сеансе? –

+0

@ b0s3 где положить 'var_dump ($ role)' ... – Viruzzz

ответ

0

Постарайтесь проверить count($roles) до foreach().

public function check_role() 
{ 
    $user_id = $this->session->userdata('admin_user_id'); 
    // get roles 
    if ($user_id) { 
     $row = $this->db->get_where(TBL_USERS, array('id' => $user_id))->row(); 
     $roles = $this->db->get_where(TBL_ROLES, array('id' => $row->role_id))->row_array(); 
     if(count($roles)>0) 
     { 
      foreach ($roles as $key => $value) { 
       $this->session->set_userdata($key, $value); 
      } 
     } 
    } 
} 
+0

не работает, с count ($ role) исчезает ошибка, но часть входа я больше не вижу ... – Viruzzz

+0

' print_r ($ role); 'before если условие и вставить результат здесь. – AnkiiG

+0

'PHP-ошибка была обнаружена Серьезность: Обратите внимание Сообщение: Undefined переменной: роли файла: модели/user_model.php Порядковый номер: 15' – Viruzzz