2011-06-30 97 views
1

我需要用戶點擊顯示的東西120秒

我設置會話了

session_start(); 

if(!isset($_SESSION['phonecookie'])){ 
    $_SESSION['phonecookie'] = array("expire"=>time()+60*2); 
} 

則顯示該網站後,顯示上120秒,網站的所有網頁的東西內容我在所有頁面上都使用它。

session_start(); //if not already called with the above statement 

if(isset($_SESSION['phonecookie']['expire'])){ 
    if($_SESSION['phonecookie']['expire'] >= time()){ 
     echo "the content"; 
    } 
} 

爲它不斷變化的,即使我只生成所述PhoneCookie會話值是否合乎理存在所述PhoneCookie會話值的值頁面的刷新一些原因。

+0

是利用對每個請求相同的會話嗎?還是每次都創建一個新的會話?輸出你的sessionId來查看它是否在請求之間改變。 – Phliplip

+0

它每次在我的活動服務器上更改會話,但在本地服務器上它使用相同的會話ID –

+0

然後出現問題,如果會話ID在您的活動服務器上更改,則需要確保它重新使用先前的會話。請閱讀手冊中的[[傳遞會話ID](http://dk2.php.net/manual/en/session.idpassing.php)部分)。 – Phliplip

回答

0

isset()檢查是否存在變量。 $_SESSION的行爲就像一個數組。我會建議使用下列操作之一:

if (!empty($_SESSION['phonecookie']['expire']) {} 

if (array_key_exists('expire', $_SESSION['phonecookie'])) {} 
+2

isset()也適用於數組...檢查文檔中的第二個示例http://php.net/manual/en/function.isset.php – pleasedontbelong

+0

感謝Christian,它仍然在做同樣的事情,但沒有工作預期? –