close ad
Databridge V2 with MySQLi support IS Now Available!
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues


How do I create a double opt-in?

Thread began 6/27/2010 10:53 am by mrs | Last modified 7/24/2013 9:26 am by Jason Byrnes | 8192 views | 28 replies |


How do I create a double opt-in?

I am looking to create a user registration page that enables me to then send a confirmation email, and within that, I want to have a link that the user has to click to confirm the email is correct. I am sure this is called double opt-in.

I was told how to do it in a rough manner by Jason when he gave me a tech support call, but I can't for the life of me find the pad I wrote it down on! I think I recall having to use data assist, universal email and security assist and having a column in my table that registers the click from the email, but I just don't know how to go about setting this up.

Can somebody please advise? I have pretty much all of the extensions available, so if I could have a step by step guide here, I'd really appreciate it. Would form builder be of any use, I have that too?



Sign in to reply to this post

Jason ByrnesWebAssist

the basic steps for double opt in are:

you need to add 2 new columns to the users table:
randomString - text
emailVarified - int. default value 0. will be updated to 1 when the user verifies the email

On the registration page, use the security assist random password feature to create a random string Store the random string in a session variable.

In the insert Record behavior, set the new randomString column to use the session variable value.

The Insert record behavior will store ID of the new record in a session variable, make note of the session variable name in the Store As section of the Insert Record behavior.

Registration Email:
the registration email will have a link to the usrConfirm page. this link will pass the UserID session variable and the random string session variable as querystring variables:

userConfirm.php?id=<UserID Session value>&randomString=<random string session value>

The userConfirm.php page will have a recporset to filter the userID column on the ID querystring value and the randomString column on the randomString querystring value.

also an Update record behavior that is triggered if the recordset is not empty to update the emailVarified column to 1.

On the login page, edit the authenticate user behavior, On the second step, click the plus button to add another condition. Select the emailVarified column and set the value to 1.

This will cause login to pass only if the emailVarified gets updated to 1.

The User registration solution pack uses this method. If you examine the registration process in the User Registration solution pack, It will demonstrate how this is all put together.

Sign in to reply to this post


Matt, Where you able to create this fuctionality?

Do you have any pointers for those who are attempting to do the same?

Sign in to reply to this post


No, I tried to convince a few customers to implement it, but they seem to want to manage their users manually, so sadly, I have never been able to try it.

I hopefully have some projects coming up where the volume of traffic is going to mean that the site has to have this implemented, so if I do manage to get it up and working, I'll let you know. On the other hand if you succeed before I do, let me know.

Jason's explanation is quite concise.

Sign in to reply to this post


Thanks for your quick response.

Yes, we'll definately be creating this functionality so I will post our experience once we create it.

PS: Interesting that the captcha used here is not the same as what Web Assist offers in their Forms Toolbox.

Actually most of the web assist website is not built with Web Assist technologies.
IE: Jquery, AJAX, Forms and captchas. I like their tools, but curious as to why they don't "Eat their own dog food".


Sign in to reply to this post


Files not being generated


When I run either the random password or password encryption functions the associated php files that are supposed to be created are not. They are not in the folder as WA defines them in the require_once path.


Any thoughts?

Thank you -

Sign in to reply to this post

Jason ByrnesWebAssist

this is an issue some people are running into, see this post for a copy of the files that should be created in the WA_SecurityAssist folder:

Sign in to reply to this post


I need a little help

I am following the steps on how to to create a double opt-in. So far everything is going smoothly but I am stuck on how to update the emailVarified column from 0 to 1.
This is what I have in my wizard page:

Trigger: Recordset: Recordset 1 is not empty


Connection: bm_printing
Table: users


Key Column: userID
Value: ???????????? Do I use my session variables
Data Type: Numeric

Sign in to reply to this post


I got it. Thanks for the easy to use instructions.

Sign in to reply to this post

Jason ByrnesWebAssist

you're welcome

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question





Ease of use


security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...