【问题标题】:Get moodle current user id externally从外部获取moodle当前用户id
【发布时间】:2013-08-16 22:06:43
【问题描述】:

我的问题很简单。我正在构建一个普通页面,我需要在其中访问 moodle 数据库中的一些数据,例如当前记录的用户 ID、他的消息、发送者...

  • 页面托管在本地。
  • Moodle 托管在其他地方,但我拥有数据库所需的所有信息(用户和密码)。

我想做的是通过cookies或其他方式获取当前登录moodle的用户的消息。

我在几个地方读到了我可以只包含 config.php,然后得到 global $USER,但我想求助于 cookie 会话。

我可以访问邮件,因为我有数据库的登录信息,但我需要知道当前连接的用户,所以我可以检索他/她的邮件。

有没有一种方法可以获取这些信息,而不必直接包含来自 moodle 安装的页面?

谢谢!

编辑:为了更清楚,我需要访问moodle之外的全局$USER(或包含当前登录用户的东西)。我可以访问 moodle 数据库。

【问题讨论】:

  • 您已声明可以访问 Moodle 数据库。你能访问它的文件吗?在这种情况下,萨阿德萨利姆的答案是正确的。如果你不能访问它的文件,你可以创建一个基本文件的副本,这样你就可以包含它们来创建全局 $USER 对象。 Cookie 和会话将具有登录用户的 ID 或令牌。您可以尝试从数据库中获取用户数据并将其写入您自己的数组(或 $USER,如果您想这样命名)。但如果您还打算使用其他 Moodle 特定函数和全局对象,则需要包含 Moodle 文件。

标签: php moodle


【解决方案1】:

您可以为此目的使用 config.php。

<?php
require_once("yourwebsite./config.php") ; //this assumes your php file is in a subdirectory of your      moodle 
require_login(); //Won't do any good to 'get' a username 'til sombody's logged in.

echo $USER->username; 
echo $USER->firstname; // and so on..

?>

来源 Moodle 论坛:https://moodle.org/mod/forum/discuss.php?d=60634https://moodle.org/mod/forum/discuss.php?d=55654&parent=253937

【讨论】:

  • 它对我有用,但只有当我创建的 php 页面位于 moodle 子目录中时。我没有那么努力让它在外面工作,因为这不是我需要的。
  • 如何只使用会话?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-12
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
相关资源
最近更新 更多