cari
Rumahpembangunan bahagian belakangtutorial phpBagaimana untuk melaksanakan sistem pengundian mudah menggunakan PHP

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>';
}

}
?>

$subject_id = $_POST['subject_id'];
  • $option_id = $_POST['option_id'];
    $ip_address = $_SERVER['REMOTE_ADDR'];


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


    if ( $count > 0) {

    echo '您已经投过票了!';

    } 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 '投票成功!';

    }

    ?>


    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!

    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
    Kontena Suntikan Ketergantungan PHP: Permulaan yang cepatKontena Suntikan Ketergantungan PHP: Permulaan yang cepatMay 13, 2025 am 12:11 AM

    AphpdependencyInjectionContainerisatoLthatMatagesClassDependencies, EnhancingCodeModularity, Testability, andMaintainability.itactsascentralHubforcreatingandinjectingdependencies, sheReducingTightCouplingandeaseaseaseSunittesting.

    Suntikan ketergantungan berbanding pencari perkhidmatan di phpSuntikan ketergantungan berbanding pencari perkhidmatan di phpMay 13, 2025 am 12:10 AM

    Pilih DependencyInjection (DI) Untuk aplikasi besar, servicelocator sesuai untuk projek kecil atau prototaip. 1) DI meningkatkan kesesuaian dan modulariti kod melalui suntikan pembina. 2) ServiceLocator memperoleh perkhidmatan melalui pendaftaran pusat, yang mudah tetapi boleh menyebabkan peningkatan gandingan kod.

    Strategi Pengoptimuman Prestasi PHP.Strategi Pengoptimuman Prestasi PHP.May 13, 2025 am 12:06 AM

    Phpapplicationscanbeoptimizedforspeedandeficiencyby: 1) enablingopcacheinphp.ini, 2) menggunakan preparedSwithpdofordatabasequeries, 3) menggantikanloopswitharray_filterandarray_mapfordataprocessing, 4) configuringnginywinginywinyvinyvinginy

    Pengesahan E -mel PHP: Memastikan e -mel dihantar dengan betulPengesahan E -mel PHP: Memastikan e -mel dihantar dengan betulMay 13, 2025 am 12:06 AM

    PhpeMailvalidationInvolvestHreesteps: 1) formatValidationingRegularExpressionStocheckTheemailFormat; 2) dnsvalidationtoensurethedomainhasavalidmxrecord;

    Cara membuat aplikasi php lebih cepatCara membuat aplikasi php lebih cepatMay 12, 2025 am 12:12 AM

    Tomakephpapplicationsfaster, ikutiTheseSteps: 1) UseopcodecachinglikeopcachetostorePrecompiledscriptbytecode.2) minimizedatabasequeriesbyusingquerycachingandeficientindexing.3)

    Senarai Semak Pengoptimuman Prestasi PHP: Meningkatkan Kelajuan SekarangSenarai Semak Pengoptimuman Prestasi PHP: Meningkatkan Kelajuan SekarangMay 12, 2025 am 12:07 AM

    ToimprovePhpapPlicationspeed, ikutiTheSesteps: 1) EnableopCodeCachingWithApcutoreduceScriptExecutionTime.2) pelaksanaanDatabasequerycachingingPdotominimizedataBaseHits.3)

    Suntikan Ketergantungan PHP: Meningkatkan kebolehlaksanaan kodSuntikan Ketergantungan PHP: Meningkatkan kebolehlaksanaan kodMay 12, 2025 am 12:03 AM

    Suntikan ketergantungan (DI) dengan ketara meningkatkan kesesuaian kod PHP oleh kebergantungan transitif secara eksplisit. 1) Kelas Decoupling dan pelaksanaan khusus menjadikan ujian dan penyelenggaraan lebih fleksibel. 2) Di antara tiga jenis, pembina menyuntik kebergantungan ekspresi eksplisit untuk memastikan keadaan konsisten. 3) Gunakan bekas DI untuk menguruskan kebergantungan kompleks untuk meningkatkan kualiti kod dan kecekapan pembangunan.

    Pengoptimuman Prestasi PHP: Pengoptimuman Pertanyaan Pangkalan DataPengoptimuman Prestasi PHP: Pengoptimuman Pertanyaan Pangkalan DataMay 12, 2025 am 12:02 AM

    DatabaseQueryoptimizationInpinvolvesseverSlegatiesToenhancePratePratePratePratePratePregiesToRperformance.1) selectOnlynessaryColumnStoReducedatatatransfer.2) UseIndexingTospeedupdatareTrieval.3) PrevancequerycachingToStoreresultSoffReFfeFfffffffffffffffffffffffffffffffffffffffffffferseprewfffffffffffersepresseprespersepresperseprespersepresperseprespersepresperseprespers

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Artikel Panas

    Nordhold: Sistem Fusion, dijelaskan
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Pelayar Peperiksaan Selamat

    Pelayar Peperiksaan Selamat

    Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    VSCode Windows 64-bit Muat Turun

    VSCode Windows 64-bit Muat Turun

    Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

    MinGW - GNU Minimalis untuk Windows

    MinGW - GNU Minimalis untuk Windows

    Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.