Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么可以';会话不能取消设置并销毁吗?_Php_Codeigniter_Session - Fatal编程技术网

Php 为什么可以';会话不能取消设置并销毁吗?

Php 为什么可以';会话不能取消设置并销毁吗?,php,codeigniter,session,Php,Codeigniter,Session,我的网站上有一个几乎可以运行的注册系统,唯一缺少的是注销功能。它启动会话,但似乎不会破坏会话,因此,前一个会话始终处于活动状态。我是正确地破坏了会话,还是完全做错了什么 起初,我只是尝试设置用户数据,然后在销毁会话之前逐个取消设置,但没有成功。所以现在我用普通字符串设置用户数据,然后再销毁它们,同样,似乎不起作用 注销链接如下所示: <a href="http://localhost/dir/dir1/dir2/index.php/Controller/logout">logout&

我的网站上有一个几乎可以运行的注册系统,唯一缺少的是注销功能。它启动会话,但似乎不会破坏会话,因此,前一个会话始终处于活动状态。我是正确地破坏了会话,还是完全做错了什么

起初,我只是尝试设置用户数据,然后在销毁会话之前逐个取消设置,但没有成功。所以现在我用普通字符串设置用户数据,然后再销毁它们,同样,似乎不起作用

注销链接如下所示:

<a href="http://localhost/dir/dir1/dir2/index.php/Controller/logout">logout</a>

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

您可能需要按照建议实现
ob\u start()
ob\u clean()
。因此,这可能是同一事物的重复。

我只是忘记了指定会话参数,不管怎样,问题解决了

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');
}