0
即時製作一個應用程序(PHP),它將在Drupal安裝的同一服務器和同一網站上運行。想想我試圖做的是獲取用戶的用戶ID,誰目前登錄在Drupal(我從來沒有與Drupal工作過)。我只想要那個ID。Drupal - 在非drupal腳本中獲取用戶標識
有誰知道,我在哪裏可以找到該ID(它是在某處$ _SESSION變量?)
進出口使用的Drupal 6,PHP 5.3。
即時製作一個應用程序(PHP),它將在Drupal安裝的同一服務器和同一網站上運行。想想我試圖做的是獲取用戶的用戶ID,誰目前登錄在Drupal(我從來沒有與Drupal工作過)。我只想要那個ID。Drupal - 在非drupal腳本中獲取用戶標識
有誰知道,我在哪裏可以找到該ID(它是在某處$ _SESSION變量?)
進出口使用的Drupal 6,PHP 5.3。
更新:
對不起,我想我明白你想要的東西,但後重新閱讀你的主題行,我想你想的東西有點不同。你是否想在Drupal文件夾中創建一個類似test.php的php腳本並訪問Drupal用戶ID(基於cookie/session/etc)?爲了做到這一點,你需要首先「引導」Drupal。這是我創建的一個函數,用於爲我創建的維護腳本引導Drupal(7)。
可能有一種「更好」的方式來做到這一點,但這對我來說很有用。
function bootstrapDrupal($cDomain)
{
$cDir = getcwd();
//SETS DRUPAL BASE DIR
define('DRUPAL_ROOT', '/www/dev');
//DRUPAL FAILS TO LOAD SOME FILES IF NOT AT BASE
chdir(DRUPAL_ROOT);
//ATTEMPT TO DECIDE IF PHP IS RUNNING VIA CMDLINE
if (isset($GLOBALS['PHP_SELF']))
{
//WHATEVER SITE YOUR SCRIPT IS FOR. HELPS SET DB.
$_SERVER['HTTP_HOST'] = $cDomain;
//SCRIPT ADDITIONALLY NEEDS TO BE SET FOR THE REDIRECT
$_SERVER['SCRIPT_NAME'] = $GLOBALS['PHP_SELF'];
//FORWARD SLASH IS IMPORTANT
if (substr($_SERVER['SCRIPT_NAME'], 0, 1) != '/')
{
$_SERVER['SCRIPT_NAME'] = '/' . $_SERVER['SCRIPT_NAME'];
}
//NEEDED TO SUPRESS BOOTSTAP ACCESS ERRORS - ANY IP WILL WORK
$_SERVER['REMOTE_ADDR'] = '192.168.0.1';
}
//LOADS DRUPAL BOOTSTRAP CODE
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
//EXECUTES BOOTSTRAP
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
//LOADS DRUPAL COMMON FUNCTIONS
require_once DRUPAL_ROOT . '/includes/common.inc';
//BACK TO STARTING DIRECTORY
chdir($cDir);
}
原來的答案:
在Drupal的,您可以通過訪問用戶ID:
$GLOBALS['user']->uid
或
global $user;
$user->uid
如果所有需要的用戶ID,你可以通過使用DRUPAL_BOOTSTRAP_SESSION而不是FULL(s大約有一段時間)。 – Brian