PHP 管理员/用户操作检测


PHP admin / user action detection

我有一个php/codeigniter应用程序函数来实现以下场景:

  1. 有两个用户区域:管理员和成员区域
  2. 用户下订单
  3. 只有"登录"的管理员用户才能在提交时检测到订单已经下达。(记住管理员没有互动)

我想过每隔几分钟检查一次 cron 工作,但必须有另一种方法 - 也许有人可以在这里提供帮助 - 谢谢。

如果您的用户以管理员身份登录,我将通过触发对 CI 控制器操作的 AJAX 调用来实现上述内容,该操作将获取过去 X 分钟内创建的所有订单。我会让它可扩展 - 所以基本上,你发送一个较低的阈值和一个上限时间戳,这允许您在特定时间戳中检索订单。模型函数的一个示例是:

public function retrieveBetweenThreshold($lowerThreshold, $upperThreshold) {
    $this->db->where('created_at > ', $lowerThreshold)
    $this->db->where('created_at < ', $upperThreshold)
    return $this->db->get('order')->result_array();
}

作为一个额外的因素,我会以这种方式实现你的想法 - 尝试在管理员注销时存储他们的签名日期(非常简单)或关闭窗口时(jQuery unload() 方法:http://api.jquery.com/unload/)。

当管理员登录时,使用当前时间戳和管理员的签核日期触发 AJAX 请求,以便检索在签核时所做的条目数,然后每 X 分钟继续执行一次常规 AJAX 调用。

更新:对于Ajax Push的概念,这是你似乎想要的,看看:http://ape-project.org/