获取所有登录用户

2023-12-29

我想有自己的聊天。 (我无法使用聊天模块,因为我必须对其进行个性化。)我必须检索所有在线用户,但我看不到任何变量。

我只能获取当前登录用户的名称,而无法获取其余登录用户的名称。


您可以通过查询会话表来获取所有登录用户的列表。我假设您使用的是 Drupal 6。

<?php
$result = db_query('SELECT uid FROM {sessions} WHERE uid != 0');
$users = array();
while($user = db_fetch_array($result)) {
  $users[] = user_load($user);
}

该查询排除以下会话uid = 0因为这些是匿名用户。$users是用户对象的数组,如中所述Drupal API 文档 http://api.drupal.org/api/global/user.

如果您已经知道将使用用户对象的哪一部分(例如,仅用户 ID 和名称),则可以通过删除 while 循环中的 user_load() 并向查询添加与 users 表的连接来优化此操作,因为每个 user_load () 进行一项附加查询。以下内容将为您提供登录用户 ID 和名称的列表:

<?php
$result = db_query('SELECT u.uid, u.name FROM {sessions} s INNER JOIN {users} u ON u.uid = s.uid WHERE s.uid != 0');
$users = array();
while($users[] = db_fetch_array($result));

由于登录用户永远不会超时(您可以无限期地保持登录状态),因此排除一段时间内未访问该网站(即可能一小时不活动)的登录用户可能很有用:

$timestamp = time - 3600; // 3600s is one hour.
$result = db_query('SELECT uid FROM {sessions} WHERE uid != 0 AND timestamp >= %d', $timestamp);

您可能还想限制返回的用户数量。例如,也许您想获取最多 10 个访问该网站的登录用户:

$limit = 10; // Limit to the last 10 users.
$result = db_query_range('SELECT uid FROM {sessions} WHERE uid != 0 ORDER BY timestamp DESC', $timestamp, 0, $limit);

顺便说一句,如果您要使用神奇的数字 http://en.wikipedia.org/wiki/Magic_number_%28programming%29(如 $limit 或 3600s),您应该使用variable_set()、variable_get() 和variable_del() 使它们持久化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取所有登录用户 的相关文章

  • Drupal 迁移 - 现在只有首页可以使用

    我刚刚从 ISP 迁移了 Drupal 站点 到专用的 Linux CentOS 服务器 MySQL 数据库已配置并生成首页 没有错误 问题是只有主页可以使用 所有其他页面均显示 404 页面未找到错误 所以 mysite com 可以工作
  • 如何在drupal中获取某个父级下面的所有菜单项?

    我实际上只需要某个菜单项下面第一级的 mlid 和标题文本 这就是我现在正在做的事情 它有效 但我怀疑可能有一种更 drupal 的方式 Get all the children menu items below Style Guide a
  • Drupal CCK 的复选框

    我是 Drupal 的新人 到目前为止很喜欢 我正在创建 CCK 自定义内容类型 我需要以复选框格式制作便利设施列表 所以我做了 文件类型 Text 小部件类型 复选框 单选按钮 和允许值列表 onsite dining 现场用餐 Meet
  • Drupal 对数据库执行查询

    我希望从我的 drupal 数据库中检索一些 nid 我有一个想要运行的查询 SELECT node nid AS projectnid FROM node node INNER JOIN content type project node
  • 通过 Drupal 执行查询时 Apache Solr 结果不同 – 为什么?

    我正在尝试创建一个自定义搜索界面阿帕奇 索尔 http lucene apache org solr using Drupal http drupal org 我对结果有一些奇怪的问题 当我从 Solr 的内置 Web 界面运行它时 相同的
  • 如何删除用户注册/登录表单?

    我的网站不需要用户登录功能 只有部分用户需要发布新节点 如何删除 Drupal 中的用户注册和登录表单 虽然从技术上讲可以删除登录功能 但您不应该这样做 因为那样您的管理员将永远无法登录该网站 为了删除注册功能 您只需浏览到admin us
  • HTTP 413 请求实体太大

    我目前无法在 drupal 7 7 15 中的自定义文件字段上使用 Drupal FileField Source 远程 url 选项 发布非常大的文件 文件已成功上传到 tmp 目录 但在尝试发布时失败 文件大小为870Mb A 510m
  • 如何在不使用 API 的情况下向 Drupal 6.x 注册用户?

    我们必须有一个通过用 java 编写的 Web 服务可用的 注册 方法 因此从今往后我们无法访问 Drupal API 但我们需要能够成功注册用户 简单地将用户添加到用户表中是行不通的 因为新创建的用户永远无法成功登录 我再次喜欢 Drup
  • 如何为模板设置主题以进行编辑或添加特定内容类型的节点?

    我想为模板设置主题以进行编辑或添加特定内容类型的节点 例如 为了主题化所有内容类型表单 我使用该文件page node add edit tpl php 取决于我需要添加或编辑什么 但我没有找到自定义节点类型的模板名称 例如 产品 我只需要
  • 每次服务器重新启动后 MySQL 都会损坏

    我有一个有点奇怪的问题 我在 Windows 环境中运行 MySQL 和 Drupal 站点 不是出于选择 但这就是事情的结果 大多数时候该站点都很好 但是每次服务器重新启动 从更新或维护 时数据库将损坏 当我登录 MySQL Work b
  • 了解 htaccess 文件匹配代码

    我正在尝试将 drupal 安装在我的 bluehost 托管网站的子目录中 这是一个巨大的痛苦 我认为 htaccess 中的以下几行是问题所在 当我当前导航到 mysite com subdir install php 时 出现 403
  • 使用 drupal_get_form() 传递参数

    这是我使用钩子的自定义模块 假设如果我想将参数传递给 custom1 default form 函数调用 我应该如何传递参数
  • Wordpress 和 Drupal SSO/单点登录

    我已经在 Wordpress 中制作了我的前端网站 这对我来说很好 我想在 Drupal 中创建会员 员工区域 因为它具有更多 Google 文档和 Mediawiki 功能 我想知道我是否可以在两个站点之间共享登录信息 因此如果我在 Wo
  • 在 Drupal 8 中如何在保存节点之前操作值?

    我有一个编辑节点表单 当用户输入新值并单击提交来编辑节点时 我首先想取回旧节点 操作该值 然后保存 更新节点 以下是我的解决方案 但它不起作用 function custom module form node form alter form
  • 仅打印 drupal field_view_field 值

    我使用下面的代码将节点字段打印到特定区域 效果很好 但有一个例子 我只想打印没有标签的字段值 看起来应该很容易 但我遇到了一些麻烦 我很感激任何帮助 因为我对 drupal 还很陌生 谢谢 field view value 需要一个 dis
  • 推送通知 Drupal 模块 - 删除设备(Web 服务)

    我已经开始使用这个模块 并且我已经成功注册设备 按照他的作者发布的说明进行操作 here http www danielhanold com story drupal 7 push notifications how to register
  • drupal 7 将实际内容存储在数据库中的哪里?

    我打开了 drupal 7 的数据库并在表中查找node node revisions and node types并且找不到 drupal 存储实际的位置body节点 内容 的 有人有线索吗 哦 我刚刚找到了 在 D7 中 他们实现了字段
  • Drupal 模板/主题资源或建议?

    我有兴趣为我正在开发的 Drupal 网站创建自定义主题 我是 Drupal 的新手 但是我在处理构建主题 CSS PHP HTML 所需的基本概念方面拥有相当多的经验 所以 我的问题是 我从哪里开始 有创建 Drupal 主题的规范指南吗
  • Drupal:*.api.php 中的 hook_ 函数是否被调用过?

    在 Drupal 7 中 每个核心模块都有一个 api php文件 其中 是模块的名称 例如 modules node node api php modules path path api php 这些文件有什么用 它们包含以以下开头的函数
  • Aegir 3+是否支持D7和D8部署

    我们当前安装的 Aegir 已经足够旧 不支持 D8 安装 希望在某个时候进行切换 这就引出了一个问题 Aegir 3 是否支持 Drupal 7 和 Drupal 8 安装 我们可以在哪里将 D7 测试站点部署到 D7 服务器 并同样从同

随机推荐

  • 如何使用 Ruby 下载图片?

    我想使用 Ruby 下载这张图片 我怎么做 http farm1 static flickr com 92 218926700 ecedc5fef7 o jpg 我使用的是 Mac 操作系统 require open uri open yo
  • 不想在绘图轴上使用科学记数法

    我经常在 R 中使用以下函数绘制各种散点图plot命令 有时两个 有时仅其中一个绘图轴都用科学记数法标记 我不明白 R 何时决定切换到科学记数法 令人惊讶的是 它经常打印出任何理智的人在标记绘图时都不会用科学计数法书写的数字 例如它将 5
  • 如何共享我的 C/C++ 项目并隐藏部分源代码?

    我想将我的用 C C Linux 环境 gcc g 编译器 编写的项目作为共享库 静态库共享 而不实际共享源代码 这样其他用户就可以在不真正了解我的源代码的情况下使用我的项目 谁能告诉我如何将其共享为 so a 格式 假设 我的项目如下所示
  • 是否可以有一个远程sqlite数据库

    可以在服务器上远程存储 sqlite 数据库吗 我正在构建一个 iphone 应用程序 所有教程似乎都将 sqlite 数据库存储在 iphone 本身上 这是不可取的 因为您很快就会遇到并发问题 在这种情况下 我会使用传统的 RDMS 例
  • 有条件地从两个类中的任何一个继承[重复]

    这个问题在这里已经有答案了 可能的重复 在编译时动态生成结构 https stackoverflow com questions 11376149 generating structures dynamically at compile t
  • “记住我”身份验证功能是否总是意味着“不安全”网站?

    我正在考虑实施经典 记住我 复选框在我的网络应用程序上 允许经过身份验证的用户在返回访问我的网站后被 记住 Gmail http www gmail com Facebook http www facebook com其他人也有这种功能 但
  • Eigen Matrix 与 Numpy Array 乘法性能

    I read 在这个问题中 https stackoverflow com questions 10366054 c performance in eigen librar that eigen具有非常好的性能 但是 我尝试比较eigen
  • 类型化数据集的缺点是什么

    我来自一个喜欢构建自己的世界 而不是依赖他人构建的库和框架 逃离这个世界后 我发现了在 Visual Studio 中使用类型化数据集等工具的乐趣和轻松 那么除了失去灵活性之外 你还失去了什么 是否存在性能因素 忽略 procs 与动态 s
  • MVC 控制器操作参数为空

    我有控制器名称 District 和操作名称 Incharges 但我希望 URL 是这样的 带有一些参数的操作名称 www example com district incharges aaa www example com distri
  • Javascript无符号短到有符号短

    我有以下代码 var v 0xFF 0xFF alert v 0 lt lt 8 v 1 并警告 65535 最大空头值 如何将此字节数组视为有符号短整型 并获取该数组的有符号值 假设高位为符号 var sign v 0 1 lt lt 7
  • 如何自定义 JQPlot 周围的黑色边框

    如何在 JQPlot 中自定义图表周围的黑色边框 我广泛搜索了 CSS 文件 但没有找到任何内容 UPDATE 如果您不明白我的意思 请看这张图片 http img339 imageshack us img339 5796 jqplot p
  • 支持多种TLS协议的HttpClient

    我们正在编写一个必须使用 HTTPS 与一些服务器通信的应用程序 它需要与 AWS 使用 AWS 库 以及我们使用 TLS 1 2 的一些内部服务进行通信 我首先将 HttpClient 更改为使用 TLS 1 2 SSLContext p
  • 我对 PHP 会话的理解是否正确?

    我一直对会话内部如何工作很感兴趣 但我对 C 知之甚少 并且不确定在 PHP 源代码中哪里可以找到这一点 这是我目前对会话的理解 当您启动会话时 用户会被分配一个存储在 cookie 中的会话 ID 保存会话数据时 通过 SESSION 它
  • PHP 文件上传类型检查

    好的 这是我上传文件的代码 ext whitelist array pdf doc doc mkv mp4 mpg mpeg avi flv wma ogg if in array ext ext whitelist uniqid file
  • Firebase 托管应用引擎 URL 的 Access-Control-Allow-Origin

    我在 Firebase 托管上托管一个单页应用程序 我需要允许对应用程序引擎的跨域请求 应用程序托管在project id firebaseapp com 上 应用程序引擎服务托管在project id appspot com 上 我把部署
  • 如何用RadWindow替换警报消息框

    My Code
  • 在 Obj-C 中获取 AppleScript 返回值

    我在 Obj C cocoa 项目中使用一些 AppleScript 来控制 QuickTime 播放器 播放 暂停 停止 快进和快退等 取得了巨大成功 尽管我对 AppleScript 的了解非常有限 然而 我最想要的是电影的 当前时间
  • R:在循环内定义函数

    在循环中定义多个函数 par lt 1 2 parameters for functions qF lt list list I will write the functions into for i in 1 2 qF i lt func
  • 使用 CSS 将顶部和底部边框添加到一组选定元素

    所以我有一个搜索结果网格 这些结果是可选择的 当它们被选择时 我添加class selected 给他们 可以有多组结果 通过命令 按住 Ctrl 键单击行来完成 我所说的结果组是指选择的连续元素 我想要做的是 仅向任何给定的选定结果组的第
  • 获取所有登录用户

    我想有自己的聊天 我无法使用聊天模块 因为我必须对其进行个性化 我必须检索所有在线用户 但我看不到任何变量 我只能获取当前登录用户的名称 而无法获取其余登录用户的名称 您可以通过查询会话表来获取所有登录用户的列表 我假设您使用的是 Drup