Webmaster общности: Predpriemach.com | SearchEngines.bg

    Бюлетин на e-mail / Newsletter

    Автор: deam0n

    Това е много прост бюлетин (от англ. Newsletter), който използва MySQL за да записва е-мейлите на потребителите и после за да изпраща!

    sql.sql

    CREATE TABLE `newsletter`.`newsletter` (
    `id` INT NOT NULL AUTO_INCREMENT ,
    `mail` VARCHAR( 68 ) NOT NULL ,
    PRIMARY KEY ( `id` ) ,
    UNIQUE (
    `mail`
    )
    ) ENGINE = MYISAM

    index.php

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="generator" content="PSPad editor, www.pspad.com">
    <title></title>
    </head>
    <body>
    Запиши се за бюлетина с новини:<br />
    <form method="post" action="">
    <input type="text" name="mail" /><input type="submit" name="submit" value="Запиши">
    </form>
    <?php
    include('functions.php');
    if(isset($_POST['submit'])){
    saveIt($_POST['mail']);
    }
    ?>
    </body>
    </html>
    

    send.php

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="generator" content="PSPad editor, www.pspad.com">
    <title></title>
    </head>
    <body>
    Изпрати писмо:<br />
    <form method="post" action="">
    <input type="text" name="topic" /> Тема<br />
    Писмо<br />
    <textarea name="content" rows="15" cols="60"></textarea>
    <input type="submit" name="submit" value="Изпрати">
    </form>
    <?php
    include('functions.php');
    if(isset($_POST['submit'])){
    sendIt($_POST['topic'], $_POST['content']);
    }
    ?>
    </body>
    </html>

    functions.php

    <?php
    mysql_connect("localhost", "root", "vertrigo") or die(mysql_error());
    mysql_select_db("newsletter") or die(mysql_error());
    
    function isEmail($email) {
    $regex = "/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/";
    
    if ( preg_match($regex, $email )) {
    
    return true;
    
    }
    
    else {
    
    return false;
    
    }
    }
    
    
    function saveIt($email) {
    if(isEmail(trim($_POST['mail']))) {
    
    $mail = $_POST['mail'];
    
    $query = "SELECT * FROM newsletter WHERE mail='$mail'";
    
    $result = mysql_query($query) or die(mysql_error());
    
    $counted = mysql_fetch_array($result);
    
    if($counted[1] == $mail) {
    
    echo "Вече има такъв е-мейл в базата от данни!";
    
    }
    else {
    mysql_query("INSERT INTO newsletter (id, mail) VALUES('', '$mail' ) ") or die(mysql_error());
    
    echo "Е-мейла е записан успешно в базата от данни!";
    }
    }
    else {
    
    echo "Въвел си невалиден е-мейл!";
    
    }
    }
    
    function sendIt($topic, $email) {
    $myName = "Ivan Bezimenov"; // името ти
    $myEmail = "i.bezimenov@gmail.com"; //твоя е-мейл адрес
    $mail_body = $email;
    $subject = $topic;
    $header = "From: ". $myName . " <" . $myEmail . ">\r\n";
    
    
    $result = mysql_query("SELECT * FROM newsletter") or die(mysql_error());
    
    while($row = mysql_fetch_array( $result )) {
    $recipent = $row['mail'];
    mail($recipient, $subject, $mail_body, $header); // изпращане
    }
    
    echo "Писмата са изпратени успешно!";
    
    
    }
    
    ?>

    Разбира се бюлетина е много опростен и с минимално функции, което пък спомага за лесното му преработване 🙂

    Кода е авторски!

    Оставете коментар