Система за картички по email
Автор: Harry_Potter_
В този урок ще ви покажа как можете да си направите система за картички като тази на kefche.com например.Като за начало трябва да създадем таблицата в която ще пишем информацията за картичките.Просто напишете следния код във phpmyadmin и готово:
CREATE TABLE `images` (
`id` mediumint(8) NOT NULL auto_increment,
`name` varchar(200) collate cp1251_bulgarian_ci NOT NULL default '',
`imageurl` varchar(200) collate cp1251_bulgarian_ci NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=1 ;След като сме създали таблицата ни трябва да създадем и файл с конфигурацията където ще напишем информацията за свързване с базата данни.Нека наречем файла config.php.Това фактически е единствения файл по който ще трябва да редактирате нещо.В него напишете следното:
<?php
//редактирайте отдолу:
$server = "localhost"; //сървър на базата данни
$dbuser = "dbuser"; //потребител за базата данни
$dbpass = "dbpass"; //парола за потребителя за базата данни.Ако няма парола оставяш празно между кавичките
$dbname = "dbname"; //самата база данни в която е таблицата с картичките
//не пипайте нищо отдолу!!!
$connection = mysql_connect($server, $dbuser, $dbpass) or die("Сайтът не може да се свърже към базата данни");
$db = @mysql_select_db($dbname,$connection)or die("Сайтът не може да се свърже към базата данни");
?>Вече имаме основните неща сега е време да започнем реалната част.Първо ще ни трябва файл за добавяне на картички.Нека го наречем add.php.В него напишете следния код:
<html>
<head>
<title>Добавяне на картичка</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form action="dobavi.php" method="POST">
Име на картичката:<input type="text" name="name"><br>
Адрес на картичката:<input type="text" name="url"><br>
<input type="submit" name="submit" value="Добави">
</form>След като сме създали формата за добавяне е ред и на частта която вече ще направи добавянето факт.Както виждате този файл трябва да се казва dobavi.php.В него ще трябва да напишете следния код:
<html>
<head>
<title>Списък с картички</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?php
$name = $_POST['name'];
$url = $_POST['url'];
include("config.php");
$sql ="INSERT INTO images VALUES
('', '$name', '$url')";
$queryresult = mysql_query ($sql)
or die ("Не може да се изпълни заявката");
if(!$queryresult){
echo "Станала е грешка.Моля върнете се и опитайте отново";
}
else{
echo "Картичката бе добавена успешно";
}
?>
</body>
</html>Частта за добавяне е готова.Сега е време и на частта която ще дава възможност за преглед и изпращане на картичките.Първо ще ни трябва файл който ще преглежда картичките.Може да го наречем list.php.В него ще трябва да напишете следното:
<html>
<head>
<title>Списък с картички</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<center>Списък с картичките</center>
<table width="100%" border="0">
<tr>
<?php
include("config.php");
$sql = "SELECT * FROM images";
$result = @mysql_query($sql,$connection) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo "<td><a href=\"view.php?id=$row[id]\"><img src=\"$row[imageurl]\" alt=\"$row[name]\" border=\"0\"></a><BR>$row[name]</td>";
}?>
</tr>
</table>
</body>
</html>След като сме създали списъкът със всички картички ще ни трябва файла в който ще има форма за изпращане.Нека го наречем view.php:
<html>
<head>
<title>Изпращане на картичка</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<center><B>Изпращане на картичка</b><br><br>
<?php
$id = $_GET['id'];
if($id == ""){
echo "<b>Не е избрана картичка</b>";
exit;
}
else{
include("config.php");
$sql = "SELECT * FROM images WHERE id ='$id'";
$result = @mysql_query($sql,$connection) or die(mysql_error());
$row = mysql_fetch_array($result);
echo "За да изпратите картичката попълнете следните полетта:<br>";
echo "<img src=\"$row[imageurl]\"><br>";
echo "<b>$row[name]</b><br>";
echo "<form method=POST action=send.php>";
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
echo "<b>Информация за подателя</b><br>";
echo "Име: <input type=\"text\" name=\"sender-name\"><Br>";
echo "e-mail: <input type=\"text\" name=\"sender-email\"><BR>";
echo "<b>Информация за получателя/получателите</b><BR>";
echo "e-mail(Използвайте запетая за разделител на e-mail адресите):<br> <input type=\"text\" name=\"recivers\"><BR>";
echo "Текст:<br> <textarea cols=\"40\" rows=\"10\" name=\"message\"></textarea><br>";
echo "<input type=\"submit\" name=\"send\" value=\"Изпрати\"></center>";
echo "</form>";
}
?>
</body>
</html>А сега вече и файлът който ще изпраща картичката.Тук ще трябва да направите една корекция по файла защото ще трябва да въведете адреса на страницата за преглед на картичка.
<html>
<head>
<title>Изпращане на картичка</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?php
$id = $_POST['id'];
$sendername = $_POST['sender-name'];
$senderemail = $_POST['sender-email'];
$recivers = $_POST['recivers'];
$message = $_POST['message'];
//част за редактиране:
$mailsubject = "Картичка от твой приятел"; //можеш да промениш темата на писмото на каквато си искаш//
$siteurl = "http://www.saitati.com/view.php?id=$id"; //тук пишеш адреса на сайта и по-точно страницата откъдето се изпраща картичката.Важното е частта ?id=$id да остане
//оттук надолу не пипайте нещо!
include("config.php");
$sql = "SELECT * FROM images WHERE id = '$id'";
$result = @mysql_query($sql,$connection) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
$mailmessage = "<html><body>Здравей!Твоя приятел ти изпраща тази картичка.Картичката можеш да видиш тук:<br>
<img src=\"$row[imageurl]\"><br> <b>$row[name]</b><br>
Ако не можеш да видиш картичката влез в този сайт: $siteurl
Ето и коментар на потребителя:$message</body></html>";
$headers = "From: $sendername <$senderemail>\r\n".
"MIME-Version: 1.0\r\n".
"Content-type: text/html; charset=windows-1251\r\n";
$sending = mail($recivers, $mailsubject, $mailmessage, $headers);
if(!$sending){
echo "Картичкта не бе изпратена успешно.Моля върнете се и опитайте отново";
}
else{
echo "Картичката бе изпратена успешно.";
}
}?>С това урока приключи.Демо ще дам по нататък…Ако имате въпроси пишете в коментарите или по ЛС
Урокът е лично мой.Забранено е преписването му в други сайтове!


