2012-07-17 64 views
0

我使用笨,我的問題是相同的How can I redirect to home when user click on back button after logout?Codeigniter:當用戶在註銷後點擊後退按鈕時,如何重定向到家中?

我嘗試下面的代碼在views/header.php並在控制器頂部,但沒有取得進展..!

header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 

我也試過

/* @author: Muhammad Sajid 
    * @name: do_logout 
    */ 
    public function do_logout() 
    { 
     $this->session->sess_destroy(); 
     $this->clearCache(); 
     redirect("login/index/0"); 
    } 

    //+ Jonas Raoni Soares Silva 
    //@ http://jsfromhell.com 
    public function clearCache(){ 
     header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
     header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); 
     header('Cache-Control: no-store, no-cache, must-revalidate'); 
     header('Cache-Control: post-check=0, pre-check=0', false); 
     header('Pragma: no-cache'); 
    } 

,但沒有找到解決辦法....

+0

爲什麼你擔心這個問題?如果你已經讓你的控制器登錄保護頁面(點擊後退按鈕後)將消失(假設你重定向到登錄頁面,如果沒有登錄),只要用戶刷新頁面,如果你知道我的意思。 – TigerTiger 2012-07-17 09:10:10

+0

使用重定向( '','你的地點'); insted重定向(「登錄/索引/ 0」);在路由中, 或http://stackoverflow.com/a/2267257/1568236 用戶base_url – 2013-05-15 07:31:31

回答

0

你能PLZ指定...更多,因爲後退按鈕只會帶你到前一頁這可能是也可能不是主頁... 重定向用戶的簡單方法可以是

重定向(http:// localhost/.... 。期望的網址);

我曾經有一個問題,我想重新引導用戶回到上一頁後他潛入,但問題是,上一頁是一個登錄表單,而不是用戶用於配置頁面登錄形式

溶液I通過

加入所需的頁地址到會話$這 - >會話級> set_userdata( '重定向',current_url());

,然後通過

$日誌中重定向之後用戶重定向= $這 - >會話級>用戶數據( '重定向');
重定向($ redirect);

+0

請首先了解我的問題,我沒有詢問登錄後重定向。在註銷用戶無法使用瀏覽器BACK按鈕返回到上一個屏幕後,我談到了這個問題。 – 2012-07-17 06:27:58

0

這個問題最有可能用javascript來解決,因爲php在使用後退按鈕時沒有執行。

要麼在每個頁面加載運行ajax,只是檢查您是否登錄,如果沒有,則重定向。

或者你也許可以這樣做,當點擊註銷按鈕。

<script type="text/javascript"> 
    window.open('http://example.com/do_logout'); 
    self.close(); 
</script> 

我不能完全肯定,如果所有的瀏覽器都支持它,但在理論上這將打開一個新標籤,關閉當前和刪除爲此可能要「後退」。

0

您可以控制與meta標籤緩存使用下列內容:

<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT"> 
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 

的詳細信息,請訪問以下鏈接: http://www.i18nguy.com/markup/metatags.html

0

這是爲我工作很好!

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

    class admin extends CI_Controller 
    { 
     public function __construct() 
     { 
      parent::__construct(); 
      $this->no_cache(); 
     } 

     protected function no_cache() 
     { 
      header('Cache-Control: no-store, no-cache, must-revalidate'); 
      header('Cache-Control: post-check=0, pre-check=0',false); 
      header('Pragma: no-cache'); 
     } 
    } 
相關問題