新消息弹出窗口

时间:2010-06-06 22:54:59

标签: php

我目前有一个消息传递系统。 我希望这样做,以便当用户收到新消息时,他们会收到警报。也许一个弹出窗口?就像一个消息框说“你有一条新消息”。

我怎么能实现这个目标? 感谢

3 个答案:

答案 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实现。实时方法需要采用客户端技术。我建议使用jQueryjGrowl以及jQuery Timers之类的实时方法。试试这个关于javascript timers here

的问题