0

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');
    }

しかし、解決策が見つかりません....

4

4 に答える 4

0

plzで指定できますか...詳細戻るボタンを押すと前のページに移動します。前のページはホームページである場合とそうでない場合があります...ユーザーをリダイレクトする簡単な方法は次のとおりです。

redirect(http:// localhost / .....目的のURL);

ユーザーがログインした後、ユーザーを前のページにリダイレクトしたいという問題がありましたが、問題は、前のページがログインフォームであり、ユーザーがログインフォームにアクセスするために使用したページではないことでした。

解決策私はセッションに目的のページアドレスを追加しました

$ this-> session-> set_userdata('redirect'、current_url());

ログイン後、ユーザーをリダイレクトしました

$ redirect = $ this-> session-> userdata('redirect');
redirect($ redirect);

于 2012-07-17T05:14:39.003 に答える
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'); 
      }
   }
于 2014-10-31T10:53:29.387 に答える
0

戻るボタンを使用するとphpが実行されないため、この問題はおそらくjavascriptで解決されます。

ログインしているかどうかを単純にチェックするページ読み込みごとに ajax を実行し、ログインしていない場合はそれに応じてリダイレクトします。

または、ログアウトボタンをクリックするときに、このようにすることもできます。

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

すべてのブラウザーがそれをサポートしているかどうかは完全にはわかりませんが、理論的には、新しいタブを開き、現在のタブを閉じて、「戻る」の可能性を取り除きます。

于 2012-07-17T07:28:33.167 に答える
0

次のメタタグを使用してキャッシュを制御できます。

<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

于 2012-07-17T08:08:06.287 に答える