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

Comment développer un système de vote en ligne simple en utilisant PHP

WBOY
Libérer: 2023-09-24 11:48:01
original
1224 Les gens l'ont consulté

Comment développer un système de vote en ligne simple en utilisant PHP

Comment développer un système de vote en ligne simple en utilisant PHP

Le vote est une activité très courante, que ce soit dans les écoles, les entreprises ou les sociétés, diverses activités de vote sont souvent organisées. Avec le développement d’Internet, de nombreuses activités de vote peuvent désormais se dérouler en ligne. Cet article explique comment utiliser PHP pour développer un système de vote en ligne simple et fournit des exemples de code spécifiques.

1. Conception de la base de données

Tout d'abord, nous devons concevoir une base de données pour stocker les informations relatives au vote. Supposons que nous devions concevoir deux tables : la table des sujets de vote (vote_subject) et la table des options de vote (vote_option).

La table des sujets de vote doit contenir les champs suivants :

  • ID du sujet (subject_id) : l'identifiant unique du sujet, généralement un entier auto-croissant.
  • Nom du sujet (subject_name) : Le nom du sujet.
  • Creation time (create_time) : L'heure de création du thème.

Le tableau des options de vote doit contenir les champs suivants :

  • ID d'option (option_id) : l'identifiant unique de l'option, généralement un entier à incrémentation automatique.
  • ID du sujet (subject_id) : L'ID du sujet auquel appartient l'option.
  • Nom de l'option (option_name) : Le nom de l'option.
  • Votes d'option (option_count) : Le nombre actuel de votes pour l'option.

2. Créer un sujet de vote

Tout d'abord, nous devons créer une page permettant aux utilisateurs de créer de nouveaux sujets de vote. Sur cette page, les utilisateurs peuvent saisir un nom de sujet et soumettre le formulaire.

Exemple de code :

<!DOCTYPE html>
<html>
<head>
    <title>创建投票主题</title>
</head>
<body>
    <h1>创建投票主题</h1>
    <form action="create_subject.php" method="post">
        <label for="subject_name">主题名称:</label>
        <input type="text" name="subject_name" id="subject_name" required>
        <br><br>
        <input type="submit" value="创建">
    </form>
</body>
</html>
Copier après la connexion

Dans le fichier create_subject.php, nous pouvons recevoir les données du formulaire soumises par l'utilisateur, puis insérer le nom du sujet dans la table des sujets de vote et générer un nouvel identifiant de sujet.

Exemple de code :

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "vote_system";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接数据库失败:" . $conn->connect_error);
}

// 接收用户提交的表单数据
$subject_name = $_POST['subject_name'];

// 将主题名称插入投票主题表
$sql = "INSERT INTO vote_subject (subject_name, create_time) VALUES ('$subject_name', NOW())";
if ($conn->query($sql) === TRUE) {
    $subject_id = $conn->insert_id;  // 获取新的主题ID
    echo "创建投票主题成功,主题ID为:" . $subject_id;
} else {
    echo "创建投票主题失败:" . $conn->error;
}

// 关闭数据库连接
$conn->close();
?>
Copier après la connexion

3. Ajouter des options de vote

Ensuite, nous devons créer une page pour ajouter des options de vote. Dans cette page, l'utilisateur doit saisir le nom de l'option et sélectionner le sujet auquel elle appartient.

Exemple de code :

<!DOCTYPE html>
<html>
<head>
    <title>添加投票选项</title>
</head>
<body>
    <h1>添加投票选项</h1>
    <form action="add_option.php" method="post">
        <label for="option_name">选项名称:</label>
        <input type="text" name="option_name" id="option_name" required>
        <br><br>
        <label for="subject_id">所属主题:</label>
        <select name="subject_id" id="subject_id">
            <?php
            // 查询所有的投票主题
            $sql = "SELECT * FROM vote_subject";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <input type="submit" value="添加">
    </form>
</body>
</html>
Copier après la connexion

Dans le fichier add_option.php, nous pouvons recevoir les données du formulaire soumises par l'utilisateur, puis insérer le nom de l'option et le sujet auquel elle appartient dans le tableau des options de vote.

Exemple de code :

<?php
// 连接数据库(同上)

// 接收用户提交的表单数据
$option_name = $_POST['option_name'];
$subject_id = $_POST['subject_id'];

// 将选项名称和所属主题插入投票选项表
$sql = "INSERT INTO vote_option (subject_id, option_name, option_count) VALUES ('$subject_id', '$option_name', 0)";
if ($conn->query($sql) === TRUE) {
    echo "添加投票选项成功";
} else {
    echo "添加投票选项失败:" . $conn->error;
}

// 关闭数据库连接(同上)
?>
Copier après la connexion

4. Opération de vote

Enfin, nous devons créer une page permettant aux utilisateurs de voter. À partir de cette page, les utilisateurs peuvent sélectionner un sujet, puis choisir une option sur laquelle voter.

Exemple de code :

<!DOCTYPE html>
<html>
<head>
    <title>进行投票</title>
</head>
<body>
    <h1>进行投票</h1>
    <form action="vote.php" method="post">
        <label for="subject_id">选择主题:</label>
        <select name="subject_id" id="subject_id">
            <?php
            // 查询所有的投票主题
            $sql = "SELECT * FROM vote_subject";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <label for="option_id">选择选项:</label>
        <select name="option_id" id="option_id">
            <?php
            // 查询指定主题下的所有选项
            $subject_id = $_POST['subject_id'];
            $sql = "SELECT * FROM vote_option WHERE subject_id = $subject_id";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['option_id'] . ">" . $row['option_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <input type="submit" value="投票">
    </form>
</body>
</html>
Copier après la connexion

Dans le fichier vote.php, nous pouvons recevoir les données du formulaire soumises par l'utilisateur, puis mettre à jour le décompte des votes de l'option en fonction du thème et de l'option sélectionnés.

Exemple de code :

<?php
// 连接数据库(同上)

// 接收用户提交的表单数据
$subject_id = $_POST['subject_id'];
$option_id = $_POST['option_id'];

// 更新选项票数
$sql = "UPDATE vote_option SET option_count = option_count + 1 WHERE option_id = $option_id";
if ($conn->query($sql) === TRUE) {
    echo "投票成功";
} else {
    echo "投票失败:" . $conn->error;
}

// 关闭数据库连接(同上)
?>
Copier après la connexion

5. Résumé

Grâce aux étapes ci-dessus, nous avons mis en œuvre un système de vote en ligne simple. Les utilisateurs peuvent terminer l'ensemble du processus de vote en créant des sujets de vote, en ajoutant des options de vote et en effectuant des opérations de vote. Bien entendu, le code ci-dessus n’est qu’un exemple, et le développement réel peut nécessiter davantage de fonctions et de sécurité.

J'espère que cet article pourra être utile aux développeurs qui débutent avec PHP, et j'espère que vous pourrez développer des systèmes de vote plus intéressants et plus pratiques !

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