会话记录了谁登录并仅向成员显示

时间:2014-03-10 12:38:57

标签: codeigniter session

在处理会话时,我不确定该怎么做。

登录并设置会话数据后。

如何将私人网页仅显示给已登录的人。

我是否必须对我的所有观点进行这种验证?

<?php

if($this->session->userdata('is_loggedin')!=1)
{
    redirect('KGindex/index','refresh');
}

?>

我甚至不确定这是否正确,现在它搞砸了我的代码。功能不再起作用了。

我在哪里运行会话验证?

1 个答案:

答案 0 :(得分:0)

您希望在控制器中而不是在视图中检查。例如

class Account extends CI_Controller {

    public function index()
    {
        if($this->session->userdata('is_loggedin')!=1)
        {
            redirect('KGindex/index','refresh');
        }
    }
}

如果您知道控制器中的每个功能都要求用户登录,那么您可以在__construct()函数中包含检查,因为每当访问该类时都会调用此函数。因此,您只需要将代码放在一个地方。

class Account extends CI_Controller {

    public function __construct()
    {
        if($this->session->userdata('is_loggedin')!=1)
        {
            redirect('KGindex/index','refresh');
        }
    }

    public function index()
    {
        //__construct() has already been called
    }
}