php - CI3 注销 session 不重定向

标签 php codeigniter session redirect codeigniter-3

我正在尝试为项目创建一个简单的登录/注销功能,但我的问题是当我尝试注销时,页面不会重定向到我的原始登录页面。

我的管理模型是这样的

public function __construct() {
    parent::__construct();
    $this->load->model('AdminModel');
    $this->load->library('session');
    if($this->session->userdata('logged_in')){
        redirect('item/index');
    }
}

public function logout(){
     $this->session->sess_destroy();         
     redirect('admin/index', 'refresh');
 }

如果登录的用户试图访问其他被禁止的页面,此行会将页面重定向到主页,但是当我注销时,它只会将我重定向到同一用户的主页。

if($this->session->userdata('logged_in')){
        redirect('item/index');
    }

谢谢。

最佳答案

尝试下面的函数

public function logout(){
    if($this->session->userdata('logged_in')){
        foreach ($_SESSION as $key => $value) {
            unset($_SESSION[$key]);
        }

        $this->load->view('admin/index');
    }
}

此处 $this->load->view('admin/index'); 将加载您想要的 View 。

关于php - CI3 注销 session 不重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39578460/

相关文章:

php - 如何在 Dreamweaver 中不更新数据库的情况下将 PHP 表单数据保存到 session 变量?

session - Rails 4 跨子域共享 session

php - PDO 和 MySQL 的这种实现是否安全以防止 SQL 注入(inject)?

php - 为什么会出现此错误以及如何修复它?

php - fatal error : Call to a member function result() on string when building a PHP filtering system

.htaccess - Apache 2.4.6 default.conf 格式已更改。无法运行 .htaccess

mysql - 如何在codeigniter中从两个不同的表中选择具有相同列名的数据

php - 如何让 PHP session 在浏览器关闭或延长一段时间后过期

javascript - 如何在 PHP 端使用 $.get "Additional Data"

php - 输入中一个名称的两个值