2013-11-23 63 views
0

我想通過外部php文件登錄到drupal。通過外部php文件登錄Drupal的問題

我的測試服務器位於http://develop.dev,以下登錄腳本位於同一個域中的子文件夾中。

/* 
* testlogin.php 
* 
*/ 

define('DRUPAL_ROOT', '/Applications/XAMPP/xamppfiles/htdocs_develop'); 
include_once '../includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

global $user; 
//just a test -> login as admin 
$uid = 1; 

$login_array = array ('name' => $user->name); 
user_login_finalize($login_array); 

echo "user is logged in? ".user_is_logged_in(); 

這個過程似乎工作。我以用戶管理員身份登錄並可以執行drupal函數。

但是,當我在同一瀏覽器中訪問http://develop.dev時,我發現我沒有登錄。這是否與drupal會話有關?我的錯誤是什麼?

謝謝你的提示,羅茲。

回答

0

我想你必須首先加載用戶1,然後將其分配回全局$ user。

$uid = 1; 
$account = user_load($uid); 
global $user; 
$user = $account; 
$login_array = array ('name' => $user->name); 
user_login_finalize($login_array);