2012-01-02 43 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

相關問題