Aktueller Standort: Startseite> Neueste Artikel> Tutorial für das Implementierung von PHP -Abstimmungssystemen: vom Datenbankdesign bis zum Code -Beispiele

Tutorial für das Implementierung von PHP -Abstimmungssystemen: vom Datenbankdesign bis zum Code -Beispiele

M66 2025-09-19

Einführung

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.

Systemanforderungen

Dieses Abstimmungssystem enthält hauptsächlich die folgenden Funktionen:

  • Benutzer können Stimmthemen und Optionen anzeigen
  • Benutzer können für ihre bevorzugten Optionen stimmen
  • Benutzer können die Anzahl der Stimmen für jede Option anzeigen
  • Der gleiche Benutzer kann nicht wiederholt abstimmen
  • Administratoren können Abstimmungsthemen und -optionen hinzufügen, ändern und löschen
  • Administratoren können Abstimmungsergebnisse anzeigen

Datenbankdesign

Um die oben genannten Funktionen zu unterstützen, müssen die folgenden Datentabellen entworfen werden:

  • VESE_SUBJECTS : Stimmen für Stimmthemen, einschließlich ID , Titel , erstellt_at
  • VOTE_OPTIONIONS : Stimmen Sie Abstimmungsoptionen, einschließlich ID , Subjekt_ID , Option_Name , Stimmen
  • Stimmen : Benutzerstimmungsdatensätze, einschließlich ID , Option_ID , ip_address speichern

Code -Implementierung

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 [&#39;title&#39;]. &#39;&#39;<br> &#39;;
    $ subjekt_id = $ subjekt [&#39;id&#39;];
    $ 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 [&#39;option_name&#39;]. &#39;:&#39;. $ option [&#39;Stimmen&#39;]. &#39;Stimmen<br> &#39;;
    }
}
?>

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 &#39;du hast gestimmt! &#39;;
} 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, &#39;$ ip_address&#39;)";
    $ conn-> exec ($ sql);

    Echo &#39;Abstimmung war erfolgreich! &#39;;
}
?>

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 [&#39;subjekt_id&#39;];
$ option_name = $ _post [&#39;option_name&#39;];
$ sql = "In Voice_Options einfügen (Subjekt_ID, Option_Name, Stimmen) Werte ($ subjekt_id, &#39;$ option_name&#39;, 0)";
$ conn-> exec ($ sql);

// Abstimmungsoption bearbeiten $ id = $ _post [&#39;id&#39;];
$ option_name = $ _post [&#39;option_name&#39;];
$ sql = "VORMUSIGKEIT UPDATE_OPTIONS SET option_name = &#39;$ option_name&#39; wobei id = $ id";
$ conn-> exec ($ sql);

// die Wahloption löschen $ id = $ _post [&#39;id&#39;];
$ sql = "Aus Voice_Options löschen wobei id = $ id";
$ conn-> exec ($ sql);
?>

Zusammenfassen

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.