开发者

Silently create a user account when another form is submitted

开发者 https://www.devze.com 2023-01-13 14:07 出处:网络
I have a form created from another module. I want to add 2 fields to that form: 1. email, 2. pass开发者_开发知识库word. I think I can do this with hook_form_alter. Then I would like to create a user a

I have a form created from another module. I want to add 2 fields to that form: 1. email, 2. pass开发者_开发知识库word. I think I can do this with hook_form_alter. Then I would like to create a user account and log the user in when the submit button is clicked, then go ahead and execute the action defined by the form.

The original form doesn't have a #submit property...it just has a #action property.

I add the #submit property like this: $form['#submit'] = array('accesscustom_submit');

but accesscustom_submit doesn't seem to be getting called. I think the form is just getting redirected to the #action url that's already defined. Any ideas?


Are you trying to edit the comment form? $form['#action'] is a pretty rare property ... the comment form is the only one I can think of that uses it.

In any case, you can create an account pretty easily by settings up a user array ($account = array('name' => $username, 'pass' => $pass)) and sending it to user_save. See http://api.drupal.org/api/function/user_save/6 for more details.

Once the account is created, you can call user_external_login to log them in (http://api.drupal.org/api/function/user_external_login/6)

0

精彩评论

暂无评论...
验证码 换一张
取 消