2012-08-03 161 views
0

嗨,大家有一个问题,将用户数据设置为真,也许这里的某个人可以帮助我吗?CodeIgniter设置用户数据会话

我使用笨

这里是我的控制,我设定的用户数据和重定向转发到另一个控制器“现场”并调用该函数members_area

if($query) // if the users pass/user is right 
    { 
     $data = array(
     'username' => $this->input->post('username'), 
     'is_logged_in' => true  
     ); 
     $this->session->set_userdata($data); 
     redirect('site/members_area'); 
    } 
    else{ 
    $this->index(); 

    } 

然后,这是我的地盘控制器:

function __construct(){ 

    parent::__construct(); 
    $this->is_logged_in(); 
} 

function members_area() 
{ 

    $this->load->view('members_area'); 
} 

function is_logged_in() 
{ 
    $is_logged_in = $this->session->userdata('is_logged_in'); 

    if(!isset($is_logged_in) || $is_logged_in != true) 
    { 
     echo 'You don\'t have permission to access this page. <a href="../login">Login</a>'; 
     die(); 

    } 

} 

你们认为什么?非常感激!

+0

那么发生了什么?请详细告知 – 2012-08-03 12:50:40

+0

它仍然说我没有权限,在sucecssfully登录并被重定向到members_area – user1250526 2012-08-03 13:34:56

+0

您是否添加了$ this-> load-> library('session');在你的网站控制器的任何地方(最好是构造函数) – user1190992 2012-08-03 14:36:08

回答

1

通过在config文件夹中的autoload.php中设置0​​来修复它,因为在保护cookie之前它为TRUE,所以对于为什么可能会很好?但这固定的问题:)

+1

如果将其设置为true,则只有存在安全连接时(即,您的网站使用HTTPS运行时)才会设置cookie。 – user1190992 2012-08-03 15:40:40