2012-11-12 163 views
1

所以我想单击一个注销链接并结束会话,它似乎并没有工作。注销链接不工作

链路所处的位置: 应用程序 - >则须─>模块 - >的header.php 喜欢这个样子的:

<a href="../admin/logout">Logout</a> 
在管理控制器

我具备的功能:

public function logout() 
{ 
    $this->session->unset_userdata('logged_in'); 
    session_destroy(); 
    redirect('admin', 'refresh'); 
} 

我的行政管理文件如下所示:

$route['admin/(:any)'] = 'admin/view/$1'; 
$route['admin'] = 'admin'; 

Admi n views文件夹位于:views - > admin

问题:当我点击我的注销链接时,它什么都不做。就像在我的管理员中,如果没有会话,它会被重定向到登录屏幕。这有效,但当我注销时,如果它重定向到管理页面,如果没有会话,它将重定向到登录页面为什么没有发生?

回答

0

$route['admin/(:any)'] = 'admin/view/$1';

此代码重定向admin/logoutadmin/view/logout

所以,像你说的,加入$route['admin/logout'] = 'admin/logout';靠近你的路线上应该带你到正确的页面

1

你为什么重定向到管理员注销?只是出于好奇。

试试这个,听起来好像你的链接本身就是问题所在。使用base_url()意味着您不必担心相关网址会根据您在网站中的深度而变得混乱。

<a href="<?php echo base_url();?>admin/logout">Logout</a> 
+0

我可以改变它重定向到登录页面,这更有意义。但我不认为这是问题。我觉得它是试图去看看页面注销,而不是控制器中的功能注销。因为现在链接看起来正确,它给了我一个404错误:“你请求的页面没有找到。” –

+0

将此添加到路由文件使其工作$ route ['admin/logout'] ='admin/logout'; –