Drupal 7我需要使用代码创建新用户(而不是手动通过Panel)。
当我使用这一段示例代码进行测试时,我在Drupal中进行了Google搜索:
$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 ......
我如何使其工作或上述任何其他简单方式?
答案 0 :(得分: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);
答案 1 :(得分:3)
您找到的示例代码是针对Drupal 6并且已过期。在Drupal 7中将drupal_execute()
重命名为drupal_form_submit()
,表单现在为user_register_form
。