Registration Form Duplicating User During Signup

talkinggoat

Member
I have a custom registration form that I've used a join to pull data to and from the main Joomla #_users table.
8fkkGBf.png

It does a perfect job of pulling data into the list. That part works. The issue I'm having is when I try to map the form's elements to the keys, using the juser plugin and submit the form. The juser plugin does several things...
  1. It duplicates the user in the #_users table.
  2. It automatically activates and registers one of the duplicates.
  3. It does not assign one of the duplicates to the correct group (or any group)
  4. It does not encrypt the password.
  5. It does not assign an ID to the "test" table's new entry.
  6. It does not record the one of the duplicates in the "test" table.
I have narrowed this down to being an interaction between the juser plugin and the join. If there is a join, even if I'm mapping the elements (name, username, email, password, userid) to the correct elements in the #_users table, it creates the duplicate.

There are instructions that say I should access the #_users table, directly from the list section of Fabrik, however, if I do that, I can't add elements into the registration, such as email confirmation (unless I'm doing something wrong, which is entirely possible) It simply tells me I can't modify the table or list or something like that.

I DID notice that when I used he password element plugin, it does encrypt the password, but it doesn't have the juser plugin to assign it to a group.

Any ideas?
 
Here is what I did. Maybe this will save someone time, in the future.

I followed the instructions on this page, pretty much word-for-word.
https://www.betterliving.be/fabrik/...nt-de-joomla-partie-2/ajouter-des-champs.html

It has to be translated to english and it's on an older version of Joomla, but it's easy to follow. This should get you started. This page tells you how to add fields to a group in a registration list, but what if I wanted to add a field into the main #_users table? I don't think that would work, if the table is protected, like it should be. If it's not protected, you'd be modifying the stock J! table.

Here is what I want to add to the instructions, above:
We'll call our list that accesses the #_users table, "test"
Our data list, that holds all the rest of the stuff will be "test_data"
We'll have groups called the same.
The field we'll be creating will be called "confirm".

Create your field that you want to add.
When creating it, make sure you go to Access and set "save to database" as "no".
Put confirm in your test_data list, form and group, as described in the article.
If you have a join, this might create a copy of the confirm element you just created, in the "test - [test_data]" group. Go trash the copy in that group.
Go back to your test_data form, into the test_data group and copy the confirm element to test group, not the "test - [test_data]" group.
The confirm element should show up on the form.
 
After even more research and experimentation, I figured out I don't even need a join. The juser plugin will take everything and enter it into the #_users table of Joomla. For the custom registration, make lists, forms and groups as you normally would, then make elements for name, username, email, (confirmation, if you want) and password. Also, there should be a hidden userId field, to record the user's ID in the Fabrik list. In juser, just map these elements to the respective properties and you're done.
 
We are in need of some funding.
More details.

Thank you.

Members online

No members online now.
Back
Top