


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!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


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

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular