[development] How to add user role during registration with custom form

Randy Fay randy at randyfay.com
Fri Feb 26 22:09:14 UTC 2010

Are you familiar with autoassignrole? It's a pretty capable module and may
be useful for you.

In D6, you can use hook_user() and modify the roles at insert time, if you
want to do it yourself.


On Fri, Feb 26, 2010 at 2:49 PM, Steve Edwards <killshot91 at gmail.com> wrote:

> I took over a site that uses a custom registration form that directly calls
> user_register_submit directly, and I need to have a user role added to this
> user when this form is submitted.  However, I can't add the value to
> $form_state['values']['roles'] because the function errors out if there is a
> roles array because it is seen as a 'malicious attempt to alter protected
> user fields.'  Since that function then calls user_save, it seems that once
> the user is saved, I need to 1) load the user I just created, 2) add the
> role to the object, and 3) save it again.  However, in order to call
> user_load, I need the uid, which isn't returned from user_register_submit.
>  The only logical thing I can think to do is query the users table with the
> user name I just created (entered as part of the form), get the rid, and
> then call user_load and do my thing.
> Is there a better (and easier) way to do this that I'm missing, or am I on
> the right track?
> Thanks.
> Steve

Randy Fay
Drupal Development, troubleshooting, and debugging
randy at randyfay.com
+1  970.462.7450
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20100226/f7fc9793/attachment.html 

More information about the development mailing list