


Bagaimana untuk membangunkan sistem pengundian dalam talian yang mudah menggunakan PHP
Bagaimana untuk membangunkan sistem pengundian dalam talian yang mudah menggunakan PHP
Pengundian adalah aktiviti yang sangat biasa, sama ada di sekolah, syarikat atau masyarakat, pelbagai aktiviti pengundian sering dianjurkan. Dengan perkembangan Internet, banyak aktiviti pengundian kini boleh dijalankan secara dalam talian. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan sistem pengundian dalam talian yang mudah dan menyediakan contoh kod khusus.
1. Reka bentuk pangkalan data
Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan maklumat berkaitan pengundian. Katakan kita perlu mereka bentuk dua jadual: jadual subjek undian (subjek_undi) dan jadual pilihan undian (pilihan_undi).
Jadual subjek undian perlu mengandungi medan berikut:
- ID Subjek (subject_id): pengecam unik subjek, biasanya integer yang meningkat secara automatik.
- Subject_name: Nama subjek.
- Masa penciptaan (masa_buat): Masa penciptaan tema.
Jadual pilihan mengundi perlu mengandungi medan berikut:
- ID Pilihan (option_id): Pengecam unik pilihan, biasanya integer kenaikan automatik.
- ID Subjek (subject_id): ID subjek yang mempunyai pilihan.
- Nama pilihan (nama_pilihan): Nama pilihan.
- Undian pilihan (option_count): Bilangan undian semasa untuk pilihan.
2. Buat topik undian
Pertama, kita perlu mencipta halaman untuk pengguna mencipta topik pengundian baharu. Pada halaman ini, pengguna boleh memasukkan nama topik dan menyerahkan borang.
Kod contoh:
<!DOCTYPE html> <html> <head> <title>创建投票主题</title> </head> <body> <h1 id="创建投票主题">创建投票主题</h1> <form action="create_subject.php" method="post"> <label for="subject_name">主题名称:</label> <input type="text" name="subject_name" id="subject_name" required> <br><br> <input type="submit" value="创建"> </form> </body> </html>
Dalam fail create_subject.php, kami boleh menerima data borang yang dihantar oleh pengguna, kemudian masukkan nama subjek ke dalam jadual subjek undian dan jana ID subjek baharu.
Kod contoh:
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = "123456"; $dbname = "vote_system"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接数据库失败:" . $conn->connect_error); } // 接收用户提交的表单数据 $subject_name = $_POST['subject_name']; // 将主题名称插入投票主题表 $sql = "INSERT INTO vote_subject (subject_name, create_time) VALUES ('$subject_name', NOW())"; if ($conn->query($sql) === TRUE) { $subject_id = $conn->insert_id; // 获取新的主题ID echo "创建投票主题成功,主题ID为:" . $subject_id; } else { echo "创建投票主题失败:" . $conn->error; } // 关闭数据库连接 $conn->close(); ?>
3. Tambah pilihan mengundi
Seterusnya, kita perlu membuat halaman untuk menambah pilihan mengundi. Dalam halaman ini, pengguna perlu memasukkan nama pilihan dan memilih topik yang sesuai.
Kod contoh:
<!DOCTYPE html> <html> <head> <title>添加投票选项</title> </head> <body> <h1 id="添加投票选项">添加投票选项</h1> <form action="add_option.php" method="post"> <label for="option_name">选项名称:</label> <input type="text" name="option_name" id="option_name" required> <br><br> <label for="subject_id">所属主题:</label> <select name="subject_id" id="subject_id"> <?php // 查询所有的投票主题 $sql = "SELECT * FROM vote_subject"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>"; } } ?> </select> <br><br> <input type="submit" value="添加"> </form> </body> </html>
Dalam fail add_option.php, kami boleh menerima data borang yang diserahkan oleh pengguna, dan kemudian memasukkan nama pilihan dan topik yang dimilikinya ke dalam jadual pilihan mengundi.
Contoh kod:
<?php // 连接数据库(同上) // 接收用户提交的表单数据 $option_name = $_POST['option_name']; $subject_id = $_POST['subject_id']; // 将选项名称和所属主题插入投票选项表 $sql = "INSERT INTO vote_option (subject_id, option_name, option_count) VALUES ('$subject_id', '$option_name', 0)"; if ($conn->query($sql) === TRUE) { echo "添加投票选项成功"; } else { echo "添加投票选项失败:" . $conn->error; } // 关闭数据库连接(同上) ?>
4 Operasi mengundi
Akhir sekali, kami perlu membuat halaman untuk pengguna mengundi. Dari halaman ini, pengguna boleh memilih topik dan kemudian memilih pilihan untuk mengundi.
Kod contoh:
<!DOCTYPE html> <html> <head> <title>进行投票</title> </head> <body> <h1 id="进行投票">进行投票</h1> <form action="vote.php" method="post"> <label for="subject_id">选择主题:</label> <select name="subject_id" id="subject_id"> <?php // 查询所有的投票主题 $sql = "SELECT * FROM vote_subject"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>"; } } ?> </select> <br><br> <label for="option_id">选择选项:</label> <select name="option_id" id="option_id"> <?php // 查询指定主题下的所有选项 $subject_id = $_POST['subject_id']; $sql = "SELECT * FROM vote_option WHERE subject_id = $subject_id"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "<option value=" . $row['option_id'] . ">" . $row['option_name'] . "</option>"; } } ?> </select> <br><br> <input type="submit" value="投票"> </form> </body> </html>
Dalam fail vote.php, kami boleh menerima data borang yang dihantar oleh pengguna dan kemudian mengemas kini undian pilihan berdasarkan tema dan pilihan yang dipilih.
Contoh kod:
<?php // 连接数据库(同上) // 接收用户提交的表单数据 $subject_id = $_POST['subject_id']; $option_id = $_POST['option_id']; // 更新选项票数 $sql = "UPDATE vote_option SET option_count = option_count + 1 WHERE option_id = $option_id"; if ($conn->query($sql) === TRUE) { echo "投票成功"; } else { echo "投票失败:" . $conn->error; } // 关闭数据库连接(同上) ?>
5. Rumusan
Melalui langkah di atas, kami telah melaksanakan sistem pengundian dalam talian yang mudah. Pengguna boleh melengkapkan keseluruhan proses pengundian dengan mencipta topik pengundian, menambah pilihan pengundian dan melaksanakan operasi pengundian. Sudah tentu, kod di atas hanyalah satu contoh, dan pembangunan sebenar mungkin memerlukan lebih banyak fungsi dan keselamatan untuk dipertimbangkan.
Saya harap artikel ini dapat membantu pembangun yang baru menggunakan PHP, dan saya harap anda boleh membangunkan sistem pengundian yang lebih menarik dan praktikal!
Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem pengundian dalam talian yang mudah menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
