
<?php
/*
Email list script
by phptutorial.info
*/

// to avoid showning errors (change to 1 to show them). For security
error_reporting(0);

// if info is posted, show the form and die
// the form is in the bottom of the page
if (!$_POST){print_form();die();}

// when info is posted you will be here
?>

<html>
<head>
  <title>Email list</title>
</head>
<body bgcolor="#ffffff">
<?php

// GET EMAIL
        $email=$_POST["email"];
        // To avoid problems, only lower case is used
        $email=strtolower($email);
        // Check whether email is correct by using a function
        //  function requires the email address and the error message
        check_email ($email, "Error: email is not valid.");


// GET VALUE FOR action : subc (subscribe) or unsubc (unsubscribe)
$action=$_POST["action"];

// this is the file with the info (emails)
//    When using the link in the top to download the complete script, a new name for this file
//    will be generated (p.e.: emaillist-2ax1fd34rfs.txt), so users will be unable to find it
$file = "emaillist-HgmIjwjgt3.txt";

// lets try to get the content of the file
if (file_exists($file)){
        // If the file is already in the server, its content is pasted to variable $file_content
        $file_content=file_get_contents($file);
}else{
        // If the file does not exists, lets try to create it
        //   In case file can not be created (probably due to problems with directory permissions),
        //   the users is informed (the first user will be the webmaster, who must solve the problem).
        $cf = fopen($file, "w") or die("Error: file does not exits, and it can not be create.<BR>Please check permissions in the directory or create a file with coresponding name.");
        fputs($cf, "Mailing list subscribers\n");
        fclose($cf);
}

// IF REQUEST HAS BEEN TO SUBSCRIBE FROM MAILING LIST, ADD EMAIL TO THE FILE
if ($action=="subc"){
        // check whether the email is already registered
        if(strpos($file_content,"<$email>")>0){die("Error: your email is already included in this mailing list");}
        // write the email to the list (append it to the file)
        $cf = fopen($file, "a");
        fputs($cf, "\n<$email>");       // new email is written to the file in a new line
        fclose($cf);
        // notify subscription
        print "Your email has been added to our mailing list.<br>Thanks for joining us.";
}
// IF REQUEST HAS BEEN TO UNSUBSCRIBE FROM MAILING LIST, REMOVE EMAIL FROM THE FILE
if ($action=="unsubc"){
        // if email is not in the list, display error
        if(strpos($file_content,"<$email>")==0){die("Error: your email is not included in this mailing list");}
        // remove email from the content of the file
        $file_content=preg_replace ("/\n<$email>/","",$file_content);
        // print the new content to the file
        $cf = fopen($file, "w");
        fputs($cf, $file_content);
        fclose($cf);
        // notify unsubscription
        print "Your email has been removed from our mailing list. ";
}

?>
</body>
</html>



<?php
// THIS FUNCTION WILL CHECK WHETHER AN EMAIL IS CORRECT OR NOT
//      FIRST, BASIC ARCHITECTURE IS CHECKED
//      THEM, EXISTANCE OF THE EMAIL SERVER IS CHECKED
// If email is not correct, the error message is shown and page dies
function check_email ($email, $message){
        // check if email exists
           if ($email==""){die($message);}
        // check whether email is correct (basic checking)
           $test1=strpos($email, "@");                                     //value must be >1
           $test2=strpos(substr($email,strpos($email,"@")), ".");          //value must be >1
           $test3=strlen($email);                                          //value must be >6
           $test4=substr_count ($email,"@");                               //value must be 1
           if ($test1<2 or $test2<2 or $test3<7 or $test4!=1){die($message);}
        // check whether email is correct (advance checking)
           // extracts whatever is after "@" to variable $email_server
           $email_server=substr($email,strpos($email, "@")+1);
           // Check DNS records (0 => the server exists; 1=> the server does not exist)
           if (checkdnsrr($email_server)!=1){die ($message);}
}

// THIS FUNCTION WILL SHOW THE FORM
// MODIFY IT AS REQUIRED
function print_form(){
?>

        <html>
        <head>
                <title>My mailing list</title>
        </head>
        <body bgcolor="#d6d6c2">

        <center>
        
        <form action="<?php $PHP_SELF; ?>" method="post">
          <table>
             <tr>
             <td>
                <div style="text-align: center;">
                        <small style="font-weight:">Get Our Monthly News Letter!<br>Enter Your Email Here</big><br>
                        </div>
                        &nbsp;<input name="email" size="20" type="text"> <br>
                        <div style="text-align: center;">
                        <input name="action" value="subc" checked="checked" type="radio">Stay Up To Date!
                        
                        <br>
                </div>
                <div style="text-align: center;">
                        <button type="submit" value="Subscribe" style="border: 0px solid #FFFFFF; width:113; height:41">
<img src="https://panda-hits.com/images/button.png" width="104" height="32"> </span>
                </div>
              </td>
              </tr>
          </table>
        </form>
        
      
        </font></center>
        </body>
        </html>

<?php
} // the function finishes here
?>
<div align="center">
<a href="https://panda-hits.com/subscribe2.php" style="text-decoration: none">
Done</a></p>


