Hi,
just a few random bits and pieces
database layout:
email varchar(64) unique,
code char(32), -- depends on coding
applied timestamp,
confirmed timestamp
php to add a new subscriber
php to accept subscriptionCode:<? include "connect.php"; $email = $_POST['email']; $res = mysql_query("select * from subscriptions where email = '$email'"); if(mysql_num_rows($res)) { if(mysql_result($res, 0, "confirmed") != "") print "&status=confirmed"; else { print "&status=applied"; sendmail($email, mysql_result($res, 0, "code")); } } else { $code = md5(time() . $email); mysql_query("insert into subscriptions (email, code, applied) values ('$email', '$code', now())"); sendmail($email, $code); print "&status=new"; } function sendmail($email, $code) { mail($email, "subscription", "please visit http://www.yourserver.com/newsletterconfirm.php?code=$code"); } ?>
MusicmanCode:<? include "connect.php"; $code = $_GET["code"]; $res = mysql_query("select * from subscriptions where code = '$code'"); if(!mysql_num_rows($res)) die("sorry, not in database"); else if(mysql_result($res, 0, "applied")) die("subscription already completed - we are just lazy on sending newsletters"); else { mysql_query("update subscription set applied = now() where code = '$code'"); print "subscription confirmed - we will send newsletters to " . mysql_result($res, 0, "email"); }





Reply With Quote