Rumah >pembangunan bahagian belakang >tutorial php >Bina Sistem Surat Berita dengan PHP dan MySQL
Hari ini, kami akan membina sistem surat berita menggunakan PHP dengan pangkalan data MySQL. Tutorial ini akan meliputi membina sistem yang membolehkan senarai surat berita berganda dan penghantaran mesej ke senarai tertentu. Anda akan memerlukan dua sumber untuk projek:
Perpustakaan set ikon sutera akan digunakan untuk menambah bakat visual ke aplikasi. Digunakan untuk menghantar e -mel. struktur.
imej
di dalam direktori media . Adalah disyorkan untuk memposisikan folder Swift lib dalam folder Swift sebelumnya. Selain itu, pastikan anda menyalin set enam ikon sutera yang akan kami lakukan Menggunakan. Bullet_green.png Bullet_red.png
Dalam bahagian ini, kami akan melaksanakan kaedah __Construct , kami membuat $ db_server , $ db_password , dan validateuser Pengesahan Pengguna. Ia memerlukan nama pengguna dan kata laluan sebagai parameter dan memanggil sebenar ; Jika tidak, ia mengembalikan kaedah LoggedIn jika pengguna log masuk dengan memeriksa yang benar jika pengguna log masuk dan pertanyaan kaedah melaksanakan pertanyaan SQL yang disediakan dalam hujah pertama. Ia menyediakan pertanyaan dan melaksanakannya. Kemudian, ia mengambil metadata hasil, mengikat hasilnya kepada pembolehubah, mengambil keputusan, dan mengembalikan array yang mengandungi data yang diambil. Kaedah UpdateQuery , dan CountQuery melaksanakan pertanyaan SQL, yang mengembalikan hasil tunggal, seperti kiraan. nama pengguna dan kata laluan. Dalam hal ini, kami memanggil kelas
pangkalan data. Selanjutnya, kami telah memberikan ralat sesi kepada Jadual Pengguna, yang kami perlukan dalam pangkalan data kami untuk sistem pengurusan pengguna. , pengguna harus dibenarkan menambah seberapa banyak surat berita yang mereka mahukan. Dalam hal ini, kita perlu membuat jadual surat berita di tempat, kita akan melaksanakan halaman yang berbeza untuk pengurusan surat berita. 🎜> fail admin/newsletters.php , seperti yang ditunjukkan dalam coretan berikut. Dalam dengan memanggil pangkalan data kelas. Jika pengguna tidak log masuk, ia mengalihkan pengguna ke halaman Login.php
. Ia memilih semua rekod dari lajur id<?php <br>session_start(); <br>require_once 'database.php';<br><br>$mini = false;<br>$nonav = false;<br><br>error_reporting(0);<br><br>define('DB_SERVER', 'localhost');<br>define('DB_USER', 'root');<br>define('DB_PASSWORD', ''); <br>define('DB_NAME', 'tutsplus_ns_demo');<br>define('FROM_EMAIL', 'no_reply@ohyeahemail.com');<br>define('FROM_NAME', 'oh yeah email!');<br><br>$db = new Database(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);<br>dalam susunan menaik. Paparkan penyenaraian surat berita.
Jadual surat berita dalam pangkalan data. Akhirnya, ia mengalihkan pengguna ke halaman
newsletters.php, yang membolehkan pengguna mengedit sedia ada Surat berita. Apabila ia diserahkan, ia mengemas kini rekod yang sepadan dalam pangkalan data dan mengalihkan pengguna ke halaman yang sesuai berdasarkan hasilnya.
Teruskan dan buat fail /newsletters_Bina Sistem Surat Berita dengan PHP dan MySQL.php , yang membolehkan pengguna memadam surat berita yang sedia ada. >
templat<?php <br>session_start(); <br>require_once 'database.php';<br><br>$mini = false;<br>$nonav = false;<br><br>error_reporting(0);<br><br>define('DB_SERVER', 'localhost');<br>define('DB_USER', 'root');<br>define('DB_PASSWORD', ''); <br>define('DB_NAME', 'tutsplus_ns_demo');<br>define('FROM_EMAIL', 'no_reply@ohyeahemail.com');<br>define('FROM_NAME', 'oh yeah email!');<br><br>$db = new Database(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);<br>
dengan SQL ini. Mesej.php
fail seperti yang ditunjukkan dalam coretan berikut. Halaman anda sepatutnya kelihatan seperti ini:Sekarang, kami akan mula bekerja di halaman baru kami. maklumat, dan kemudian di halaman seterusnya, kami akan mengumpul mesej sebenar. KANDUNGAN. Sebaik sahaja kami membuat entri mesej baru, kami dapati ID Insert yang paling terkini. Mari buat
CREATE TABLE `users` ( <br> `id` int(10) AUTO_INCREMENT, <br> `username` varchar(50), <br> `password` varchar(32), <br> PRIMARY KEY (`id`) <br>) ENGINE=MyISAM DEFAULT CHARSET utf8; <br><br><br>INSERT INTO `users` (`id`, `username`, `password`) VALUES ('1', 'admin', '5ebe2294ecd0e0f08eab7690d2a6ee69');<br>admin/messages_new_step2.php
fail dengan kandungan berikut. Menu dropdown. Seterusnya, kami mempunyai jadual pelanggan kami di tempat pertama. Seterusnya, untuk setiap buletin yang dipilih, kami membuat entri dalam langganan Jadual.
<?php <br>require_once 'config.php'; <br><br>$response = $db->loginRequired();<br>if (!$response) {<br> header('Location: login.php');<br> exit;<br>}<br>$title = "Newsletters"; <br>$newsletters = $db->query("SELECT * FROM newsletters ORDER BY id ASC");<br><br>$tab = 'nl'; <br>$table = ""; <br><br>foreach($newsletters as $row) {<br> $dlink = '<a href="newsletters_Bina%20Sistem%20Surat%20Berita%20dengan%20PHP%20dan%20MySQL.php?id='.%24row%5B'id'%5D.'" onclick="return confirm(\'Are you sure you want to Bina Sistem Surat Berita dengan PHP dan MySQL this newsletter?\');" title="Bina Sistem Surat Berita dengan PHP dan MySQL"><img src="/static/imghwm/default1.png" data-src="media/images/page_edit.png" class="lazy" alt="Bina Sistem Surat Berita dengan PHP dan MySQL"></a>';<br> $elink = '<a href="newsletters_edit.php?id='.%24row%5B'id'%5D.'" title="edit"><img src="/static/imghwm/default1.png" data-src="media/images/page_edit.png" class="lazy" alt="edit"></a>';<br> if($row['visible'] == "1") {<br> $visible = '<img src="/static/imghwm/default1.png" data-src="media/images/bullet_green.png" class="lazy" alt="Bina Sistem Surat Berita dengan PHP dan MySQL" >';} else {$visible = '<img src="/static/imghwm/default1.png" data-src="media/images/bullet_red.png" class="lazy" alt="Bina Sistem Surat Berita dengan PHP dan MySQL" >';<br> }<br> $table .= "<tr> <td>".$row['id']."</td> <td>".$row['name']."</td> <td>".$row['description']."</td> <td>$visible</td> <td>".$dlink." ".$elink."</td> </tr>\n";<br>} <br><br>$message = $db->errorMessages();<br>$content = '';<br>$content .= '<a href="newsletters_new.php">Add New Newsletter »</a> ';<br>$content .= $message;<br>$content .= '
name | description | visible |
---|
> Simpan pilihan saya , ia memaparkan halaman yang ditunjukkan dalam imej berikut.
Menghantar Mesej
Di bahagian ini, kami akan membina halaman terakhir, yang membolehkan kami menghantar mesej.
fail seperti yang ditunjukkan dalam coretan berikut. Apabila pentadbir memilih surat berita dan mengemukakan borang, kami mengambil pelanggan yang melanggan surat berita yang dipilih ini. Dan akhirnya, kami menghantar e -mel kepada mereka. Anda boleh memasangnya dengan komposer seperti yang ditunjukkan dalam coretan berikut. Anda perlu menyesuaikan tetapan mengikut persekitaran anda. Untuk menyemak lebih lanjut mengenai topik ini, anda boleh melawat artikel ini, yang menyediakan panduan mendalam ke perpustakaan Symfony Mailer. Laman Utama
Sekarang, mari kita bina halaman utama admin, yang memaparkan statistik keseluruhan untuk aplikasi kami. fail admin/index.php dengan kandungan berikut. Itu, kami telah sampai ke akhir artikel ini juga. Kami meliputi banyak tanah dalam tutorial, mewujudkan aplikasi surat berita sepenuhnya dari awal!
Atas ialah kandungan terperinci Bina Sistem Surat Berita dengan PHP dan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!