2

Drupal 7(Panelを手動で使用するのではなく)コードを使用して新しいユーザーを作成する必要があります。

私がグーグルで検索したこのサンプルコードのチャンクでテストすると、Drupalで次のようになります。

$form_state = array();
$form_state['values']['name'] = 'robo-user';
$form_state['values']['mail'] = 'robouser@example.com';
$form_state['values']['pass']['pass1'] = 'password';
$form_state['values']['pass']['pass2'] = 'password';
$form_state['values']['op'] = t('Create new account');
drupal_execute('user_register', $form_state);

それを示しています:Fatal error: Call to undefined function drupal_execute() in ......

どうすればそれを機能させることができますか、または上記のような他の簡単な方法はありますか?

4

2 に答える 2

5

これを試してください。これは、ユーザー登録の動作を模倣するのではなく、プログラムで実際に処理します。

$account->is_new = TRUE;
$account->status = TRUE;

$edit['name'] = $name;
$edit['mail'] = $mail;
$edit['status'] = 1;
$edit['init'] = $name;

$newuser = user_save($account, $edit);

//send email if you want
_user_mail_notify('register_no_approval_required', $newuser);
于 2012-07-02T14:36:28.727 に答える
3

見つけたサンプルコードは、Drupal6用で古いものです。Drupal 7でdrupal_execute()名前が変更され、フォームはになりました。drupal_form_submit()user_register_form

于 2012-07-03T18:23:11.363 に答える