2011-10-26 19 views
2

首先不能被檢索,我試圖找到對SO答案,但無法找到任何會具體到我有這個問題。現在

,問題如下:

  1. 我發送一個JSON字符串AJAX到服務器,一切都在同一個領域,同一個服務器
  2. 我解碼JSON字符串,用爆它逗號作爲分隔符,得到一個字符串作爲回報,該字符串保存到$ _SESSION變量
  3. 出於測試目的,我甚至做了$ _SESSION變量權print_r設置之後,我可以看到它被設置
  4. 當我嘗試使用$ _SESSION VA時在不同的頁面上可以翻轉,它不再存在。 $ _SESSION可以被訪問,但它只是不存在的變量。

這裏是最好的部分:

它的工作原理,如果我把sleep(1)設置$ _SESSION變量之前或做任何事情需要很長的時間來執行

+1

你調用session_start在第二頁? – Headshota

+0

是的,我有。這就是我的意思,當我說,$ _SESSION可以在第二頁上進行檢索,但它不包含一個變量我設置 –

+0

怎麼樣session_write_close第一頁上設置$ _SESSION右後()? – ariefbayu

回答

0

看起來好像你的問題在您的會話寫入處理函數的寫入函數中。 SQL語句看起來有點奇怪:

嘗試:

Core::Database()->query_execute("REPLACE INTO sessions VALUES (" . 
           Core::Database()->query_escape($id) . "'," . 
           time() . ",'" . 
           data = '" . Core::Database()->query_escape($data) . "')"); 

代替:

Core::Database()->query_execute("REPLACE INTO sessions SET 
             id = '" . Core::Database()->query_escape($id) . "', 
             lastaccess = '" . time() . "', 
             data = '" . Core::Database()->query_escape($data) . "'"); 

基本上使用價值與更換,而不是SET。

+0

這沒有幫助,所以問題必須在別的地方。我目前正在測試整個網站,看看我是否需要一個自定義會話處理程序。 –