Maison  >  Article  >  développement back-end  >  Comment ajouter une fonctionnalité de collaboration multi-utilisateurs au système de comptabilité - Comment développer une collaboration multi-utilisateurs à l'aide de PHP

Comment ajouter une fonctionnalité de collaboration multi-utilisateurs au système de comptabilité - Comment développer une collaboration multi-utilisateurs à l'aide de PHP

王林
王林original
2023-09-26 17:43:46715parcourir

如何为记账系统添加多用户协作功能 - 使用PHP开发多用户协作的方法

Comment ajouter une fonction de collaboration multi-utilisateurs au système de comptabilité - Comment développer une collaboration multi-utilisateurs à l'aide de PHP nécessite des exemples de code spécifiques

Des systèmes de comptabilité à usage personnel aux systèmes de gestion financière au niveau de l'entreprise, en passant par la collaboration multi-utilisateurs a toujours été des fonctionnalités importantes qui améliorent l’efficacité du travail et la collaboration. Dans cet article, nous verrons comment développer un système de comptabilité à l'aide de PHP et ajouter des fonctionnalités de collaboration multi-utilisateurs. Nous fournirons également des exemples de code concrets.

Première étape : conception de la base de données

Avant de commencer à écrire du code, nous devons d'abord concevoir la structure de la base de données. Dans cet article, nous utilisons MySQL comme système de gestion de base de données. Ce qui suit est une conception simple de table de base de données, comprenant une table utilisateur, une table de compte et une table d'autorisations.

Table des utilisateurs (table des utilisateurs) :

id (int) // 用户ID
username (varchar) // 用户名
password (varchar) // 密码

Table des comptes (table des comptes) :

id (int) // 账目ID
user_id (int) // 用户ID(外键,关联users表)
title (varchar) // 账目标题
description (text) // 账目描述
amount (decimal) // 金额

Table des autorisations (table des autorisations) :

id (int) // 权限ID
user_id (int) // 用户ID(外键,关联users表)
account_id (int) // 账目ID(外键,关联accounts表)

Après avoir créé la table ci-dessus dans la base de données, nous pouvons commencer à écrire du code PHP.

Étape 2 : Fonction d'enregistrement et de connexion de l'utilisateur

Tout d'abord, nous devons écrire le code pour la fonction d'enregistrement et de connexion de l'utilisateur. Lorsqu'un utilisateur s'inscrit, il doit fournir un nom d'utilisateur et un mot de passe et insérer les informations utilisateur dans le tableau des utilisateurs.

// 注册
if (isset($_POST['register'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    // 检查用户名是否已存在
    $checkUsernameQuery = "SELECT id FROM users WHERE username = '$username'";
    $checkUsernameResult = mysqli_query($con, $checkUsernameQuery);

    if (mysqli_num_rows($checkUsernameResult) > 0) {
        echo "用户名已存在";
    } else {
        // 插入新用户
        $insertUserQuery = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
        mysqli_query($con, $insertUserQuery);

        echo "注册成功";
    }
}

// 登录
if (isset($_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    // 检查用户名和密码是否匹配
    $checkUserQuery = "SELECT id FROM users WHERE username = '$username' AND password = '$password'";
    $checkUserResult = mysqli_query($con, $checkUserQuery);

    if (mysqli_num_rows($checkUserResult) > 0) {
        echo "登录成功";
    } else {
        echo "用户名或密码错误";
    }
}

Étape 3 : Gestion des autorisations entre utilisateurs

Ensuite, nous devons implémenter la fonction de gestion des autorisations entre utilisateurs. Autrement dit, un utilisateur peut spécifier les autorisations d'exploitation (telles que l'affichage, la modification, etc.) dont disposent les autres utilisateurs sur leurs propres comptes.

// 添加权限
if (isset($_POST['add_permission'])) {
    $account_id = $_POST['account_id'];
    $user_id = $_POST['user_id'];

    // 检查用户是否有权限修改该账目的权限
    // 这里需要根据实际情况进行权限判断,例如只有账目的创建者才能添加权限
    $checkPermissionQuery = "SELECT id FROM permissions WHERE account_id = '$account_id' AND user_id = '$currentUserId'";
    $checkPermissionResult = mysqli_query($con, $checkPermissionQuery);

    if (mysqli_num_rows($checkPermissionResult) > 0) {
        // 添加权限
        $insertPermissionQuery = "INSERT INTO permissions (user_id, account_id) VALUES ('$user_id', '$account_id')";
        mysqli_query($con, $insertPermissionQuery);

        echo "添加权限成功";
    } else {
        echo "您没有权限添加权限";
    }
}

// 删除权限
if (isset($_POST['delete_permission'])) {
    $permission_id = $_POST['permission_id'];

    // 检查用户是否有权限删除该权限
    // 这里需要根据实际情况进行权限判断,例如只有账目的创建者或权限的创建者才能删除权限
    $checkPermissionQuery = "SELECT id FROM permissions WHERE id = '$permission_id' AND (user_id = '$currentUserId' OR account_id = '$currentAccountId')";
    $checkPermissionResult = mysqli_query($con, $checkPermissionQuery);

    if (mysqli_num_rows($checkPermissionResult) > 0) {
        // 删除权限
        $deletePermissionQuery = "DELETE FROM permissions WHERE id = '$permission_id'";
        mysqli_query($con, $deletePermissionQuery);

        echo "删除权限成功";
    } else {
        echo "您没有权限删除该权限";
    }
}

Étape 4 : Implémenter les fonctions d'affichage et d'édition des comptes

Enfin, nous devons implémenter les fonctions d'affichage et d'édition des comptes. Les utilisateurs peuvent afficher les comptes pour lesquels ils disposent d'autorisations et modifier les comptes.

// 显示账目列表
$getAccountsQuery = "SELECT a.id, a.title, a.description, a.amount FROM accounts a, permissions p WHERE p.user_id = '$currentUserId' AND p.account_id = a.id";
$getAccountsResult = mysqli_query($con, $getAccountsQuery);

while ($row = mysqli_fetch_assoc($getAccountsResult)) {
    echo "账目标题:" . $row['title'] . "<br>";
    echo "账目描述:" . $row['description'] . "<br>";
    echo "账目金额:" . $row['amount'] . "<br>";
    echo "<br>";
}

// 编辑账目
if (isset($_POST['edit_account'])) {
    $account_id = $_POST['account_id'];
    $title = $_POST['title'];
    $description = $_POST['description'];
    $amount = $_POST['amount'];

    // 检查用户是否有权限编辑该账目
    $checkPermissionQuery = "SELECT id FROM permissions WHERE account_id = '$account_id' AND user_id = '$currentUserId'";
    $checkPermissionResult = mysqli_query($con, $checkPermissionQuery);

    if (mysqli_num_rows($checkPermissionResult) > 0) {
        // 更新账目信息
        $updateAccountQuery = "UPDATE accounts SET title = '$title', description = '$description', amount = '$amount' WHERE id = '$account_id'";
        mysqli_query($con, $updateAccountQuery);

        echo "账目编辑成功";
    } else {
        echo "您没有权限编辑该账目";
    }
}

Avec l'exemple de code ci-dessus, nous pouvons implémenter un système de comptabilité simple et ajouter la fonction de collaboration multi-utilisateurs. Les utilisateurs peuvent s'inscrire, se connecter, afficher des comptes, modifier des comptes et ajouter et supprimer des autorisations sur les comptes d'autres utilisateurs.

Bien qu'il ne s'agisse que d'un exemple basique, il peut vous ouvrir la porte à la mise en œuvre de systèmes comptables plus complexes et plus puissants. J'espère que cet article vous aidera !

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!

Déclaration:
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