CodeIgniter session Данные, показывающие нулевое значение во время аутентификации - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь отправить переменную session другому controller, но когда я использую r_print(), он ничего не показывает и применяется условие, которое возвращает null.

<?php 
// library/login_lib.php 
class Login_lib
{
     public function logged_in()
     {
        $CI = & get_instance();
        return ($CI->session->userdata('userdata')['is_logged_in']) 
               ? $CI->session->userdata('userdata')['is_logged_in'] : Null;
     }
}
?>
<?php    
    // another file common_helper.php        
    if( !function_exists('authentication_user') )
    {
      function authentication_user()
      {
         $CI = & get_instance();

         if( !$CI->login_lib->logged_in() )
         {
              $CI->session->set_flashdata('error', 'Please login with username and password');
             if( $CI->input->is_ajax_request() )
             {
                   echo 'session_expire';
                   die();
             }
             else
             {
               redirect();
             }
         }
      }
    }

Есть еще один контроллер с именем Dashboard, где я вызываю вышеуказанную функцию authentication_user(). То, что я хочу сейчас, я хочу назвать истиной из login_lib, которым я на самом деле не являюсь. Я не знаю, почему он блокирует просмотр сеанса входа в систему.

Заранее спасибо

1 Ответ

0 голосов
/ 24 апреля 2018
return $CI->session->userdata('is_logged_in') ?  $CI->session->userdata('is_logged_in') : Null;

Синтаксис для получения данных сеанса в codeigniter:

$this->session->userdata('session_key');
...