Rumah >pembangunan bahagian belakang >tutorial php >Bina Sistem Surat Berita dengan PHP dan MySQL

Bina Sistem Surat Berita dengan PHP dan MySQL

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-26 11:26:09513semak imbas

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.

Teruskan dan buat direktori projek utama di tempat pertama. Seterusnya, buat folder bernama
    admin
  • dalam folder projek anda. Bergerak lebih jauh, dalam folder
  • , termasuk dua sub-direktori bernama
  • media
dan

Swift

. Di samping itu, buat folder baru bernama

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

Bina Sistem Surat Berita dengan PHP dan MySQL.png
  • email_go.png
  • find.png
  • page_edit.png
  • untuk Selebihnya tutorial, kami akan kebanyakannya membangunkan fungsi CRUD (membuat, membaca, mengemas kini, dan memadam). Buat fail konfigurasi global, yang mentakrifkan pemalar yang boleh digunakan sepanjang aplikasi. Kami akan menamakannya admin/config.php
  • . Pastikan anda menukar tetapan di atas mengikut persekitaran anda. Jadi itu untuk membuat fail konfigurasi global. Kami juga memasukkan fail kelas pangkalan data, yang akan kami laksanakan dalam seketika.
  • kelas pangkalan data

    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.

    dengan beberapa rekod yang sudah ada dalam kaedah InsertQuery

    Jadual surat berita dalam pangkalan data. Akhirnya, ia mengalihkan pengguna ke halaman

    newsletters.php

    . Mari buat fail

    admin/newsletters_edit.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.Bina Sistem Surat Berita dengan PHP dan MySQL Bina Sistem Surat Berita dengan PHP dan MySQL

    Padam surat berita

    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>

    Aplikasi kami juga menyokong pengurusan template newsletter. Oleh itu, kita perlu membina CRUD dengan cara yang sama kita hanya membinanya untuk entiti surat berita. Oleh kerana ia cukup serupa, saya akan dengan cepat meneruskannya dengan menyediakan kod. Buat pelanggan

    Jadual. Seterusnya, kami sama ada akan membuat atau memadam rekod langganan dalam jadual

    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 .= '







    ';
    $content .= $table;
    $content .= '
    name description visible
    ';

    include 'layout.php';
    ?>
    ia digunakan untuk membolehkan pengguna menyimpan keutamaan surat berita mereka.

    Ini. Butang

    > Simpan pilihan saya , ia memaparkan halaman yang ditunjukkan dalam imej berikut. Bina Sistem Surat Berita dengan PHP dan MySQL 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn