Система за newsletter
Всички сме получавали на пощите си писма които ни оведомяват за нещо-сайтът е обновен,нов старт на играта,филма ще излезне по кината утре и т.н.В този урок ще ви покажа как с 2 файла и вие да направите такава система която ще изпраща писма на всички потребители от списъка с потребители.Първо ще създадем систамата която ще изпраща тези писма.Първо ще създадем файла където ще пишем съдържанието на писмото.Ето и къкъв трябва да е кодът му:
<html>
<head>
<title>Система за известяване</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form method=POST action=sendletter.php>
Тема:<input type="text" name="subject"><Br>
<textarea rows="25" cols="100" name="message"><html>
<body>
Съдържанието на писмото трябва да бъде написано тук
</body>
</html></textarea><br>
<input type="submit" name="Submit" value="Изпрати">
</form>Така.Вече имаме формуляр за писане.Имайте предвит,че съдържанието на писмото трябва да бъде написано между <body> и </body>.
Време е да създадем и системата която ще изпраща тези писма.Тя представлява прост избор от таблицата с потребителите.След това просто изпращаме писмото чрез mail функцията.Но трябва да направим малко модификация за да може систамата да работи правилно.Ще трябва да посочим потребителя и паролата за базата данни,самата база данни и как се казва таблицата с потребителите.Трябва да кръстите файла sendletter.php.Ето го и кодът:
<?php
//тук долу ще направим нужните настройки.Променете потребителя и паролата за базата ви данни,името на базата данни,името на таблицата и вашата поща.
$server = "localhost";
$dbuser = "dbuser";
$dbpass = "dbpass";
$dbname = "dbname";
$table = "users";
$adminmail = "noreplay@site.com";
//започва изпълнението на системата
$connection = @mysql_connect($server, $dbuser, $dbpassword) or die(mysql_error());
$db = @mysql_select_db($dbname,$connection)or die(mysql_error());
$sql ="SELECT * FROM $table";
$result = @mysql_query($sql,$connection) or die(mysql_error());
while ($sql2 = mysql_fetch_object($result))
{
//Моля ако колонката с email пощите е с друго име промете email
$e_addr = $sql2 -> email;
$e_user = $sql2 -> name;
$subject = $_POST[subject];
$mailheaders = "$_POST[message]";
$headers = "From: сайта ви <$adminemail>\r\n".
"MIME-Version: 1.0\r\n".
"Content-type: text/html; charset=windows-1251\r\n";
$response = mail($e_addr, $subject, $mailheaders, $headers);
}
if($responce){
echo "Писмото е изпратено успешно<br>";
}
else{
echo "Писмото не е изпратено успешно";}
?>Това е.Вече всичко работи и можете да започнете да изпращате писма на всичките си потребители.Ако имате някакви въпроси пишете.Демо не мисля,че има как да дам но съм тествал системата и тя работи добре.


