Dville Posted August 15, 2006 Share Posted August 15, 2006 I would like to add email confirmation to my current basic member system.Does anyone know of any articles, that can explain how to add this. Or maybe does anyone know of a simple concept of how this would actually work?I am pretty clueless when it comes to what goes on behind the scenes during an email confirmation.Thanks in advanced. Quote Link to comment Share on other sites More sharing options...
hostfreak Posted August 15, 2006 Share Posted August 15, 2006 An email confirmation for what? New registrations, information change, or what? Quote Link to comment Share on other sites More sharing options...
Dville Posted August 15, 2006 Author Share Posted August 15, 2006 new signups, yes. before allowing them to sign into their account Quote Link to comment Share on other sites More sharing options...
tomfmason Posted August 15, 2006 Share Posted August 15, 2006 This is what I do. First when the user signs up I create a random string with a function like this.[code=php:0]function makestring() { $salt = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while ($i <= 22) { $num = rand() % 33; $tmp = substr($salt, $num, 1); $rstring = $rstring . $tmp; $i++; } return $rstring; }[/code]After I create the string I insert this random string into the database in a field called confirm and send them an email with a link like this. http://www.yoursite.com/comfirm.php?id=arandomstring&email=them@their.comHere is the confirm.php[code]<?phpinclude("db.php");$id = mysql_real_escape_string(trim($_GET['id']));$email = mysql_real_escape_string(trim($_GET['email']));$sql = sprintf("SELECT COUNT(*) AS `confirm` FROM `users` WHERE `id` = '%s' AND `email` = '%s'", $id, $email);$res = mysql_query($sql) or die(mysql_query());$confirm = mysql_result($res, 0, 'confirm');if ($confirm == 1) { $q = mysql_query("SELECT * FROM `users` WHERE `email` = '$email'") or die(mysql_error()); while($rw = mysql_fetch_assoc($q)) { echo "Hello " . $rw['username'] . " you have confirmed your the email address $email"; }}else{ echo "There was some kind of error. Please contact the webmaster";} ?>[/code]Hope this helps,Tom Quote Link to comment Share on other sites More sharing options...
Dville Posted August 15, 2006 Author Share Posted August 15, 2006 Sweet, thanks again. Quote Link to comment Share on other sites More sharing options...
Dville Posted August 15, 2006 Author Share Posted August 15, 2006 So would I update the 'confirm' row in confirm.php, to something like 'confirmed' and in login.php, have it check for confirmed in the confirm row, and if it is anything other than 'confirmed' then not allow them to login? Quote Link to comment Share on other sites More sharing options...
tomfmason Posted August 15, 2006 Share Posted August 15, 2006 Yes sorry forgot to metion that. Quote Link to comment Share on other sites More sharing options...
Dville Posted August 15, 2006 Author Share Posted August 15, 2006 Awesome, that works out perfectly! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.