2013-08-16 71 views
1

我的問題很簡單。我正在構建一個普通頁面,我需要從一個moodle數據庫訪問一些數據,例如當前登錄的用戶ID,他的消息,發送它的人...獲取moodle當前用戶標識對外

  • 頁面託管在本地。
  • Moodle託管在其他地方,但我擁有數據庫所需的全部信息(用戶和密碼)。

我想要做的是獲取當前用戶通過cookie等登錄到moodle的消息。

我在幾個地方閱讀,我可以只包括config.php,然後得到global $USER,但我想訴諸cookie會話。

我可以訪問郵件,因爲我有登錄信息到數據庫,但我需要知道當前連接的用戶,所以我可以檢索他/她的郵件。

有沒有辦法直接從moodle安裝中獲取這些信息?

謝謝!

編輯:要更清楚了,我需要訪問全球$USER(或包含當前登錄用戶的東西)以外的moodle。我有權訪問moodle數據庫。

+0

你說,你可以訪問Moodle的數據庫。你能訪問它的文件嗎?在這種情況下,Saad Saleem的答案是正確的。 如果你不能訪問它的文件,你可以創建一個基本文件的副本,這樣你可以包含它們來創建全局的$ USER對象。 Cookie和會話將擁有登錄用戶的ID或令牌。您可以嘗試從數據庫中獲取用戶數據,並將其寫入到您自己的數組(或$ USER,如果您想這樣命名)。但是,如果您要使用其他Moodle特定函數和全局對象,則需要包含moodle文件。 – vicenteherrera

回答

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

+0

它爲我工作,但只有當我創建的php頁面在'moodle'子目錄內。我沒有盡力讓它在外面工作,因爲這不是我所需要的。 –

+0

如何只使用會話? – user3663