Silently create a user account when another form is submitted
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)
精彩评论