Я пытаюсь получить доступ к индексу в моей сессии CI с some_name. В документации CI есть пункт, который говорит CI, что можно сохранить some_value в some_name.

Вот документация:

$this->session->set_userdata('some_name', 'some_value'); 

Поэтому я пишу это так:

$data = array(
  'id_member'  => 1234,
  'nama'       => 'Andrew',
  'email'      => 'andrew@gmail.com',
  'phone'      => '086767',
  'logged_in'  => TRUE
);

$this->session->set_userdata('user',$data);

Но когда я пытаюсь получить доступ к индексу id_member, он выдает мне такую ошибку:

Severity: Notice
Message: Trying to get property of non-object

Как я должен написать это правильно?

Вот мой код ошибки:

$this->user = $this->db->get_where('member', array(
   'ID' => $this->session->userdata('user')->user_id), 1)->row();
-1
Ignatius Chandra 28 Май 2017 в 18:48

2 ответа

Лучший ответ

Вы пытаетесь получить доступ к элементу массива, а не к объекту, таким образом, ошибка

$s = $this->session->userdata('user');
$id = $s['id_member'];

Попробуй это

1
Exprator 28 Май 2017 в 15:56

Используйте эту надежду, это поможет вам

$this->user = $this->db->get_where('member', array(
   'ID' => $this->session->userdata['user']['id_member']), 1)->row();
0
Amit Gaud 28 Май 2017 в 15:58