Is there a module or a combination of modules that can make different registration forms for different roles during sign up? I am building a website where Home building companies, house inspectors, and non-profit supporters, and industry vendors all need to sign up to the website, but each will have different registration forms.


Christefano-oldaccount’s picture

The Account Types module ought to do the trick. If you're using Organic Groups, you can use the OG Promote module instead (there's a patch in the og_promote issue queue for multiple groups and roles).

roleychiu’s picture

My main concern is being able to create and integrate the registration forms with account creation. I'm curious if there are modules or snippets available for this or will I need to manually code it? Has anyone encountered anything like this?

mkdi’s picture

Try the URL You may find some thing that you would need. cheers...

kushi_iiim’s picture

This isnt working
i tried to put the code the the user.module but found no change tried to access the links directly
like /user/bandregister
It throwed me back to LOGIN form
I want to make alteration to registration form as i want 2 ppl ie FAN and Artist to fill different number of fields can you have me out how above can be tweaked for this

Drupal Centric’s picture

You can create a content tyoe and select it to be used as a node profile and then whether you want it to appear on the registration page or in the users account page.

This module allows one to mark content types as user profiles, do this
at 'admin/content/types'.

It uses the nodefamily module to restrict the node population to 1, which means
that a user can only create on node of this type - the so called lonely node.

roleychiu’s picture

thanks for the heads up dickster, i'll try this out on the weekend!

cakka’s picture

Hi, i am using Assign Auto Role. That it can support that ?
Please tell me about the steps .



kushi_iiim’s picture

This is not working
i tried the above code But no Change in Menu or anywhere ?

cakka’s picture

It is looked we must overide some part of user module or create a special module for that ,isn't ?


n00bie’s picture

The Membership types and registration modification module does exactly what you want. I use it and it works perfectly. Its complex to set up so, follow the provided documentation in the module very carefully.

depaulmathew’s picture

I have the same requirements in drupal 6. This module seems to work only for drupal 5. Any suggestions for drupal 6?

WildKitten’s picture

In drupal 6 you can install those modules:
(maybe you don't even need this last one, it is for fields that you want to be displayed on both forms)

Make roles for example: "student" and "professor".

Make 2 content types, "Student personal data" and "Professor personal data". In those content types check "Use this content type as a content profile for users". Then tab "Content profile" will show up. In that tab check "Use on Registration" and choose for witch role.

Go on autoasigne role page. Click on "Asign from path". And fill the path field for each role for example : register/student for students.

And that is all.
Now you have 2 url addresses , one for each role, with different form fields for registration. And of course there will be account fields too (username , password, email)

depaulmathew’s picture

I did as you suggested. But I could not find any option for choosing the role in Content Profile. ( I could select it to use on registration). Also, I dint find any option for "Assign from Path" in the auto assign role page.

Can you please help me with this?

WildKitten’s picture

Just check it, I've used dev version of content profile module and autoassign module

binjaja’s picture


I am having a nightmare of a time with having 2 different user levels. In my website there are Merchants and Customers. i want two different registration forms.

You suggested making 2 content types "Student personal dat" and "Professor personal data'. Am I supposed to use the FORMS API to do that? In that case , aren't I developing a module? not a content type? I looked at a FORMS API tutorial and I kind of understand it, but I don't want to start down that path if its not right. Also, once I have these 2 registration forms, will the email verification to the user still work?

Would you kindly put a little more detail into how you do this. I'm on day three and still can't figure it out.

Thank you!

WorldFallz’s picture

You would use the cck module to add custom fields to any content types.

WildKitten’s picture

You don't need forms api . The notes are above, and can't be more specific, if you are familiar with making those things (content type) . And e-mail verification is working just fine.

ashiwebi’s picture

I have cck fields in drupal registration module.

How I can show different fields in different roles?

Profile roles helps in Profiles only not in cck fields.

Help is needed.

WorldFallz’s picture

Read the thread.

ashiwebi’s picture

Can you please explain how we can use school name(cck field) in one profile and donot show school name in other profile.

I have
content profile
autoassign role

What are the permission I have to set for anonymous user.

Thanks in advance.

PegLegg’s picture

This works perfectly with just Auto Assign Role and Content Profile, thanks for your insight!

preper’s picture

There is a very simple problem here. Everybody needs to add different fields to different registration forms for different roles. I search all the site for this issue but nobody have a real working solution. use this type of registration but they don not share how did they do this and what they use. There is a system that works succesfull with drupal but drupal users can not set up and trying to find how to do, moreover they can not find the right way.

This is really contrary to Drupal's visions.

WorldFallz’s picture

What are you talking about? Did you even bother to search before posting? See the case study: - Drupal Social Network or forum post upon which the case study was based. You really should check your facts before casting aspersions on another site.

preper’s picture

Yess I read them ten times. There ara unclear and obscure things:

1-) and a small custom module (what is that module? can anybody find?)

2-) hacked version of the user_types.module (what type of hacked? how can we do?)

3-) and also used a patch to the profile.module (whic patch? is it working, is there any problem or not?)

I really checked but can not find. And also I see that nearly 60 or more people have the same problem and they still don not have any solution.

There may be some complicate problems that we can not find solutions. But here there is a live working system and community can not find an end solution for this.

I am sorry I don't want to sadden anybody.

tebdilikiyafet’s picture

You said;
''In that tab check "Use on Registration" and choose for witch role.''

there is no selection about roles on this tab. I couldn't assign a content profile to a spesific role. how did you do this? as you say I installed dev version of modules.

jerrydqcn’s picture

I've just done this and everything is OK! Following are the steps:
1. Verify the modules are working properly: content_profile has no trouble at all; autoassignrole may produce a warning saying " Invalid argument supplied for foreach()", if so, go to "" to check the solution and get rid of the warning.
2. In "admin/content/types" create 2 content types: e.g. "Student Profile" & "Professor Profile", for each type, at the bottom of the adding page, in the "Content Profile" settings, check "Use this content type as a content profile for users"
3. In "admin/user/roles" add two roles: "Student" and "Professor".
4. In "admin/user/autoassignrole" click "Assign from path". You should see the settings for the created roles "Student" and "Professor", enable each of them and set the path for them, e.g. for role "Student" set the path to "user/register/student".
5. Go back to "admin/content/types" again and edit each of the created content types - "Student Profile" & "Professor Profile", at the TOP of the editing page, there is a Tab "Content Profile", click this Tab. In "User Registration" section check "Use on Registration"; in the same section, there should be "Use on Auto Assign Role paths:" settings, select the path for the Content Type, and all is done. (Note: "Use on Auto Assign Role paths:" settings show up only after the step 3 and 4 were done.)

I'm using: Drupal core 6.17 + content_profile 6.x-1.0 + autoassignrole 6.x-1.2

WorldFallz’s picture

Excellent description-- thanks for taking the time to write it up! You should definitely contribute it as a handbook page-- maybe as a child page under

nghiadhcntt’s picture

It's also work for my case

wodenx’s picture

I agree - really excellent description, helped me enormously. I would add a few notes based on my experience:
1. The bug described in Step 1 seems to be fixed in the latest (6.x-2.0-beta) release of "Auto Assign Roles" - so no need for the patches described in the referenced thread.
2. Be sure you have enabled the "Content Profile User Registration" sub-module BEFORE performing steps 2-5.
3. If you have "Content Permissions" module enabled, be sure to grant anonymous users view/edit permission for all CCK fields in your profile type, or they will not appear on the reg. page.
Thanks again for your great instructions.

knic’s picture

(1) ... but the (6.x-2.0-beta) release of "Auto Assign Roles" introduces another problem which I've just spent a couple of precious hours on, it places a title and body field on the user registration page which can't be removed using settings.


seanwallis’s picture

I had a lot of trouble with this in Drupal 6.

It turns out that the User types module,, interferes with Auto assign role. User types appears to be a quick way to set up multiple roles, but it does not integrate well with Content Profiles.

What would be very useful would be the option for Auto Assign Role to create a simple selection page to allow users to choose the form they want at registration /user/register, which would then link to the link pages.

At the moment all you can do is select one of your roles to be automatically chosen, i.e. /user/register redirects to /user/register/PreferredRole, which rather defeats the object.

egsj’s picture

Is it possible to do any of this without separate registration pages? Using role by path and creating separate registration pages is honestly a terrible idea for usability and site structure, anyone should be able to sign up from any register link regardless of which landing page they're on.

Is this doable with context fields? You chose your role and the fields for that role appear, change roles and they switch out. That would be the most practical and modern way to address this.

WorldFallz’s picture

It's only a 'terrible idea' if your site doesn't need it. Unnecessarily complicating functionality when it's not required is always a terrible idea. However, you need to keep in mind that drupal is like legos and must be able to accommodate all use cases. There are many many sites/web apps that operate this way and it's absolutely critical to their proper functionality. Up until very recently having different profile types that could integrate with registration could only be done with a veritable nightmare of custom code-- now it can be done, for both core profiles and node profiles, without a single line of code. It's actually an amazing accomplishment.

That said, I'm not sure what you're asking. The default is not to do it the way described in this thread (which requires extra modules and configuration), so if you don't need this functionality don't use it. Or are you asking something else?

wodenx’s picture

I see two options-
1. server-side - "Auto Assign Role" has an option allowing you to show the different registration pages as tabs on the main reg. page
2. client-side - Use the "Allow user to choose" mode of Auto Assign Role. Then use hook_form_alter() to add a JS handler to the control, and show/hide form elements in the browser based on the selection.
First method should work out of the box.

pmathur01’s picture

I am still lost. I followed all the steps but if I do one thing I am not able to do the other. In my case I have 2 roles and hence I created 2 content profiles (userRole1, UserRole2). I want the user to select a role and if that role is selected display Profile userRole1 else display userRole2.


ibnuwarfan’s picture

It so easy if you are using Drupal6
follow this steps:
1.Create 2 diffrent content type with cck. or you can use webform with webform rules integrate
2.Create rules with action create new user, with trigger content type or web form above

so easy even for novice like me who dont have php knowledge

horhell’s picture

or you can try this module

modiphier’s picture

Hello All,

I have done as mentioned in some of the above posts.

Content profile
autoassign role
Realname registration
hombox mod
for a role specific content display within profile, a dashboard so to speak that pulls whatever content I can create into a block.
Maybe more I can't remember off hand since I have been at this for over a week now and I am all patched out..

Ok here is what I have experienced so far.

I created three content profile content types, students, residents, applicants, etc. whatever I choose I would suspect.

I do all of the correct associations with content profile and autoassign role the problem i am running into is having the realname registration create the username (First Name, Middle Name, Last Name = username of fmlastname you need to associate the module with a profile field field_first_name, field_middle, field_last_name and so on. I am 1. having trouble having real name see all three content types and converting the various name fields to display a real Name, 2. Regardless of how I configure auto assign role I am still seeing one registration form set of fields although it is displaying the correct welcome text for each url user/register/student, user/register/residents etc. etc.

I admit I do have a ton of modules installed and I have perfomed a bunch of manuall patches to many of these files.. while reading and reading various threads and applying any and all patches I find yet I am still stuck with actualling being able to display three registration forms that auto asign the user to the selected role along with the creation of the realname registration as well as displaying their realname on the profile page.

I have decided to take a deep breath and try to create one content type call account access with the first middle ans last require name fields and use it as the single registration form even though I am going to distribute separate links to the three auto assign role paths so the user is at least placed in a specific role so I can control what type of content they see in their profile page view. I am also doing this while trying to retain "UNTOUCHED" about 35 original content editor and wrtier roles and users and have them continue to just use the core profile method and the amdin created users will also remain in this editor writer role type.

As I read all of the threads involving this type of setup I have found numerous modules I would like to use but there are just too many conflicts... The the Legal module completely breaks the signup process and so does the security question mod although I would really like to incorporate the legal module with the terms of service on the reg page and I like how it displays the ttab in the profile page as well as the security questions mod but I would really only want that to be a feature the users was forced to enable after account creation and probably only for request new password function.

I have had to disable to legal, legal extras and security question mods but I do have the reg process creating the correct username from the form fields the way I want and the user is being assigned the correct role. I was seeing somehting odd where on the view page it had the correct profile info and then below in a what looked like another filedset it had the title of one of the other profile content types.

I have deleted the test accounts and I am getting ready to try out the one central reg fomr fileds distributed to all 3 paths to see what happens.

my head is spinning to say the least. and I dont know why but even though I have a full and current test site setup I still can't help but doing this all on my live site.. not good..


PS: ultimately my goal is to be able to have a user register so when they complete an application they have the ability to save as a draft so they can continue at a later date while gathering all of the correct information needed on the application so i figured while opening the site up to outside users I may as well plan it out so I have as much control of the users as may be needed hence the three or more reg forms with auto assign role paths etc.

I have also enabled the weborm registration module but I think that is a lot more limited and I would rather they register and then present them with the link to the application (weborm) rather then just link to the weborm with some type of silent registration process. although I havent really tested the webform registration much yet since I got caught up in this alternative content profile...