gpt4 book ai didi

javascript - PHP 计时器等待 30 秒然后运行命令

转载 作者:行者123 更新时间:2023-11-28 04:01:43 29 4
gpt4 key购买 nike

我只是在寻找一个简单的计时器,我可以让我的页面在 30 秒后运行脚本。

想法是用户有 30 秒的时间提交答案,否则页面将运行脚本并将他们带到“抱歉,太慢”风格的页面。

我找不到正确的 php 函数,但基本上我们是这样的:

<?php

Start timer(30);

when timer runs out:
header("location: tooslow.php");
?>

感谢您的帮助,布雷特

最佳答案

将页面请求时间(来自 time() 函数)存储在 session 变量中,然后在用户发布时从提交时间(同样来自同一函数)中减去请求时间回答。如果差异大于 30,则他们花费的时间太长。

伪代码:

<?php
session_start();
$_SESSION['question_start'] = time();
echo "Question: How long is a piece of string?";
...
?>

然后,将该页面发布到另一个页面,这样做:

<?php
session_start();
$time = time() - $_SESSION['question_start'];
if($time > 30)
{
// fail!
}
...
?>

当然,如果你想让页面自动跳转,你可以使用上面的方法结合这里其他答案中的JavaScript方法之一。但是,JavaScript 本身对用户在时限内解决问题的保证绝对为零,因为您可以禁用 JavaScript。

我个人的建议是根本不使用页面重定向,而是使用 Ajax 来提供交互式界面。本质上,您像往常一样使用 setTimeout 调用,但是当它完成时,它会向用 PHP 编写的检查脚本发出 Ajax 请求。该脚本将实现我上面提供的 session 计时逻辑。如果时间合适,如果他们答对了,脚本会增加他们的分数,然后回答下一个问题,该问题可以显示在页面上。如果时间太长,它会发回下一个问题,但会提示他们花了太长时间。这允许您在浏览器中保留后退/前进按钮的功能。

关于javascript - PHP 计时器等待 30 秒然后运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8942610/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com