2012-01-02 10 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ステートメントの後のtrue/falseビットを理解できないことです。 – chowwy

関連する問題