2013-03-03 12 views
8

Đây là những gì tôi đang cố gắng thực hiện. Đây là chức năng trong bộ điều khiểnchuyển biến phiên trong một hàm thành một trình trợ giúp trong mã vạch

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

Đây là helper

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

tôi đã nhập is_logged_in như là một biến phiên boolean. Tuy nhiên, điều này không hoạt động.

Tôi không thể tìm thấy lỗi.

Trả lời

18

thay vì thông qua dữ liệu phiên như tham số để helper của bạn, bạn có thể truy cập vào phiên giao dịch từ bản thân helper, như:

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

Và điều khiển:

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

nhờ ....... nó làm việc ...... chỉ là những gì tôi đang tìm kiếm ... – user1978166

+0

Bạn có thể cung cấp một nguồn tốt cho hướng dẫn trên CI superobject – user1978166

+0

cảm ơn \t cảm ơn \t cảm ơn ... – Shridhar