Не отображается ПУНКТ СЕССИИ / ПЕРЕМЕННЫЙ codeIgniter - PullRequest
0 голосов
/ 03 октября 2018

Привет, ребята, у моего сеанса есть данные, но я не могу получить элемент для отображения, например, я просто хочу идентификатор

Array ( [__ci_last_regenerate] => 1538534437 [logged_in] => 1 [profile] => stdClass Object ( 
[id] => 1 
[email] => teacher@email.com 
[role_id] => 2 
[tekteach_login_flag] => 1 
[date_registered] => 2018-07-27 16:07:50 
[deleted] => 0 
[first_name] => Elena 
[last_name] => Cruz 
[middle_name] => Santos 
[gender] => Female 
[birthday] => 1970-01-01 
[status] => Active 
[created_on] => 2018-06-01 05:28:26 
[created_by] => 
[modified_on] => 
[modified_by] => 0 
[deleted_by] => 0 ) )

Мой код такой

print_r($this->session->userdata);

$userID = $this->session->userdata('id');

$this->session->set_userdata('id',$userID);

echo $this->session->userdata('id');

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

У вас есть объект профиля в сеансе.Получить идентификатор, используя ниже

$profile = $this->session->userdata('profile');
$id = $profile->id;
echo $id;
0 голосов
/ 03 октября 2018

Ваш print_r показывает, что ваш идентификатор (и его друзья) были сохранены в объекте, называемом профилем.

Итак, я создал небольшой тестовый сценарий, основанный на том, что вы показали, и как вы могли прочитать этизначения.

//
// Using Objects - most likely from a Database result set
//
// Create the session test data
$profile = (object)array();
$profile->id = 1;
$profile->name = 'Fred';


// Display the full session
$this->session->set_userdata('profile', $profile);
var_dump($this->session->userdata());

$profile = $this->session->userdata('profile');
var_dump($profile);

echo 'userId is ' . $profile->id;  // Std Object
echo '<br>';
echo 'userId is ' . $this->session->profile->id; // Magic Method

Результат

array (size=2)
  '__ci_last_regenerate' => int 1538540690
  'profile' => 
    object(stdClass)[18]
      public 'id' => int 1
      public 'name' => string 'Fred' (length=4)

object(stdClass)[18]
  public 'id' => int 1
  public 'name' => string 'Fred' (length=4)

userId is 1
userId is 1

Конечно, вы можете использовать print_r () вместо var_dump ().Я просто предпочитаю var_dump ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...