2013-01-15 10 views
0

我有一個控制器和一個視圖如下所示完美的一段時間,但一些請求後,服務器(即保持重裝每隔一秒),它會在此行代碼點火器認證(坦克認證)無緣無故地註銷我(即超載可能)

if (!$this->tank_auth->is_logged_in()) 

無故失敗了,我不知道天氣是擁擠或...

當我嘗試調試螢火客戶端代碼並在此線上持有一個破發點

$('#buy_reload').load('buy/reload'); //And press f8 every time 

它像迷人的鍋是什麼問題?加載?

ž控制器

class Buy extends CI_Controller 
{ 
function __construct() 
{ 
    parent::__construct(); 

    $this->load->helper('url'); 
    $this->load->library('tank_auth'); 
    $this->load->model(array('tank_auth/users','players','cash','inventory','items','shopping_cart','purchases','processing')); 
} 

function reload() 
{ 
    if (!$this->tank_auth->is_logged_in()) { 
     redirect('/auth/login/'); 
    } else { 
      //do those stuffs 
      } 

} 
} 

ž視圖

<script> 
    setInterval(function() { 
    $('#buy_reload').load('buy/reload'); 
    }, 1 * 1000); 
    </script> 

回答

2

裏面的腳本我有坦克驗證和笨2.1類似的問題。 會話和Ajax調用似乎存在問題。 下面的鏈接將幫助您

http://ellislab.com/forums/viewthread/199753/#962141

http://ellislab.com/forums/viewthread/203821/#951378

的問題是在會話類的sess_update功能,產生X秒後,一個新的session_id。每個頁面都有一個session_id,如果session_id在ajax調用之前失效,那麼調用將失敗。

+0

它不完全與ajax調用只有我看到,但您的鏈接提供了問題的答案和解釋在這裏http://www.hiretheworld.com/blog/tech-blog/codeigniter-session-race-conditions謝謝 – jspeshu