You can also generate a random number (big : 64 , 128 bits) and store that number
in the record of the user, at creation time.
Send them an email with an URL like this :
[url]http://your_server.com/register.php?s=A145B4C8F9AA5236[/url]
where "A145B4C8F9AA5236" is the random number in hexadecimal.
When the register.php is call, you just search in the database the record with
the same number and activate the corresponding account.
If someone wants to activate an account with a fake email, he will have to
submit all possible numbers ... which will be long 🙂