我创建了一个适用于不同会话的网站,每个用户都有自己的页面在mydomain.com/user。我想知道,如果一个用户从他的帐户登录并点击一个按钮,它可能会在按钮指定用户的仪表板上显示一个HTML BOX?
当目标用户登录时,他应该可以从他的帐户中看到该框。
我会在控制台上指定该框应该出现在按钮中的用户名。
说 - 我有4个名为1b,2b,3b,4b的按钮。
如果用户点击1b,它应该在用户a的仪表板上显示一个框。如果他点击b2,它应该在dashbaord或用户b上显示一个框,依此类推......
这可能吗?这就像Facebook的即时好友请求功能。如果是的话,你们可以给一些提示吗。
谢谢
答案 0 :(得分:4)
要做这样的事情,您需要一种方法来存储要向用户显示的消息(框)(使用与用户关联的消息的数据库是最简单的)。按下按钮的操作会在那里添加数据。 可以使用POST方法或通过Ajax查询通过简单的表单完成此操作。
然后,您可以在用户登录或刷新他/她的信息中心时检查用户是否有新消息。您只需要检查数据库,获取消息并将其删除(或将布尔值“received”设置为true)。这是纯PHP而不是即时(仅在登录或页面刷新时)。 使用此技术,您可以在将块发送到客户端之前将其插入HTML中。
最后,如果您想要即时通知,您应该准备一个javascript来定期查询新邮件。在服务器端,您有一个PHP脚本查看数据库并返回消息数据。 使用这种技术,您可以发送没有块的页面,并且您有另一个请求获取块,然后使用javascript将其添加到HTML中。
一些有用的链接:
答案 1 :(得分:0)
纯PHP,不是真的。这种事情是你需要JavaScript的地方。当用户点击b2时,他们会向服务器发出后台请求,该服务器会记录等待用户b的消息。然后,您需要定期请求从用户b的浏览器中检出,以查看是否有新消息可用。如果是,请将该框显示给用户。
答案 2 :(得分:0)
是的,有可能这样做。
例如,您可以创建一个表,作为该类消息的“缓冲区”。 仪表板或用户登录的任何页面都可能有一个小的ajax脚本,可以不时检查该表,并为登录用户提供消息。