【问题标题】:Logout in codeigniter在 codeigniter 中注销
【发布时间】:2013-08-27 17:12:24
【问题描述】:

我正在尝试在 codeigniter 框架中设计登录/注销页面。我的问题是,当我注销网页时,我被重定向到登录页面。 当我回去时,我得到一个页面,上面写着:

文档已过期

This document is no longer available.

但是当我刷新此页面时,我会再次登录系统(o.O)

以下代码包含我的构造函数和注销功能。请帮我设计一个完美的登录退出页面

function __construct()
{
    parent::__construct(); 

    $this->load->model('user_model');    

    $this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
        $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
        $this->output->set_header('Pragma: no-cache');
        $this->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    
}

function logout()
{
    $newdata = array(
                'user_name'  =>'',
                'user_email' => '',
                'logged_in' => FALSE,
               );

     $this->session->unset_userdata($newdata);
     $this->session->sess_destroy();

     redirect('default_controller','refresh');
}

我尝试找到正确的注销方法,但我找不到。

【问题讨论】:

  • 好吧,您能否也发布您的登录方法,并提供有关您的确切交互步骤的更多详细信息(即,表单提交 -> 登录页面(重定向?) -> 注销(重定向)-> 返回历史记录-> 刷新)?所以基本上我很好奇你是否可能通过点击刷新来重复登录过程,在这种情况下,登录后的重定向应该会有所帮助。
  • aahh,您正在加载会话库吗?由于重定向,任何此类错误都可能被隐藏。
  • 我正在自动加载会话库

标签: php codeigniter session logout


【解决方案1】:
public function Logout()
    {
        $this->session->sess_destroy();
        redirect('login');
    }
/** Here ('login') is controller class .
 In view ('logout-page'):-**/

<a href="home/logout">Logout</a>

【讨论】:

    【解决方案2】:

    试着像这样简单

    function logout()
    {
        $user_data = $this->session->all_userdata();
            foreach ($user_data as $key => $value) {
                if ($key != 'session_id' && $key != 'ip_address' && $key != 'user_agent' && $key != 'last_activity') {
                    $this->session->unset_userdata($key);
                }
            }
        $this->session->sess_destroy();
        redirect('default_controller');
    }
    

    【讨论】:

      【解决方案3】:

      不需要使用这条线

      $this->session->sess_destroy();

      【讨论】:

      • 我没听明白 .. 我仍然面临 mylogout 的问题
      猜你喜欢
      • 1970-01-01
      • 2020-06-17
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 2018-04-14
      • 1970-01-01
      相关资源
      最近更新 更多