Codeigniter按下注销按钮并禁用后退浏览器按钮

Jc *_*ohn 2 php session codeigniter

大家好我正在使用CodeIgniter Framework,我在注销后出现问题,会话已经被破坏并重定向到登录表单,并且在重定向到登录表单后,浏览器后退按钮可以被备份到仪表板但是因为有错误会议已被破坏.我想要的是禁用浏览器的后退按钮或我以前无法加载的任何内容.我已经阅读了有关此问题的其他帖子,并尝试了他们的解决方案,但它不起作用.我已经根据我在构造函数中的其他帖子中读到的内容粘贴了此代码.

The code that I've seen from the post and posted in my constructor :
 header("cache-Control: no-store, no-cache, must-revalidate");
        header("cache-Control: post-check=0, pre-check=0", false);
        // HTTP/1.0
        header("Pragma: no-cache");
        // Date in the past
        header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        // always modified
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
Run Code Online (Sandbox Code Playgroud)

这是我的注销:

 $sess_array = array(
        'username' => ''
        );
        $this->session->unset_userdata('logged_in', $sess_array);
        $this->session->sess_destroy();
        redirect('auth', 'refresh');
Run Code Online (Sandbox Code Playgroud)

这是来自我的仪表板:

    <li>                                 
<a href="<?= base_url('auth/logout') ?>"><i3 class="glyphicon glyphicon-off"></i3> Logout</a>
   </li>
Run Code Online (Sandbox Code Playgroud)

Abd*_*lam 5

我厌倦了实现这个选项,但它不能很好地工作.所以我在这上面实现了新的逻辑.

只需检查是否在每个主要方法中设置了会话.下面的代码帮助你

在注销中(在控制器中定义)

function __construct()
{
    parent::__construct();
    ob_start(); # add this
}

public function logout()
{
    $this->load->driver('cache');
    $this->session->sess_destroy();
    $this->cache->clean();
    ob_clean();
    redirect('home'); # Login form or some other page         
}
Run Code Online (Sandbox Code Playgroud)

在仪表板中(功能)

public function home()
{
    $logged_in = $this->session->userdata('logged_in');
    if($logged_in != TRUE || empty($logged_in))
    {
        #user not logged in
        $this->session->set_flashdata('error', 'Session has Expired');
        redirect('user_logging'); # Login view
    }
    else
    {
        #user Logged in
        $this->load->view("viewname",$data);
    }
}
Run Code Online (Sandbox Code Playgroud)

在登录(功能)

$session = array(
    'username'  => $name,
    'logged_in' => TRUE
);

$this->session->set_userdata($session);
Run Code Online (Sandbox Code Playgroud)