基本上要包括几个表:用户表(users)、校友信息表(alumni)和权限表(roles)。比如,users表应该有id、username、password等字段。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
role_id INT,
FOREIGN KEY (role_id) REFERENCES roles(id)
);
登录逻辑可以用PHP写。首先接收POST请求,然后检查用户名和密码是否匹配,最后设置session。
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
// 验证逻辑省略...
$_SESSION['logged_in'] = true;
header('Location: dashboard.php');
exit;
}
?>
我们可以创建一个校友信息表,存储姓名、毕业年份、联系方式等信息。同时,为了方便搜索,还可以添加索引。
CREATE TABLE alumni (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
graduation_year YEAR,
contact_info TEXT,
UNIQUE(name, graduation_year)
);
我们可以维护一个roles表,定义不同角色的权限级别,并在每个操作前检查用户的权限。
<?php
function check_permission($required_role) {
session_start();
if (!isset($_SESSION['logged_in']) || $_SESSION['role'] !== $required_role) {
die("Access Denied");
}
}
?>
]]>