2016-01-14 40 views
0

在我的CodeIgniter控制器中,每個Ajax請求都會檢查令牌I Passed。如果有任何事情發生錯了,我寫了一個控制器功能銷燬所有會話,並註銷從CodeIgniter控制器執行Java腳本代碼

'redirect('main/logincontent/load_logout');' 

load_logout功能

功能load_logout() {

echo "<script>var c=confirm('do you want to continue?'); 
if(c==true) 
     { 

     } 
     else 
    {</script>"; 
     $this -> session -> sess_destroy(); 
    echo "<script>window.parent.location.href ='" . base_url() . "'; 
    }</script>"; 
    } 

我試圖把一個確認在功能load_logout()的開頭框。根據確認框結果用戶可以決定是否要destroy session和註銷或stay Online

但它不工作!

任何幫助,將不勝感激。

回答

1

你不需要每次都關閉腳本標籤,試試這個

echo "<script>var c=confirm('do you want to continue?'); 
    if(c==true){}else{"; 
    $this -> session -> sess_destroy(); 
    echo "window.parent.location.href ='" . base_url() . "'; 
    }</script>"; 

,但它不可能從客戶端會話銷燬。你在這裏做的只是在客戶端瀏覽器中打印這些細節。但是$ this - > session - > sess_destroy();在瀏覽器中不起作用,因爲它是服務器代碼。你需要添加一個路由來銷燬會話並調用它。