<?php
//set up a couple of functions
function doDB() {
   global $conn;
   //connect to server and select database; you may need it
   $conn = mysql_connect("localhost", "joeuser", "somepass") or die(mysql_error());
   mysql_select_db("testDB",$conn)  or die(mysql_error());
}
function emailChecker($email) {
   global $conn, $check_result;
   //check that email is not already in list
   $check = "select id from subscribers where email = '$email'";
   $check_result = mysql_query($check,$conn) or die(mysql_error());
}
//determine if they need to see the form or not
if ($_POST[op] != "ds") {
   //they do, so create form block
   $display_block = "
   <form method=POST action=\"$_SERVER[PHP_SELF]\">
   <p><strong>Your E-Mail Address:</strong><br>
   <input type=text name=\"email\" size=40 maxlength=150>
   <p><strong>Action:</strong><br>
   <input type=radio name=\"action\" value=\"sub\" checked> subscribe
   <input type=radio name=\"action\" value=\"unsub\"> unsubscribe
   <input type=\"hidden\" name=\"op\" value=\"ds\">
   <p><input type=submit name=\"submit\" value=\"Submit Form\"></p>
   </form>";
} else if (($_POST[op] == "ds") && ($_POST[action] == "sub")) {
    //trying to subscribe; validate email address
   if ($_POST[email] == "") {
       header("Location: manage.php");
       exit;
   }
   //connect to database
   doDB();
   //check that email is in list
   emailChecker($_POST[email]);
   //get number of results and do action
   if (mysql_num_rows($check_result) < 1) {
        //add record
        $sql = "insert into subscribers values('', '$_POST[email]')";
        $result = mysql_query($sql,$conn) or die(mysql_error());
        $display_block = "<P>Thanks for signing up!</P>";
   } else {
       //print failure message
       $display_block = "<P>You're already subscribed!</P>";
   }
} else if (($_POST[op] == "ds") && ($_POST[action] == "unsub")) {
   //trying to unsubscribe; validate email address
   if ($_POST[email] == "") {
       header("Location: manage.php");
       exit;
   }
   //connect to database
   doDB();
   //check that email is in list
   emailChecker($_POST[email]);
   //get number of results and do action
   if (mysql_num_rows($check_result) < 1) {
       //print failure message
       $display_block = "<P>Couldn't find your address!</P>
       <P>No action was taken.</P>";
   } else {
       //unsubscribe the address
       $id = mysql_result($check_result, 0, "id");
       $sql = "delete from subscribers where id = '$id'";
       $result = mysql_query($sql,$conn) or die(mysql_error());
       $display_block = "<P>You're unsubscribed!</p>";
   }
}
?>
<HTML>
<HEAD>
<TITLE>Subscribe/Unsubscribe</TITLE>
</HEAD>
<BODY>
<h1>Subscribe/Unsubscribe</h1>
<?php echo "$display_block"; ?>
</BODY>
</HTML>