无法检索外部页面(moodle)的用户ID

无法检索外部页面(moodle)的用户ID,moodle,Moodle,我在moodle中有一个外部页面,我想在页面中使用userid 该页面有一个指向moodle配置的链接,这是我被告知要做的,但它就是不起作用 你知道我还需要做什么吗 谢谢 假设userid是指当前用户id,那么可以检索当前用户id的页面的最小方法是: <?php require_once(__DIR__ . '/config.php'); // Assuming the page is in the root dir. $PAGE->set_context(context_syst

我在moodle中有一个外部页面,我想在页面中使用userid

该页面有一个指向moodle配置的链接,这是我被告知要做的,但它就是不起作用

你知道我还需要做什么吗


谢谢

假设userid是指当前用户id,那么可以检索当前用户id的页面的最小方法是:

<?php
require_once(__DIR__ . '/config.php'); // Assuming the page is in the root dir.

$PAGE->set_context(context_system::instance());
$PAGE->set_url('/mypage.php');
$PAGE->set_title('My title');
$PAGE->set_heading('My heading');

echo $OUTPUT->header();
echo $USER->id; // Here we go!
echo $OUTPUT->footer();
注意,$USER是一个引导的Moodle全局对象,比如$DB、$PAGE等等,不需要任何类型的实例化


另外,不要忘记当前用户可能没有登录,在这种情况下,$user将是一个来宾用户的表示,其假ID与数据库中的任何用户都不相关。

谢谢Mitxel,这看起来正符合我的需要。我假设页眉检索moodle页眉和页脚?我确实计划为未登录的用户更正一个捕获。我猜将userid传递到sql_fetch_数组中就可以了?@NeilNorris的确,如果您不打算打印普通的Moodle页面,那么就不需要页眉和页脚的输出,也不需要页面设置上下文等等。此外,如果您要使用Moodle表/数据库,我建议您使用Moodle数据操作API(一个高级接口)来使用数据库从数据库读/写,因为一旦您需要配置文件,您就可以立即使用$DB方法和$USER对象,现在开始掌握moodle/php的窍门!非常感谢!