Php 如何在指定时间后运行代码?

Php 如何在指定时间后运行代码?,php,Php,我有一个大问题: 用户登录后,会话将打开。 之后,他点击一个按钮(在表单中),其动作是“example.php”。 php应该将MySQL数据库中的一条记录增加1 如何编写这个“example.php”? 请帮忙 编辑: 对不起,我没问我该问什么 主要问题: 用户单击按钮后,example.php脚本应在指定时间后执行,例如600秒 另一个问题是用户可以单击按钮并注销,尽管如此,example.php应该在600秒后执行 编辑(18:48): 好的,我已经读了你所有的建议,但是我不知道如何使所有

我有一个大问题:

用户登录后,会话将打开。 之后,他点击一个按钮(在表单中),其动作是“example.php”。 php应该将MySQL数据库中的一条记录增加1

如何编写这个“example.php”? 请帮忙

编辑:
对不起,我没问我该问什么

主要问题:

用户单击按钮后,example.php脚本应在指定时间后执行,例如600秒

另一个问题是用户可以单击按钮并注销,尽管如此,example.php应该在600秒后执行

编辑(18:48): 好的,我已经读了你所有的建议,但是我不知道如何使所有这些东西一起工作

我制作了一个form.php,输入type=“submit”和action=“example.php”。 我想: 1.启动javascript定时器; 2.在变量前面指定的时间之后增加数据库中的值


如果可能的话,请给我一个例子,如何做到这一点。

example.php
执行SQL:

UPDATE table SET field = field + 1;
你需要更多的信息吗

编辑:

我认为没有其他方式像就业机制。当用户调用
example.php
时,将使用当前时间戳+600秒向数据库添加新作业


并行应该运行一些作业执行器,它将从数据库收集时间戳设置为
timestamp的所有作业。您可以使用

例如:

<?php
    echo 'Script Start: '.date('h:i:s') . '<br>';
    sleep(5);  // delay in seconds (here 5)
    echo 'Script Ende: '.date('h:i:s') . '<br>';
?>

有几种方法可以做到这一点。。。
如前所述,还有睡眠法。
你可以有一份工作,也就是说,在工作列表中添加一些东西,让一个cronjob经常检查一下,看看它是否到期。

您可以使用javascript计时器在x秒后执行。

对不起,我没有问我应该问什么。然后编辑并澄清您的问题,以便我可以帮助您,countryman;)谢谢hsz,谢谢你的回复,我理解了这个问题。但即使如此,我也不知道如何编写代码:(你能解释一下你的问题标题的含义吗?当你关闭一个实现了
sleep
的站点时,它将停止执行该脚本。
ignore\u user\u abort()
session\u write\u close()
(如果OP使用这种会话)是OP应该研究的其他功能。
<?php
    sleep(600);  // delay in seconds
    // the code to be executed delayed here
?>
<?php
if( isset($_POST['submit_button']) ) {

    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

    $sql = 'UPDATE table SET counter_column = counter_column + 1'; // WHERE table_name_id =' . intval($id);
    mysql_query($sql, $link);
}
?>