I have searched the forum and found some very useful topics around user activation etc etc.
I noted that sitepoint themselves use this exact function for registration to their forums so was hoping there was an industry standard.
Can anyone recommend a best practice solution to the concept i.e supported by sitepoint etc?
Any help would be great.
This is done on many sites. The main purpose is to validate the email address, so that if user provided a fake address, he will never receive activation code and will never be able to use the site. It also confirms the intent, so that someone else could not signup your email address for an account, thus preventing you from receiving emails from the website for which you have not intentionally signed up.
this is a pretty standard 'opt-in' signup practice.
Another way to do this without the use of activation link is to auto-create a temporary password and email it to user. The user will not be able to login unless he provided the correct email address. In this case you should also require user to login at least once before you consider his account fully activated.
thanks, as im new to PHP I was hoping there would be some form of guide to this type of activation in the sitepoint "Build your own database driven website", however after reading it, it seems that it is out of scope, maybe too advanced to start out.
I imagine you can make it as complex or a simple as you wish depending on your coding skills. For now i'll trawl around on the basics of just user login etc and build the activation feature in at a later date with more understanding.
yes you can start with a simple solution (but make sure not too simple that spammers can hack)
For a start i will do something like this (just an idea)
1. When new user register, put all the information on DB table, and flag as false for email verified field
2. Also create a unique key token field to send out an email to verify, you can create a unique key token by using some random combination with MD5 encryption
3. Create a small script which will perform activation when user click the link in the activation email