codeigniter アプリケーションにコントローラー「ユーザー」がいます。このコントローラーには、次の関数がありますlogged_user_only()
。
public function logged_user_only()
{
$is_logged = $this -> is_logged();
if( $is_logged === FALSE)
{
redirect('user/login_form');
}
}
この関数は という別の関数を呼び出すis_logged()
ため、セッションが設定されているかどうかを確認するだけで、はいの場合は true を返し、そうでない場合は false を返します。
この関数を同じコントローラー内の任意の関数の先頭に配置すると、ユーザーがログに記録されていないかどうかがチェックされ、login_form
それ以外の場合はリダイレクトされて続行されます。これはうまくいきます。例えば、
public function show_home()
{
$this -> logged_user_only();
$this->load->view('show_home_view');
}
logged_user_only()
別のコントローラーの関数でこの関数を呼び出して、ユーザーがログインしているかどうかを確認したいと思いますか?
PS。これができない場合、または推奨されない場合、複数のコントローラーでアクセスするには、この関数をどこに配置すればよいですか? ありがとう。