我目前有一个消息传递系统。 我希望这样做,以便当用户收到新消息时,他们会收到警报。也许一个弹出窗口?就像一个消息框说“你有一条新消息”。
我怎么能实现这个目标? 感谢
答案 0 :(得分:2)
你不能在php中真正做到这一点,因为正常使用php意味着没有直接的用户交互。你需要做的是在例如javascript中实现相关的用户交互代码,并对托管php的服务器(使用AJAX或类似的)进行轮询,看看是否应该显示弹出窗口。
答案 1 :(得分:0)
这不仅是一个php问题。您需要创建一个这样的数据库表:
messageID
contents
...
popuped
userID
然后创建一个页面,获取尚未填充的消息计数:
SELECT COUNT(*) AS nr FROM messages WHERE userID = :userID AND popuped = 0
然后在那个集合中突然出现1:
UPDATE messages SET popuped = 1 WHERE userID = :userID
打印nr字段。
然后,对于您网站上的每个页面,您需要制作一个加载该页面的预定ajax请求(例如每20秒)。如果结果高于零,则需要显示用户有消息。
对于ajax请求,请查看mootools javascript框架(或jQuery,Prototype等)的示例。
答案 2 :(得分:0)
您是否正在寻找“实时”消息,就像用户正在执行其他操作时的警报显示一样?或者您正在寻找“静态”消息,如在用户打开页面时显示的警报中?静态方法可以通过服务器端的php实现。实时方法需要采用客户端技术。我建议使用jQuery和jGrowl以及jQuery Timers之类的实时方法。试试这个关于javascript timers here
的问题