Mit der kontinuierlichen Entwicklung des Internets sind die Online -Stimmrechte nach und nach zu einer wichtigen interaktiven Methode für verschiedene Websites und Plattformen geworden. Mit der PHP -Sprache können wir schnell ein grundlegendes Abstimmungssystem implementieren, das Benutzerfunktionen, Ergebnisstatistiken und Administratormanagementfunktionen unterstützt. In diesem Artikel wird der Bauprozess eines Abstimmungssystems von der Datenbankdesign bis zur Codeimplementierung angezeigt.
Dieses Abstimmungssystem enthält hauptsächlich die folgenden Funktionen:
Um die oben genannten Funktionen zu unterstützen, müssen die folgenden Datentabellen entworfen werden:
Hier sind Beispiele für wichtige PHP -Implementierungen für Abstimmungssysteme:
Stellen Sie eine Verbindung zur Datenbank her:
<?php $host = 'localhost'; $db = 'vote_system'; $user = 'root'; $pass = ''; $conn = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass); ?>
Abfragethemen und -optionen:
<?php $sql = 'SELECT * FROM vote_subjects'; $stmt = $conn->Abfrage ($ SQL); $ themen = $ stmt-> fetchall (pdo :: fetch_assoc); foreach ($ themen als $ subjekt) { echo $ thema ['title']. ''<br> '; $ subjekt_id = $ subjekt ['id']; $ sql = "Auswahl * aus Vote_Options wobei Subjekt_ID = $ prov. ID"; $ stmt = $ conn-> query ($ sql); $ options = $ stmt-> fetchall (pdo :: fetch_assoc); foreach ($ option as $ option) { echo $ option ['option_name']. ':'. $ option ['Stimmen']. 'Stimmen<br> '; } } ?>
Abstimmungslogik:
<?php $subject_id = $_POST['subject_id']; $option_id = $_POST['option_id']; $ip_address = $_SERVER['REMOTE_ADDR']; $sql = "SELECT COUNT(*) FROM votes WHERE option_id = $option_id AND ip_address = '$ip_address'"; $stmt = $conn-> Abfrage ($ SQL); $ count = $ stmt-> fetchcolumn (); if ($ count> 0) { Echo 'du hast gestimmt! '; } anders { $ SQL = "VORMUSIGEN AUFTIMMENTIERTEN_OPTIONS STEILE VOTETS = VOTES + 1 WOIT ID = $ option_id"; $ conn-> exec ($ sql); $ sql = "In Stimmen (option_id, ip_address) Werte einfügen ($ option_id, '$ ip_address')"; $ conn-> exec ($ sql); Echo 'Abstimmung war erfolgreich! '; } ?>
Beispiel für Administratorfunktion:
<?php // Erstellen Sie ein Wahlthema $title = $_POST['title']; $sql = "INSERT INTO vote_subjects (title) VALUES ('$title')"; $conn-> exec ($ sql); // Abstimmungsoption erstellen $ subjekt_id = $ _post ['subjekt_id']; $ option_name = $ _post ['option_name']; $ sql = "In Voice_Options einfügen (Subjekt_ID, Option_Name, Stimmen) Werte ($ subjekt_id, '$ option_name', 0)"; $ conn-> exec ($ sql); // Abstimmungsoption bearbeiten $ id = $ _post ['id']; $ option_name = $ _post ['option_name']; $ sql = "VORMUSIGKEIT UPDATE_OPTIONS SET option_name = '$ option_name' wobei id = $ id"; $ conn-> exec ($ sql); // die Wahloption löschen $ id = $ _post ['id']; $ sql = "Aus Voice_Options löschen wobei id = $ id"; $ conn-> exec ($ sql); ?>
Dieser Artikel zeigt den Implementierungsprozess eines einfachen Abstimmungssystems basierend auf PHP, die die Datenbankstruktur, die Benutzerabstimmungslogik und die Operationsbetriebsbeispiele abdecken. Dieses System kann grundlegende Stimmbedürfnisse erfüllen, aber in tatsächlichen Anwendungen ist es auch erforderlich, Sicherheit (z. B. SQL-Injektionsschutz), Benutzerauthentifizierung und Front-End-Anzeigeoptimierung hinzuzufügen, um in realen Szenarien besser zu gelten.