2012-02-12 48 views
0

我想爲遊戲製作倒數計時器。問題是,當用戶移動到另一個頁面時,倒計時無法繼續剩餘的時間。我試圖設置一個cookie和會話,但我不知道它。Cookie或Javascript

+1

你有任何示例代碼指向我們的方向?這裏有一個倒計時腳本,可以爲你工作 - http://keith-wood.name/countdown.html – tftd 2012-02-12 18:21:00

+0

這裏有一個很好的鏈接,以cookies開頭:http://www.quirksmode.org/js/cookies。 html結合這與以前的評論,你應該很好去! – alfasin 2012-02-12 18:32:33

+0

我沒有示例代碼...但我已經想通了另一種出路..謝謝所有... – 2012-02-13 15:14:09

回答

2

Cookie隨每個HTTP請求來回發送,因此應避免存儲不必要的變量。

要在服務器端維護定時器,會話是最佳選擇。它會自動處理cookie業務,僅創建最小的cookie開銷以跟蹤會話。會話變量位於服務器上,並通過唯一的cookie連接到HTTP請求。

關於你的倒數計時器:由於你不能保持服務器上運行的功能來保持翻轉位,所以最好的辦法是跟蹤結束時間。

要在PHP中啓動會話,請使用session_start()。然後將您的值存儲在$_SESSION[]數組中,並且它們將在請求中持續存在。這裏有一個例子:

<?php 
session_start(); 
if (!isset($_SESSION['endTime'])) 
{ 
    $_SESSION['endTime'] = time() + 60; // end time is 60 seconds from now 
    echo "Started a new timer" 
} 
else if ($_SESSION['endTime'] > time()) 
{ 
    echo "Time left: " + ($_SESSION['endTime'] - time()); 
} 
else 
{ 
    echo "Time is up."; 
} 
+0

我可能會建議您的代碼更正應該沒有!在第二個如果它應該是其他如果($ _SESSION ['endTime']>時間()) 時間 – 2012-02-19 19:36:44

+0

你是對的;我修復了錯字。謝謝! – dragon 2012-02-21 15:42:09