gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:37:18 25 4
gpt4 key购买 nike

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

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

这是我的注销:

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

这是我的仪表板:

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

最佳答案

我厌倦了实现这个选项,但它效果不佳。所以我对此实现了新的逻辑。

Simply check is session is set in every main methods. Below code help you

注销时(在 Controller 中定义)

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
}

在仪表板(函数)中

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

登录(函数)

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

$this->session->set_userdata($session);

关于php - Codeigniter 按注销按钮并禁用后退浏览器按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39426200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com