首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正在尝试获取正在查看的配置文件的用户ID

正在尝试获取正在查看的配置文件的用户ID
EN

Stack Overflow用户
提问于 2013-06-07 01:21:20
回答 1查看 540关注 0票数 0

我正在开发的PHP脚本需要根据当时正在查看的配置文件从数据库中拉出一个字段值。目前,我已经开发了这个脚本,它正在为我运行,除了一个项目。问题是,它显示的值是基于登录的用户配置文件,而不是正在查看的配置文件。例如,假设每个配置文件都有一个标题为profile_key的字段。已登录的用户具有以下值:

profile_key=123

当此用户查看自己的配置文件时,他们会看到以下内容:

profile_key=123

现在,让我们用第二个用户继续这个示例。第二个用户(未登录)的密钥值如下:

profile_key=789

当前,当已登录用户(第一用户)访问未登录用户(第二用户)时,已登录用户将在未登录用户的配置文件中看到以下内容:

profile_key=123

当已登录用户访问未登录用户的配置文件时应显示的键值是为该用户的配置文件设置的值:

profile_key=789

该站点基于Joomla,下面是脚本中的一段代码,其中显示了获取配置文件密钥值的查询:

代码语言:javascript
运行
复制
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Get User ID
$user = JFactory::getUser();
$id = $user->id;
// Select all records from the user profile table where key begins with "custom.".
// Order it by the ordering field.
$query = 'SELECT cb_profilekey FROM #__comprofiler WHERE user_id = ' . $id.'';

正如您所看到的,查询是根据查看页面的用户的id而不是正在查看的用户页面的id来提取值的。我相信这就是我需要调整的地方。感谢您在此请求中抽出时间,任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-07 04:25:38

代码语言:javascript
运行
复制
$user = JFactory::getUser();

这将始终为您提供登录的用户作为对象。您需要获取配置文件的id,比如从request中获取,如下所示。

代码语言:javascript
运行
复制
$id = JFactory::getApplication()->input->getInt('id', 0);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16968330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档