如何在codeigniter中取消设置会话值

时间:2016-10-25 18:59:19

标签: php codeigniter

有些用户应该重定向到他们的个人资料。 到预防循环页面,我应该取消设置用户会话数据。 但是通过我的代码,用户重定向到/profile/settingsProfile页面,然后页面一次又一次刷新。

我的代码:

    $data['redirectToProfile'] = $this->session->userdata('redirectToProfile');
    if($data['redirectToProfile'])
    {
        $this->session->unset_userdata('redirectToProfile'); //not work
      //$this->session->set_userdata(array('redirectToProfile'       => false)); // not work

        redirect('/profile/settingsProfile', 'refresh');
    }

在加载所有视图之前放入我的代码。

2 个答案:

答案 0 :(得分:1)

试试这个

在构造

function __construct()
{
    parent::__construct();
    ob_start();
    $this->load->library('Session');
}

在控制器中

$redirectToProfile = $this->session->userdata('redirectToProfile');  
if(!empty($redirectToProfile))
{
    echo "Session data is :".$redirectToProfile ; 
    $this->session->unset_userdata('redirectToProfile');
    ob_clean();
    //redirect('/profile/settingsProfile');
    echo "session data is :". $redirectToProfile ;
}
else
{
    echo "empty";
}

答案 1 :(得分:0)

在CodeIgniter 3及更高版本中,会话工具被设计为Web会话的UI而不是它们自己的单独的东西,因此您可以使用诸如session_unset和session_destroy之类的PHP函数找到成功:

http://php.net/manual/en/function.session-unset.php