跨多个页面工作的计时器


Timer that works across several pages

我目前正在进行一个测验项目,我想为它添加一个计时器。我有一个索引页,用户输入姓名,年龄和性别,并按下开始,将页面更改为第一个问题所在的下一个页面。我想要定时器开始时,按下开始。

做完问题后,当最后一个问题被回答时,我希望计时器停止并获得已经过的时间,并可能将其保存在一个变量中,我可以使用它来计算基于答案和经过的时间的分数。

如果你能给我一个链接,甚至给我一个直接的例子,那就太好了。

在所有页面中,我都将答案保存在SESSION变量中。

tl;dr -我需要一个定时器,开始对问题1和问题4停止,所有的问题都在不同的。php页面。

您可以使用$_SESSION功能跨页面保存信息。

当用户像这样开始测试时,你要做的是节省时间:

$_SESSION['start_time'] = time();

最后,像这样计算当前时间和他开始的时间:

$time_passed = time() - $_SESSION['start_time'];

如果你愿意,你可以这样显示:

echo date('HH:ii', $time_passed);

最简单的方法是在会话中存储一个开始时间变量。在测试结束时,比较开始时间和结束时间,计算出回答测试所花费的总时间。

当用户单击开始时,您如何设置会话:

$_SESSION['timer'] = time();

那么当用户想要提交问题时,或者在最后一页点击发送问题按钮时,你可以简单地得到当前时间();并与$_SESSION['timer'];比较。

$diff = time() - $_SESSION['timer'];