2011-11-13 5 views
0

codeigniterフレームワークでWebアプリケーションを作成していますが、バージョン2.0.3で作業しています。 Myは、ajaxのリクエストでページを時々更新し、通知を取得します。 私はCodeIgniterのフォーラムを訪問し、CodeIgniterのセッションとAjaxについての質問をし、私が使用したコードのこのスニペットを発見し、図書館やクラスに保存した「My_session.php」Codeigniterのログアウトユーザー

class MY_Session extends CI_Session { 

    /** 
    * Update an existing session 
    * 
    * @access public 
    * @return void 
    */ 
    function sess_update() { 
     // skip the session update if this is an AJAX call! This is a bug in CI; see: 
     // https://github.com/EllisLab/CodeIgniter/issues/154 
     // http://codeigniter.com/forums/viewthread/102456/P15 
     if (!($this->CI->input->is_ajax_request())) { 
      parent::sess_update(); 
     } 
    } 
} 

しかし、これまで私は、これを追加するのでコード私は5分以上ログアウトしないでログインすることができず、まったくログインできないことがあります。 誰も同じような経験をしていますか?

+0

はあなたのサーバーの時間設定ですか? –

+0

@LastRoseStudios時間設定が正しい – MrFoh

+0

あなたのセッションでデータベースを使用していますか? – tgriesser

答えて

0

あなたが長くログインしたままにしたい場合は、あなたのアプリケーションでより多くのそして5分/設定/ config.phpの

+0

そのセット7200秒でない場合は、暗号化されてええ – MrFoh

0

ためsess_expirationを設定しているあなたはis_ajax_requestを評価する際に何が)(どうなりますか?そのコードスニペットに追加:

echo 'AJAX: ' . $this->CI->input->is_ajax_request(); exit; 

をif文が正常に機能しているかどうかを確認します。 falseに戻り、毎回セッションを更新している可能性があります。開始するためのちょうどいいところ:)

+0

二時間は今 – MrFoh

+0

それは「AJAX」を返すこと – MrFoh

+0

チェックを –