2012-11-12 205 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'; –