2010-06-06 147 views
1

我目前有一个消息系统。 我期待这样做,当用户接收到新消息时,他们会收到警报。也许弹出一个?就像一个消息框中说“你有一条新消息”。弹出新消息

我怎么能做到这一点? 谢谢

回答

2

你不能在php中真正做到这一点,因为正常使用的PHP意味着没有直接的用户交互。你需要做的是在javascript中实现相关的用户交互代码,并且对托管php的服务器进行轮询(使用AJAX或类似的方式),以查看是否应该显示一个弹出窗口。

0

这不仅是一个PHP的问题。你需要做一个数据库表是这样的:

messageID 
contents 
... 
popuped 
userID 

然后做一个页面谁得到谁尚未popuped消息的计数:

SELECT COUNT(*) AS nr FROM messages WHERE userID = :userID AND popuped = 0 

这一套popuped到1后:

UPDATE messages SET popuped = 1 WHERE userID = :userID 

并打印nr字段。

然后,对于您网站上的每个页面,您需要制定一个预定的ajax请求(例如每20秒)加载该页面。如果结果高于零,则需要显示用户有消息。

对于Ajax请求采取的mootools的javascript框架看,例如(或jQuery的,原型等)

0

您在显示警告寻找一个“活”的消息,如当用户做其他事情?或者你正在寻找一个'静态'消息,就像用户打开页面时显示的警告一样?静态方法可以通过服务器端的php来实现。实时方法将需要采用客户端技术。我建议使用jQueryjGrowl以及类似jQuery Timers的实时方法。试试这个关于javascript timers here的问题