Avatar billede rotco Juniormester
07. august 2007 - 20:37 Der er 2 kommentarer og
1 løsning

Mail efter tilmelding

Hejsa...

Jeg vil gerne have at der bliver sendt en mail til den der tilmelder sig maillisten, er der en der hurtigt, MEGET hurtigt kan fikse det for mig? Hvor jeg selvf. selv bestemmer emne, besked og fra... TAK , det er enormt vigtigt.

Her er koden;



<?
/*

*/

// 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>mail-list</title>
<link rel=shortcut icon href=favicon.ico type=image/x-icon/>
<link rel=stylesheet type=text/css href=gorotron1.css/>
</head>
<body bgcolor=FFFFFF>
<?

// 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.: mail-list.txt), so users will be unable to find it
$file = "mail-list.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>Thank You.";
}
// 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>



<?
// 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>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" type="text/css" href="gorotron1.css"/>
                <title>My mailing list</title>
        </head>
        <body style="background-color: rgb(255, 255, 255);">
        <center><table border="1" bgcolor="#ffffff">
<td>
        <form action="<? $PHP_SELF; ?>" method="post">
          <table>
            <tr>
            <td>
                <div style="text-align: center;">
                        Sign Up To Our Newsletter<br>
                        </div>
                        <input name="email" size="30" type="text"> <br>
                        <div style="text-align: center;">
                        <input name="action" value="subc" checked="checked" type="radio">Subscribe
                        <input name="action" value="unsubc" selected="" type="radio">Unsubscribe
                        <br>
                </div>
                <div style="text-align: center;">
                        <input value="Submit" type="submit">
                </div>
<center>(We send 1 email every month)
              </td>
              </tr>
          </table>
        </form>
</td>

</table>
        </body>
        </html>

<?
} // the function finishes here
?>
Avatar billede yHec Novice
07. august 2007 - 23:16 #1
Avatar billede rotco Juniormester
08. august 2007 - 15:52 #2
Jamen, jeg vil MEGET gerne selv sætte det ind, men det virker ikke, derfor vil jeg gerne have at I sætter det ind så det virker?
Avatar billede rotco Juniormester
08. august 2007 - 16:27 #3
Fandt svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester