首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么不能取消设置和销毁会话?

为什么不能取消设置和销毁会话?
EN

Stack Overflow用户
提问于 2019-05-26 21:56:51
回答 2查看 57关注 0票数 2

我在我的网站上有一个几乎可以正常工作的注册系统,唯一缺少的部分是注销功能。它会启动会话,但似乎不会破坏它,因此,前一个会话始终处于活动状态。我是正确地销毁了会话,还是做了一些完全错误的事情?

起初,我只是尝试设置用户数据,然后在销毁会话之前逐个取消设置,这是不起作用的。所以现在我用普通字符串设置用户数据,然后再销毁它们,再一次,似乎不起作用。

注销链接如下所示:

代码语言:javascript
复制
<a href="http://localhost/dir/dir1/dir2/index.php/Controller/logout">logout</a>

在我的控制器中,我有这个:

代码语言:javascript
复制
public function logout() {


    $this->load->helper('url');
    $this->load->library('session');

    $session_data = array(
      'data' =>  'data',
      'data' => 'data',
      'data' =>  'data',
      'data' =>  'data',
      'data' =>  'data',
      'data' => 'data',
      'data' => 'data',
      'data' => 'data',
      'data' => 'data',
      'data' =>  'data',
      'data' =>  'data',
      'data' =>  'data',
      'data' =>  'data',
      'data' =>  'data'
    );
    $this->session->set_userdata($session_data);

        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');
        $this->session->unset_userdata('data');

    $this->session->sess_destroy();
    redirect('http://localhost/dir/dir1/dir2/index.php/Controller/loginview', 'refresh');
}

我希望会话在重定向之前被销毁(它确实是这样做的),但是当我输入新的登录凭据时,它仍然显示前一个会话的登录凭据,而应该显示新的登录凭据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-06 06:15:08

我只是忘了指定会话参数,总之问题解决了!

票数 1
EN

Stack Overflow用户

发布于 2019-05-26 22:05:13

您可能需要按照Session is not being destroy in codeigniter的建议实现ob_start()ob_clean()。因此,这可能是同一件事的副本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56314143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档