豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: PHP源码排班系统

🤖 Ai回答:
以下是一个简单的 基于 PHP 的排班系统源码示例,适合初学者或小型团队使用。该系统支持:

用户管理(员工)
班次设置(如早班、晚班、休息等)
月度排班表生成
排班查看与编辑
基础权限控制

✅ 本系统使用:`PHP + MySQL + HTML + CSS + JavaScript`
📁 项目结构清晰,可直接运行在本地环境(如 XAMPP / WAMP / LAMP)

🗂️ 项目目录结构

schedule_system/

├── config.php 数据库配置
├── index.php 首页(登录/跳转)
├── login.php 登录页面
├── logout.php 登出
├── dashboard.php 管理员首页
├── users.php 员工管理
├── shifts.php 班次管理
├── schedule.php 排班管理(核心功能)
├── assets/
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── script.js
└── db/
└── schema.sql 数据库建表语句

🛠️ 1、数据库建表(`db/schema.sql`)

sql
创建数据库
CREATE DATABASE IF NOT EXISTS schedule_db;
USE schedule_db;

员工表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
role ENUM('admin', 'staff') DEFAULT 'staff',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

班次表
CREATE TABLE shifts (
id INT AUTO_INCREMENT PRIMARY KEY,
shift_name VARCHAR(30) NOT NULL,
start_time TIME NOT NULL,
end_time TIME NOT NULL
);

排班表(按月存储)
CREATE TABLE schedules (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
shift_id INT NOT NULL,
date DATE NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (shift_id) REFERENCES shifts(id) ON DELETE CASCADE,
UNIQUE KEY unique_date_user (date, user_id)
);

💡 执行此文件创建数据库和表。

🔐 2、`config.php`(数据库连接)

php
<?php
$host = 'localhost';
$dbname = 'schedule_db';
$username = 'root'; // 根据你的数据库账号修改
$password = ''; // 根据你的数据库密码修改

try {
$pdo = new PDO(mysql:host=$host;dbname=$dbname, $username, $password);
$pdo-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die(数据库连接失败: 、$e-getMessage());
}
?

📝 3、`login.php`(登录页面)

php
<?php
session_start();
require_once 'config.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];

// 简单验证(实际应加密密码)
if ($username === 'admin' && $password === '123456') {
$_SESSION['user'] = ['id' = 1, 'role' = 'admin', 'name' = '管理员'];
header('Location: dashboard.php');
exit;
} else {
$error = 用户名或密码错误;
}
}
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title登录 排班系统</title
<link rel=stylesheet href=assets/css/style.css
</head
<body class=login-page
<div class=form-container
<h2管理员登录</h2
<?php if (isset($error)): ?
<p class=error<?= htmlspecialchars($error) ?</p
<?php endif; ?
<form method=POST
<input type=text name=username placeholder=用户名 required<br
<input type=password name=password placeholder=密码 required<br
<button type=submit登录</button
</form
</div
</body
</html

📊 4、`dashboard.php`(管理员主页)

php
<?php
session_start();
if (!isset($_SESSION['user']) $_SESSION['user']['role'] !== 'admin') {
header('Location: login.php');
exit;
}

require_once 'config.php';

// 获取统计信息
$stmt = $pdo-query(SELECT COUNT(*) FROM users);
$total_users = $stmt-fetchColumn();

$stmt = $pdo-query(SELECT COUNT(*) FROM shifts);
$total_shifts = $stmt-fetchColumn();

$stmt = $pdo-query(SELECT COUNT(*) FROM schedules WHERE date = CURDATE() INTERVAL 7 DAY);
$recent_schedules = $stmt-fetchColumn();
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title管理后台</title
<link rel=stylesheet href=assets/css/style.css
</head
<body
<div class=container
<h1排班管理系统</h1
<p欢迎,<?= htmlspecialchars($_SESSION['user']['name']) ?!</p

<div class=stats
<div class=stat-card员工总数: <?= $total_users ?</div
<div class=stat-card班次数量: <?= $total_shifts ?</div
<div class=stat-card最近7天排班: <?= $recent_schedules ?</div
</div

<div class=nav-links
<a href=users.php👥 员工管理</a
<a href=shifts.php⏰ 班次管理</a
<a href=schedule.php📅 月度排班</a
<a href=logout.php🚪 退出登录</a
</div
</div
</body
</html

👥 5、`users.php`(员工管理)

php
<?php
session_start();
if (!isset($_SESSION['user']) $_SESSION['user']['role'] !== 'admin') {
header('Location: login.php');
exit;
}

require_once 'config.php';

// 添加员工
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_user'])) {
$name = trim($_POST['name']);
if (!empty($name)) {
$stmt = $pdo-prepare(INSERT INTO users (name, role) VALUES (?, 'staff'));
$stmt-execute([$name]);
$msg = 员工添加成功;
}
}

// 删除员工
if (isset($_GET['delete'])) {
$id = (int)$_GET['delete'];
$stmt = $pdo-prepare(DELETE FROM users WHERE id = ?);
$stmt-execute([$id]);
$msg = 员工删除成功;
}

// 查询所有员工
$stmt = $pdo-query(SELECT id, name FROM users ORDER BY name);
$users = $stmt-fetchAll();
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title员工管理</title
<link rel=stylesheet href=assets/css/style.css
</head
<body
<div class=container
<h2员工管理</h2
<?php if (isset($msg)): ?
<p class=success<?= htmlspecialchars($msg) ?</p
<?php endif; ?

<! 添加员工表单
<form method=POST class=form-inline
<input type=text name=name placeholder=员工姓名 required
<button type=submit name=add_user添加员工</button
</form

<! 员工列表
<table
<thead
<tr
<thID</th
<th姓名</th
<th操作</th
</tr
</thead
<tbody
<?php foreach ($users as $u): ?
<tr
<td<?= $u['id'] ?</td
<td<?= htmlspecialchars($u['name']) ?</td
<td
<a href=?delete=<?= $u['id'] ? onclick=return confirm('确定删除?')删除</a
</td
</tr
<?php endforeach; ?
</tbody
</table
</div
</body
</html

⏰ 6、`shifts.php`(班次管理)

php
<?php
session_start();
if (!isset($_SESSION['user']) $_SESSION['user']['role'] !== 'admin') {
header('Location: login.php');
exit;
}

require_once 'config.php';

// 添加班次
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_shift'])) {
$name = trim($_POST['name']);
$start = $_POST['

Ai作答

📣 商家广告


算命

店名

广告招商

广告招商

取名


0

IP地址: 228.43.41.76

搜索次数: 0

提问时间: 2025-11-05 22:37:27

🛒 域名购买
ltkj.net
souhuai.com
hc.gs
chemen.com.cn
ndgj.cn
rq.gs
wosou.com.cn
23.gold
lifeisacharm.com
02.gs

❓️ 热门提问
robots.txt SEO
关闭vps
家用电脑主机多少钱
vps优惠促销
hgx h100服务器
站群SEO网站日志性能监控工具性能测试性能监控
云计算公司
linux安装dhcp服务器
外贸服务器
机柜控制柜
豌豆Ai站群搜索引擎系统

🌐 域名评估
ff.hn.cn
g.fj.cn
s.qh.cn
iveh.cn
ogau.cn
xphone.uno
su7.autos
app.ln.cn
rt.chat
su7.jl.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
软件开发公司  过关考典  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 65560 65561 65562 下一篇