安排警报通知系统php

时间:2013-12-04 06:50:22

标签: php mysql

我需要一些关于以下警报的实现的帮助。这是程序的流程,用户登录到系统,然后他们可以单击超链接创建计划,然后从那里他们可以使用表单创建计划。之后,用户可以选择启动他们创建的计划,并可以为其分配时间范围。例如,如果用户将计划分配到下午2点运行,系统将弹出一个通知,并通知用户在下午2点之前大约15分钟运行此计划。

我想知道在php中实现这个的方法是什么,如果可能的话,我可以在网站上使用任何参考吗?我试图找到,但显然大多数脚本都是付费等。

3 个答案:

答案 0 :(得分:0)

我认为你正在寻找调度程序的东西,在php中这样做 你可以使用scheduler用于windows os cron job基于*nix的操作系统

答案 1 :(得分:0)

是的,这个问题的答案与CRON工作有很大关系。看看这个答案

Execute Query on a Specific Date and Time

您需要编写一个PHP脚本来扫描数据库并查看应该收到通知的用户(即他们的截止日期已到达)。在调度程序中运行此脚本(可能每1小时一次),它将为您带来魔力。祝你的通知好运:))

答案 2 :(得分:0)

如果您只通过网站上的弹出窗口通知用户,则不需要任何cron作业,但是,如果您想发送电子邮件,则需要cronjob。

  1. 您必须存储用户计划(可能在db表中)
  2. 当用户登录php时,应检查该用户的日程表中是否有任务到期:如果是则显示弹出窗口。
  3. 您需要创建一个ajax调用(具有用户ID),每分钟调用一个特定的php(比如ajax.php)文件。你可以用jquery来帮助自己。
  4. ajax.php应检查过去是否有任务到期。如果是,则返回作业详细信息(如json或html,您选择),否则它只返回没有作业。
  5. 当调用ajax代码从ajax.php收到答案时,如果答案是没有作业或显示一个弹出窗口,其中包含从ajax.php收到的作业详细信息,则它什么都不做。
  6. 用户可以解除呼叫(从日程表数据库表中删除)暂停或重新安排它(更新日程表数据库表中的截止日期)。
  7. 不要忘记安全性,尤其是在ajax.php中:它必须检查用户是否已登录。
  8. 只有当您想通过电子邮件提示未登录的用户时,您才需要设置一个cron作业,它将定期ping ajax.php文件。