Comment utiliser la fonction PHP Developer Mall : créer un système de gestion des autorisations et d'administration
Avec le développement d'Internet, les centres commerciaux en ligne sont devenus le choix de nombreuses entreprises et entrepreneurs individuels. Lors du développement d’un système de centre commercial, la gestion des autorisations et le système d’administration sont l’une des fonctions très importantes. Cet article expliquera comment utiliser PHP pour développer des fonctions urbaines et créer des systèmes de gestion des autorisations et d'administration.
1. Conception de la base de données
Avant de commencer le développement, vous devez d'abord concevoir la structure de la base de données. Dans le système du centre commercial, les tables couramment utilisées incluent la table des utilisateurs, la table des produits, la table des commandes, etc. Dans le but de réaliser un système de gestion des autorisations et d'administrateur, nous devons également ajouter une table d'administrateur et une table d'autorisation.
Exemple de conception de table d'administrateur :
CREATE TABLE admin
(admin
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(30) NOT NULL,
password
varchar(50) NOT NULL,
email
varchar(50) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
权限表设计示例:
CREATE TABLE permission
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(50) NOT NULL,
description
varchar(100) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
为了实现权限管理,在用户表和角色表中需增加权限ID的外键。
用户表设计示例:
CREATE TABLE user
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(30) NOT NULL,
password
varchar(50) NOT NULL,
email
varchar(50) NOT NULL,
permission_id
int(11) DEFAULT NULL,
PRIMARY KEY (id
),
KEY permission_id
(permission_id
),
CONSTRAINT user_permission_fk
FOREIGN KEY (permission_id
) REFERENCES permission
(id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
角色表设计示例:
CREATE TABLE role
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(50) NOT NULL,
permission_id
int(11) NOT NULL,
PRIMARY KEY (id
),
KEY permission_id
(permission_id
),
CONSTRAINT role_permission_fk
FOREIGN KEY (permission_id
) REFERENCES permission
(id
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(30) NON NULL,
mot de passe
varchar(50) NON NULL, email
varchar(50) NON NULL,
id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Exemple de conception de table d'autorisation :
CREATE TABLE permission
(
id
int(11) NOT NULL AUTO_INCREMENT, nom
varchar(50) NOT NULL,
description
varchar(100) DEFAULT NULL, PRIMARY KEY (id
)
user
( id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(30) NON NULL, mot de passe
varchar(50) NON NULL,
email
varchar(50) NON NULL, permission_id
int(11) DEFAULT NULL ,
id
),🎜 CLÉ permission_id
(permission_id
),🎜 CONTRAINTE user_permission_fk
CLÉ ÉTRANGÈRE (permission_id) RÉFÉRENCES permission
(id
)🎜) ENGINE=InnoDB DEFAULT CHARSET=utf8;🎜🎜Exemple de conception de table de caractères : 🎜🎜CREATE TABLE role
(🎜 id
int(11) NON NULL AUTO_INCREMENT,🎜 name
varchar(50) NON NULL,🎜 permission_id
int (11) NON NULL,🎜 CLÉ PRIMAIRE (id
),🎜 CLÉ permission_id
(permission_id
),🎜 CONTRAINTE role_permission_fk
CLÉ ÉTRANGÈRE (permission_id
) RÉFÉRENCES permission
(id
)🎜) ENGINE=InnoDB DEFAULT CHARSET=utf8;🎜🎜2. 🎜Dans le système du centre commercial, différents rôles ont des autorisations différentes. Par exemple, les administrateurs ont le pouvoir de gérer les utilisateurs, les produits et les commandes, tandis que les utilisateurs ordinaires ne peuvent acheter que des produits. Par conséquent, différentes autorisations doivent être définies et attribuées à différents rôles. 🎜🎜Dans le tableau des autorisations, vous pouvez définir le nom et la description de l'autorisation. Dans la table des rôles, vous pouvez spécifier le nom du rôle et les autorisations correspondantes. 🎜🎜3. Construire un système administrateur 🎜🎜 Ensuite, prenez le système administrateur comme exemple pour présenter comment implémenter la fonction de création d'un système administrateur. 🎜🎜Tout d'abord, nous devons créer un formulaire de connexion pour la connexion administrateur : 🎜<form action="admin-login.php" method="post"> <input type="text" name="username" placeholder="用户名"> <input type="password" name="password" placeholder="密码"> <input type="submit" value="登录"> </form>
<?php // 检查用户名和密码 $username = $_POST['username']; $password = $_POST['password']; // 在数据库中查询管理员信息 // 省略代码 // 验证密码 // 省略代码 // 检查权限 $permissionId = $admin['permission_id']; // 在数据库中查询权限信息 // 省略代码 // 将管理员信息存储在session中 // 省略代码 // 跳转到管理员首页 header("Location: admin-index.php");
<?php session_start(); if (isset($_SESSION['admin'])) { $admin = $_SESSION['admin']; $permissionId = $admin['permission_id']; // 根据权限显示相应的管理功能 if ($permissionId == 1) { // 显示用户管理功能 echo "用户管理"; } elseif ($permissionId == 2) { // 显示商品管理功能 echo "商品管理"; } elseif ($permissionId == 3) { // 显示订单管理功能 echo "订单管理"; } } else { // 未登录跳转到登录页 header("Location: admin-login.php"); }
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!