discuz在线人数的实现原理(Discuz6.1.0)

简介:

1、首页上的“在线会员”,显示的是简略版

2、点击首页上的“在线会员”,去到“在线用户”的详细页,http://yourdomain.com/member.php?action=online

        实现原理:依赖于一个session表,{$tablepre}sessions。

        用户进入论坛(index.php:197行)或者版块首页(forumdisplay.php:207行)会触发一个 updatesession()函数(在include/global.func.php里面定义),还有其他地方也有触发这个函数。这个函数会往 {$tablepre}sessions表里面插入一条新记录(已有记录则更新这条记录),插入的内容包括当“前动作”的代号、当前论坛ID,当前主题 ID。

        首页取在线会员数首页是取$_DCOOKIE['onlineusernum'] 值($_DCOOKIE其实就是$_COOKIE),没有的话再从sessions表里面count(*)一下,还有一些处理总在线人数、游客人数、隐身 人数的逻辑处理,具体的可以看一下index.php 173-240之间的代码;在线用户页(member.php 23行-50行之间),也是也从sessions表里面count(*)一下总在线人数,然后再根据sessions表里面的fid(论坛ID)和 tid(主题ID)左连接forums、threads表取得论坛名称、帖子标题,至于“当前动作”,sessions里面保存的是一个代号,相对应的文 字在templates/default/action.lang.php文件里面“当前动作”是一个全局变量$discuz_action ,在不同页面有不同的值,如在:
index.php     $discuz_action = 1;(浏览论坛首页)
logging.php    $discuz_action = 6;(登录论坛)
viewthread.php  $discuz_action = 3;(浏览帖子)

以上代码是针对DZ6.1版本。



      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/882307,如需转载请自行联系原作者


相关文章
|
2月前
|
存储 弹性计算 固态存储
阿里云服务器租用价格:实例配置、带宽、云盘收费标准与云服务器活动价格参考
对于初次选购阿里云服务器的用户而言,云服务器的收费标准与活动价格是大家最为关注的问题,而在实际选购中,通常都是选择2核4G、4核8G、8核16G,2核8G、4核16G、8核32G,2核16G、4核32G、8核64G这些热门配置。本文为大家整理了阿里云服务器的收费模式,实例与配置收费标准,带宽与云盘收费标准,以及2核4G、4核8G、2核8G、4核16G、8核32G,2核16G等热门配置当下活动价格情况,以供大家参考。
730 20
|
1月前
|
弹性计算 Linux 网络安全
阿里云服务器ECS远程连接的方法汇总(总有一种方式适合你)
阿里云ECS提供多种远程连接方式,推荐使用无需公网IP的Workbench、会话管理等安全便捷工具,支持免配置、免安装访问。传统SSH/RDP需配置公网IP与安全组,建议限制访问IP并修改默认端口。VNC适用于应急排查,无需公网即可通过控制台接入。优先选择高安全性方案,保障实例稳定运行。
|
10月前
如何将WordPress文章中的外链图片自动下载到本地?
在WordPress中使用外链图片可能影响稳定性与加载速度,而手动下载上传又过于繁琐。为此,推荐一款强大的开源插件——**nicen-localize-image**。它可自动将外链图片保存到本地,支持文章发布前、手动发布、定时发布时自动本地化,以及对已发布文章进行批量处理。插件功能丰富、操作简单,有效提升效率,确保图片资源的稳定性和页面性能。
335 3
|
人工智能 前端开发 数据可视化
2024年低代码趋势洞察——企业最看重的功能有哪些
低代码平台正从“可选”工具转变为数字化转型的“必需品”。预计到2024年,全球超70%企业将引入低代码开发工具。其优势包括简化开发流程、提高效率、降低成本,支持可视化开发、多人协作、快速部署等。平台通过五大核心引擎(SQL、功能、模板、图表、切面)驱动高效开发,并结合AI技术提升智能化水平。此外,丰富的插件生态和开源支持保障了灵活性与扩展性,助力企业在复杂业务场景中实现高效运营与决策。
386 14
|
12月前
|
云安全 人工智能 安全
用AI来做云安全是怎样一种体验?阿里云安全AI能力大曝光
用AI来做云安全是怎样一种体验?阿里云安全AI能力大曝光
|
Java
IDEA 报错:org.apache.jasper.JasperException:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri
IDEA 报错:org.apache.jasper.JasperException:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri
3009 0
IDEA 报错:org.apache.jasper.JasperException:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri
|
安全 网络安全 开发者
OpenWRT搭建个人web站点并结合内网穿透实现公网远程访问
OpenWRT搭建个人web站点并结合内网穿透实现公网远程访问
|
编解码 中间件 API
API实现跨平台互操作性
【10月更文挑战第16天】API实现跨平台互操作性
441 2
|
Ubuntu 存储 Linux
蓝易云 - ubuntu cmake离线安装
以上就是在Ubuntu上离线安装CMake的步骤。
936 2
|
人工智能 自然语言处理 测试技术
[译][AI OpenAI-doc] 微调
探索如何通过微调OpenAI模型来定制应用程序,提高文本生成质量,降低成本,并减少延迟。了解微调步骤、模型选择、数据集准备、以及如何使用微调模型。
333 10
[译][AI OpenAI-doc] 微调