Maison > développement back-end > tutoriel php > Comment implémenter un système de vote simple en utilisant PHP

Comment implémenter un système de vote simple en utilisant PHP

王林
Libérer: 2023-09-25 08:26:02
original
1769 Les gens l'ont consulté

Comment implémenter un système de vote simple en utilisant PHP

Comment mettre en œuvre un système de vote simple en utilisant PHP

1. Introduction
Avec le développement continu d'Internet, les activités de vote sur les réseaux sociaux et les plateformes en ligne deviennent de plus en plus courantes. Pour répondre à ce besoin, nous pouvons implémenter un système de vote simple utilisant le langage de programmation PHP. Cet article explique comment écrire un système de vote simple en utilisant PHP et fournit des exemples de code spécifiques.

2. Aperçu de la configuration requise
Notre système de vote doit répondre aux exigences suivantes :

  1. Les utilisateurs peuvent afficher les sujets et les options de vote.
  2. Les utilisateurs peuvent voter pour leurs options préférées.
  3. Les utilisateurs peuvent voir le nombre actuel de votes pour chaque option.
  4. Les utilisateurs ne peuvent pas voter à plusieurs reprises.
  5. Les administrateurs peuvent créer, modifier et supprimer des sujets et des options de sondage.
  6. L'administrateur peut consulter les informations de vote pour chaque option.

3. Conception de la structure des données
Afin de mettre en œuvre le système de vote, nous devons concevoir les tables de base de données suivantes :

  1. vote_subjects : une table qui stocke les sujets de vote, y compris l'identifiant (clé primaire), le titre (sujet de vote) et les champs create_at (heure de création).
  2. vote_options : une table qui stocke les options de vote, y compris les champs id (clé primaire), subject_id (clé étrangère, identifiant associé au sujet de vote), option_name (nom de l'option) et votes (nombre de votes).
  3. votes : une table qui stocke les informations de vote des utilisateurs, y compris les champs id (clé primaire), option_id (clé étrangère, identifiant associé aux options de vote) et ip_address (adresse IP de l'utilisateur).

4. Implémentation du code
Les exemples de code PHP clés pour implémenter le système de vote sont répertoriés ci-dessous :

  1. Connectez-vous à la base de données
    $host = 'localhost' // Adresse du serveur de base de données MySQL
    $; db = 'vote_system'; // Nom de la base de données
    $user = 'root'; // Nom d'utilisateur
    $pass = ''; // Mot de passe

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

  1. Requête des sujets et options de vote
    $sql = 'SELECT * FROM vote_subjects';
    $stmt = $conn- > requête($sql);
    $sujets = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($sujets en tant que $sujet) {

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>';
}
Copier après la connexion

}
?>

  1. votez
    < ?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->query($sql);
$count = $stmt->fetchColumn();

if ( $count > 0) {

echo '您已经投过票了!';
Copier après la connexion

} else {

$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 '投票成功!';
Copier après la connexion

}
?>

  1. Fonctions d'administration
    Les administrateurs peuvent soumettre des demandes de création, de modification et de suppression de sujets et d'options de vote à l'aide de formulaires HTML et sont traitées à l'aide des éléments suivants le code fonctionne.

Créez un sujet de vote :
$title = $_POST['title'];

$sql = "INSERT INTO vote_subjects (title) VALUES ("$title')";
$conn- > ;exec($sql);
?>

Créer des options de vote :
$subject_id = $_POST['subject_id'];
$option_name = $_POST['option_name'];

$ sql = "INSERT INTO vote_options (subject_id, option_name, votes) VALUES ($subject_id, '$option_name', 0)";
$conn->exec($sql);
?>

Modifier les options de vote :
< ;?php
$id = $_POST['id'];
$option_name = $_POST['option_name'];

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

Supprimer les options de vote :
$id = $_POST['id'];

$sql = "DELETE FROM vote_options WHERE id = $id";
$conn->exec($sql);
?>

5. Résumé
Ce ci-dessus est un exemple de code d'écriture d'un système de vote simple en utilisant PHP. Nous avons présenté comment se connecter à la base de données, interroger les sujets et options de vote, voter et implémenter les fonctions d'administrateur. Grâce à ces exemples de code, vous pouvez apprendre à utiliser le langage de programmation PHP pour implémenter un système de vote simple. Bien entendu, il ne s’agit que d’un exemple simple, et les systèmes de vote réels peuvent nécessiter davantage de fonctionnalités et de considérations de sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal