使用Drupal远程创建新帐户

时间:2009-09-16 23:20:51

标签: php drupal

我正在使用Drupal构建付费订阅网站。在搜索Drupal模块之后,我无法找到任何允许我在用户访问我的登录页面后创建一个新的Drupal帐户,决定他们想要订阅并提供他们有效的信用卡信息。我想在信用卡信息经过验证后,使用新创建的帐户将其重定向到订阅网站。

是否有人熟悉使用Drupal远程创建用户帐户的模块或方法? OpenID是一种可能性,但我想让用户更自由地选择他们的用户名。

2 个答案:

答案 0 :(得分:1)

为什么不通过一些额外的字段和验证功能扩展Drupal的注册表单?

答案 1 :(得分:1)

您可以为用户输入详细信息后创建新用户帐户的函数创建一个钩子,函数或构建xml-rpc接口。

例如,在他们填写的表单上,您可以在表单的_submit中:

formname_sumbit($form, &$form_state) {
 // Do form stuff here

// Now do user_save stuff
$password = user_password();
$mail = $form_state['values']['email_address'];
// Use blank account object as we are creating a new account
$account = array();

$properties = array('name' => 'someusername', 'pass' => $password, 'mail' => $mail, $roles => array('authenticated user', 'some other role'));
$this_user = user_save($account, $properties);

}

这应该照顾创建用户。我不确定如何自动登录,但 global $user; $user = $this_user; 可能有用。我们应该通过user_save函数通过电子邮件通知用户他们的新帐户,但您也可以通过drupal_set_message告知他们。

http://api.drupal.org/api/function/user_save/6