Bagaimana untuk melaksanakan sistem pengundian mudah menggunakan PHP

王林
Lepaskan: 2023-09-25 08:26:02
asal
1736 orang telah melayarinya

Bagaimana untuk melaksanakan sistem pengundian mudah menggunakan PHP

Cara melaksanakan sistem pengundian mudah menggunakan PHP

1. Pengenalan
Dengan perkembangan Internet yang berterusan, aktiviti mengundi di rangkaian sosial dan platform dalam talian menjadi semakin biasa. Untuk memenuhi keperluan ini, kita boleh melaksanakan sistem pengundian mudah menggunakan bahasa pengaturcaraan PHP. Artikel ini akan memperkenalkan cara menulis sistem pengundian mudah menggunakan PHP dan memberikan contoh kod khusus.

2. Gambaran keseluruhan keperluan sistem
Sistem pengundian kami perlu memenuhi keperluan berikut:

  1. Pengguna boleh melihat topik dan pilihan pengundian.
  2. Pengguna boleh mengundi untuk pilihan kegemaran mereka.
  3. Pengguna boleh melihat jumlah undian semasa untuk setiap pilihan.
  4. Pengguna tidak boleh mengundi berulang kali.
  5. Pentadbir boleh membuat, mengedit dan memadam topik dan pilihan tinjauan pendapat.
  6. Pentadbir boleh melihat maklumat undian untuk setiap pilihan.

3. Reka bentuk struktur data
Untuk melaksanakan sistem pengundian, kita perlu mereka bentuk jadual pangkalan data berikut:

  1. vote_subjects: jadual yang menyimpan subjek pengundian, termasuk id (kunci utama), tajuk (subjek pengundian) dan medan create_at (masa penciptaan) .
  2. vote_options: Jadual yang menyimpan pilihan pengundian, termasuk medan id (kunci utama), subject_id (kunci asing, id yang dikaitkan dengan subjek undian), option_name (nama pilihan) dan undian (bilangan undi).
  3. undi: Jadual yang menyimpan maklumat pengundian pengguna, termasuk medan id (kunci utama), option_id (kunci asing, id yang dikaitkan dengan pilihan mengundi) dan ip_address (alamat IP pengguna).

4. Pelaksanaan Kod
Contoh kod PHP utama untuk melaksanakan sistem pengundian disenaraikan di bawah:

  1. Sambung ke pangkalan data
    $host = 'localhost' // alamat pelayan pangkalan data MySQL
    $ db = ' vote_system'; // Nama pangkalan data
    $user = 'root'; // Nama pengguna
    $pass = ''; // Kata laluan

$conn = new PDO("mysql:host=$host;dbname= $db ;charset=utf8", $user, $pass);
?>

  1. Soal subjek undian dan pilihan
    $sql = 'PILIH * DARI undi_subjek';
    $stmt = $conn- >pertanyaan($sql);
    $subjek = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($subjek sebagai $subjek) {

echo $subject['title'] . '<br>';

$subject_id = $subject['id'];
$sql = "SELECT * FROM vote_options WHERE subject_id = $subject_id";
$stmt = $conn->query($sql);
$options = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($options as $option) {
    echo $option['option_name'] . ': ' . $option['votes'] . ' votes<br>';
}
Salin selepas log masuk

}
?>

< ?php
    $subject_id = $_POST['subject_id'];
  1. $option_id = $_POST['option_id'];
    $ip_address = $_SERVER['REMOTE_ADDR'];


    $sql = " *) DARI undian WHERE option_id = $option_id DAN ip_address = '$ip_address'";
  2. $stmt = $conn->query($sql);
$count = $stmt->fetchColumn();


if ( $count > 0) {

echo '您已经投过票了!';
Salin selepas log masuk

} lain {

$sql = "UPDATE vote_options SET votes = votes + 1 WHERE id = $option_id";
$conn->exec($sql);

$sql = "INSERT INTO votes (option_id, ip_address) VALUES ($option_id, '$ip_address')";
$conn->exec($sql);

echo '投票成功!';
Salin selepas log masuk
}

?>


Fungsi Pentadbiran

Pentadbir boleh menyerahkan penciptaan, mengedit dan memadam permintaan untuk topik dan pilihan mengundi menggunakan borang HTML dan diproses menggunakan borang HTML berikut kod beroperasi.

  1. Buat topik undian:
  2. $title = $_POST['title'];


    $sql = "INSERT IN TO vote_subjects (title) NILAI ('$title')";
    $conn- > ;exec($sql);

    ?>


    Buat pilihan mengundi:
    $subject_id = $_POST['subject_id'];

    $option_name = $_POST['option_name'];
    sql = "INSERT IN TO vote_options (subject_id, option_name, votes) NILAI ($subject_id, '$option_name', 0)";
    $conn->exec($sql);
    ?>

    Edit pilihan pengundian:
    < ;?php
    $id = $_POST['id'];

    $option_name = $_POST['option_name'];


    $sql = "KEMASKINI vote_options SET option_name = '$option_name' WHERE id = $id";
    $conn->exec($sql);
    ?>

    Padamkan pilihan mengundi:
    $id = $_POST['id'];

    $sql = "PADAM DARI pilihan_undi DI MANA = $id";
    $conn->exec($sql);
    ?>

    5. Rumusan
    Di atas ialah contoh kod menulis sistem pengundian mudah menggunakan PHP. Kami memperkenalkan cara menyambung ke pangkalan data, bertanya topik dan pilihan undian, mengundi dan melaksanakan fungsi pentadbir. Melalui contoh kod ini, anda boleh belajar cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan sistem pengundian yang mudah. Sudah tentu, ini hanyalah contoh mudah, dan sistem pengundian sebenar mungkin memerlukan lebih banyak fungsi dan pertimbangan keselamatan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sistem pengundian mudah menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan