【问题标题】:CodeIgniter session Data showing null during authenticationCodeIgniter 会话数据在身份验证期间显示为空
【发布时间】:2018-04-24 11:24:54
【问题描述】:

我正在尝试将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 调用 true。我不知道为什么它阻止查看登录会话。

提前致谢

【问题讨论】:

  • 你能显示你在哪里设置你的会话
  • 除非不清楚您如何设置会话,否则无法获取会话

标签: php session authentication codeigniter-3 php-7.2


【解决方案1】:
return $CI->session->userdata('is_logged_in') ?  $CI->session->userdata('is_logged_in') : Null;

在 codeigniter 中获取会话数据的语法是

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

【讨论】:

  • 但问题是当我尝试回显 $CI->session->userdata('userdata');它正在回显 null 因为条件变得错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多