如何在编码器中取消设置会话值


How to unset session value in 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');
    }

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

试试这个

在构建

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";
}

在CodeIgniter 3和以后的版本中,会话工具被设计为web会话的UI,而不是它们自己单独的东西,所以你可能会发现使用PHP函数如session_unset和session_destroy成功:

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