2011-07-08 9 views
1

フォームが提出されたときにDrupal以外のWebサイトにDrupalインストールでユーザーアカウントを作成したいと考えています。 drupalモジュールに含まれていないphpスクリプトにdrupal APIをインクルード(および別の方法で開始)する方法はありますか?私はいくつかのインクルードファイルを "未知の関数"のエラーが出てくるのを続けるようにしようとしましたが、それはcat-and-mouseゲームに変わりました。カスタムWebページでDrupal 6 APIを使用しますか?

は、あなたの助け、 ジェフ

答えて

1

うんありがとうございservices.moduleを使用しています。 DrupalのAPIを提供します。

<?php 

// set some server variables so Drupal doesn't freak out 
$_SERVER['SCRIPT_NAME'] = '/script.php'; 
$_SERVER['SCRIPT_FILENAME'] = '/script.php'; 
$_SERVER['HTTP_HOST'] = 'example.com'; 
$_SERVER['REMOTE_ADDR'] = '127.0.0.1'; 
$_SERVER['REQUEST_METHOD'] = 'POST'; 

// act as the first user 
global $user; 
$user->uid = 1; 

// change to the Drupal directory 
chdir('/path/to/drupal'); 

// Drupal bootstrap throws some errors when run via command line 
// so we tone down error reporting temporarily 
error_reporting(E_ERROR | E_PARSE); 

// run the initial Drupal bootstrap process 
require_once('includes/bootstrap.inc'); 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

// restore error reporting to its normal setting 
error_reporting(E_ALL); 
+0

または:

<?php chdir('/path/to/drupal/'); require_once('includes/bootstrap.inc'); drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

編集:Drupalは(特にドメイン名)に依存していることをコメントパーは、コマンドラインの使用のために、あなたは$_SERVERものを偽装する必要がありそれはうまくいくようですが、現在はPHPスクリプトの出力はdrupalサイトがダウンしているというWebページです。しかし、ブラウザのdrupalサイトを参照すると、それが動作していることが示されます。何か案は?ありがとうございました! –

+0

コマンドラインを使用しようとしていますか?もしそうなら、Drupalが依存している '$ _SERVER'のものを偽装する必要があります。 http://wiki.ceejayoz.com/w/Using_the_Drupal_API_from_the_command_line – ceejayoz

+0

ああ、ありがとう! –

関連する問題