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

时间:2013-03-03 05:46:32

标签: php 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作为布尔会话变量。 但是,这不起作用。

我找不到错误。

1 个答案:

答案 0 :(得分:19)

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

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');
   }
}