我正在尝试为游戏制作倒数计时器。问题是,当用户移动到另一个页面时,倒计时不能继续剩余的时间。我正在尝试设置cookie和会话,但我不知道它。
答案 0 :(得分: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.";
}