2012-01-02 49 views
0

我想限制对用户配置文件的某些元素的访问权限,以便只有用户才能看到它们而不是其他登录用户。到目前为止,is_logged_in函数(见下文)工作正常,现在我需要对它进行优化,使其仅限于登录的特定用户。Codeigniter将某些页面元素限制为配置文件所有者

我已经在会话数据中包含user_id变量,所以这是可用的。

function is_logged_in() 
{ 
    $is_logged_in = $this->session->userdata('is_logged_in'); 
    if($is_logged_in) 
    { 
     $this->index(); 
    } 
    else 
    { 
     redirect('fooview'); 
    } 
} 

回答

1

,你需要知道你正在查看配置文件的USER_ID,让我们假设你的控制器,你把它作为$user_id

在您的控制器

你可以做$is_owner = $this->session->userdata('user_id') == $user_id ? true : false;

然后将它传递到您的视图作为例如$is_owner

那么在你看来只是有

if($is_owner){ 
    //show stuff 
} else { 
    //message saying stuff is private! 
} 
+0

好吧,谢谢,这主要是对我来说很有意义。你说定义$ is_owner作为来自会话数据的user_id,然后$ is_owner应该等于配置文件控制器中定义的$ user_id - 是否正确?我唯一不理解$ is_owner语句后的真/假位。 – chowwy 2012-01-02 02:54:24

相关问题