将函数中的会话变量传递给codeigniter中的助手


passing a session variable in a function to a helper in codeigniter

这就是我要做的。这是控制器

中的函数
public function get_started()
{
    if(test_login($this->session->all_userdata())) {
        $this->load->view('template');
    } else {
        $this->load->view('error');
    }
}

这是帮助器

function test_login($sessdata)
{
    if($sessdata->userdata('is_logged_in')) {
        return true;
    } else {
        return false;
    }
}

我已输入is_logged_in作为布尔会话变量。但是,这不起作用。

我找不到错误

不将会话数据作为参数传递给helper,您可以从helper本身访问会话,如:

function test_login() {
  $CI = & get_instance();  //get instance, access the CI superobject
  $isLoggedIn = $CI->session->userdata('is_logged_in');
  if( $isLoggedIn ) {
     return TRUE;
  }
  return FALSE;  
}

和控制器:

public function get_started(){
   if( test_login() ) {
      $this->load->view('template');
   }
   else {
      $this->load->view('error');
   }
}