允许访客和网站成员查看谁在线/登录使用AJAX,PHP / PDO,CSS,HTML

allowing guests and members of site to see who is online/logged in using ajax, php/pdo, css, html

本文关键字:登录 AJAX 在线 CSS PDO PHP HTML 访客 许访客 成员 网站      更新时间:2023-09-26

我在网上搜索了所有内容,但找不到解决方案。 我没有 AJAX 的经验,但知道执行此功能需要它,因为我相信它比仅使用纯 javascript 更好。

我有一个在我的网站上注册的成员列表,列表位于一个单独的页面上 ->每个成员的列表中,要么有一个绿点(表示成员是否在线),要么用户离线(灰点显示)。 我目前仅使用css和html将其作为占位符。 <online /><offline />几乎就像<span>标签一样位于<h2>标签内。 有没有办法自动更新它以实时显示谁实际登录/注销,而无需使用 NodeJS 和/或 SocketIO?

网页如下所示:

<h2>Billy <online title="Online" /></h2> 

如果在线(已登录),<online title="Online" />将在其姓名旁边显示绿点。 如果他们没有登录,html 应如下所示:

<h2>Billy <offline title="Offline" /></h2>

如果脱机(已注销),<offline title="Offline" />将在其名称旁边显示灰色点。

就像我也提到的那样,我没有 AJAX 的经验,但我很确定我需要仅针对本节执行自动更新/刷新时间 - 所以不是整个页面......而且我对PHP有点熟悉,所以我会使用SESSION_[ID]进行查询,以查看/收集有关谁登录和谁未登录的信息。

如果有人能帮忙,我将不胜感激,我已经在寻找了几天如何实现这一目标,但找不到任何东西......

我目前拥有的演示:http://jsfiddle.net/tZpk6/

虽然我并不全是 JS 的花哨,但这样做的基础知识是简单地使用某人登录或执行操作的最新时间更新数据库中的表——然后当你显示有关用户的信息时,您只需查询该表 - 任何在过去五到十分钟内有某种活动的人都被视为"在线" - 和其他......其实不然。

您的脚本不能真正使用会话 ID - 因为它们是唯一的,并且仅对运行代码的用户可见。我的意思是,尽管您的网站上可能有十几个用户,所有这些用户都在使用会话变量,但他们无法相互交互。每个用户(我的意思是运行的代码)只能访问自己的会话变量。如果你想让他们能够看到对方,它必须通过一个中间设备来完成,比如数据库,或者一个文件——或者一个持续运行的实际应用程序——用Java或C#等编写,它总是在运行,并从PHP代码传递数据。

所以基本上,虽然你可以应用 AJAX 来不断检查更新,但后台的数据几乎总是通过一个简单的表格完成的,你可以在页面重新加载时实现,或者变得更漂亮一点,并通过页面内运行的脚本定期检查它。