我有一個PHP代碼點火器上寫的程序需要你的幫助!已經嘗試了3周!Codeigniter無法刷新頁面會話銷燬後,直接
我htaccess的國防部重寫,使http://www.sampleurl.com/controllername代替http://www.sampleurl.com/index.php/controllername
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
ErrorDocument 404 /index.php
</IfModule>
我有儀表板控制器(目前用於測試會話。)
public function index()
{
$is_logged_in = $this->session->userdata('fb_session');
$data = array(
'fb_data' => $is_logged_in,
);
if (!isset($is_logged_in) || $is_logged_in != true){
redirect('/error');
}
}
下面是功能假設殺死當前會話並重定向到儀表板頁面。
$('#logoutbtn').click(function(){
$.ajax({
type:"POST",
url: "/fbcontroller/killsession",
datatype: "json",
success: function(){
alert("Logout");
}
});
});
public function killsession(){
$this->session->sess_destroy();
redirect('/dashboard');
}
問題1:當我從1控制器中的函數重定向到另一個控制器時,重定向在此處失敗。而不是指向儀表板,螢火蟲顯示404錯誤,頁面未找到。在響應中,它顯示/錯誤頁面的所有HTML代碼。這是否意味着重定向的作用?如果是,爲什麼它不顯示在瀏覽器上?
問題2:會話被銷燬,但登錄頁面會保留,即使我刷新(F5)。
我懷疑它是導致這些問題的htaccess的。 –
有關您的信息,session_destroy();通過銷燬會話解決了問題,當我執行F5刷新時,它將用戶註銷。但是,重定向後會話在那裏很奇怪。 –