试图使用另一个控制器杀死一个codeigniter会话

时间:2014-09-13 02:59:46

标签: php codeigniter session

处理基于CodeIgniter的项目。

在我的用户菜单中,我使用代码

    <?php   if (isset($username))
        echo '<li class="right" style="float: right;"><a href="'.site_url().'logout/">Logout</a></li>
        '; ?>   
如果设置了用户名变量,

会显示导致注销按钮出现。

这会将它们带到logout.php控制器,其内容如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Logout extends CI_Controller {

    /**
     * Index Page for this controller.
     */
    public function index() {
        if (isset($username)) {
        $this->session->sess_destroy();
        redirect(site_url() . 'login/'); exit();
        }

    }
}

/* End of file login.php */
/* Location: ./application/controllers/logout.php */

目前的问题是,当我单击注销按钮时,注销控制器会加载,并保持空白页面。它不会重定向回登录页面。

我也试过

redirect(site_url()); exit();

编辑:

这不完全是我想到的修复,但它是有效的: 到login.php控制器,我在索引函数中添加了行:

if(isset($_POST['logout'])) {
        $logout = $this->input->post("logout");
        if ($logout == 'logout') 
            $this->session->sess_destroy();
    }

然后,我改变了我的用户栏:

<?php   if (isset($username))
        echo '<form id="logout" action="'.site_url().'login/" method="post">
        <input id="logout" name="logout" type="hidden" value="logout"/>
        <input id="l_submit" name="L_submit" type="submit" value="logout" />
            </form>

        '; ?>
好的,所以它的功能就是这样,但我不想要一个按钮;我希望它能够将我的CSS与

  • 项匹配。

  • 0 个答案:

    没有答案