well I think I have a plan. Let me know if this is a problem? When I create the "specialcode" I will write the time into the dbase. When a user presses the email link to use it, first thing, I will get the code, find the record and if the time between now and the creation time is greater than x minutes, I will redirect to the login page.
proof that an old dog can learn new tricks