问题描述
|
我有一个大问题:
用户登录,然后会话打开。
之后,他单击按钮(以表单形式),该按钮的操作为\“ example.PHP \”。
这个example.PHP应该使MysqL数据库中的一条记录增加1。
如何写这个“ example.PHP”?
请帮忙。
编辑:
抱歉,我没有问过我应该问什么。
主要问题:
用户单击按钮后,example.PHP脚本应在指定的时间(例如600秒)后执行。
另一个问题是用户可以单击按钮并注销,尽管如此,example.PHP应该在600秒后执行。
编辑(18:48):
好的,我已经阅读了您的所有建议,但是对如何使所有这些东西协同工作一无所知。
我输入了type = \“ submit \”和action = \“ example.PHP \”,制作了一个form.PHP。
我想要:
1.启动一个JavaScript计时器;
2.在一段时间后,在变量的前面指定的时间里增加数据库中的值。
请,如果有可能,请给我举一个例子。
解决方法
在“ 0”中执行SQL:
UPDATE table SET field = field + 1;
您需要更多信息吗?
编辑:
我认为没有其他方法可以像工作机制一样。用户调用“ 0”时,会将当前时间戳+ 600秒的新作业添加到数据库中。
同时应该运行一些作业执行程序,该作业执行程序将从数据库中收集所有时间戳设置为“ 3”的作业。
如果它会记录,请调用指定的代码段,并删除/标记为完成该作业。
,您可以使用sleep延迟执行代码
例:
<?php
echo \'Script Start: \'.date(\'h:i:s\') . \'<br>\';
sleep(5); // delay in seconds (here 5)
echo \'Script Ende: \'.date(\'h:i:s\') . \'<br>\';
?>
我不知道您尝试做的事是否完全合理,但您的5英镑看起来像:
<?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);
}
?>
仅在单击submit_button的情况下,此example.php才会更新值,而仅在URL example.php中键入则不会更新该值。
,您可以通过多种方式执行此操作...
如前所述,有睡眠方法。
您可能有一份工作-即在工作清单中添加一些内容,并定期进行cronjob检查,看看是否到期。
您可以使用JavaScript计时器在x秒后执行。