這是一個使用 PHP 和 MySQL 開發的完整員工管理系統,採用黑色系配色設計,包含打卡、休息管理、薪資管理等功能。
- 🔐 安全登入驗證
- ⏰ 即時時間顯示
- 📍 上班/下班打卡
- ☕ 休息時間管理(午休、茶歇等)
- 📊 個人出勤統計
- 📋 出勤記錄查詢
- � 個人薪資記錄查看
- 📈 薪資趨勢圖表
- �📱 響應式設計(支援手機和平板)
- 👥 員工管理(新增、編輯、刪除)
- 📈 出勤報表查看
- ☕ 休息時間報表
- � 薪資管理系統
- 薪資類別設定
- 薪資記錄管理
- 狀態流程控制(待審核 → 已批准 → 已支付)
- 月度薪資統計
- 📊 薪資報表與分析
- 員工薪資排名
- 類別分布圖表
- 月度趨勢分析
- CSV 報表導出
- 📢 公告管理系統
- 🔍 多條件篩選搜尋
- 🎯 即時監控出勤狀況
- 🏷️ 多樣化薪資類別(基本薪資、績效獎金、專案獎金等)
- 📋 完整的薪資記錄管理
- 🔄 狀態工作流程(pending → approved → paid)
- 📈 視覺化圖表分析
- 💡 員工激勵機制
- 📊 統計報表功能
- 🎨 黑色系現代化介面
- 🚀 快速響應的 AJAX 操作
- 🔒 完整的權限控制
- 📱 移動設備友好
- 🛡️ SQL 注入防護
- 🔐 密碼加密存儲
- 📊 Chart.js 圖表整合
- PHP 7.4 或更高版本
- MySQL 5.7 或更高版本
- Apache/Nginx 網頁伺服器
- 支援 PDO MySQL 擴展
將所有檔案上傳到您的網站根目錄。
編輯 config/database.php 檔案,修改資料庫連接資訊:
$db_config = [
'host' => 'localhost',
'dbname' => 'staf_db',
'username' => 'root',
'password' => 'Cv#w5I6OE%l4x%0D',
'charset' => 'utf8mb4'
];在瀏覽器中訪問:http://your-domain.com/setup/init_db.php
這將自動創建必要的資料表並插入預設帳號。
執行薪資管理系統的資料庫腳本:
-- 導入薪資系統資料表
source database_salary.sql;或在 phpMyAdmin 中匯入 database_salary.sql 檔案。
系統會自動創建以下帳號:
管理員帳號
- 員工編號:
ADMIN001 - 密碼:
admin123
測試員工帳號
- 員工編號:
EMP001 - 密碼:
staff123
/
├── admin/ # 管理員後台
│ ├── dashboard.php # 管理員控制台
│ ├── attendance_report.php # 出勤報表
│ ├── break_report.php # 休息報表
│ ├── staff_management.php # 員工管理
│ ├── salary_management.php # 薪資管理
│ ├── salary_reports.php # 薪資報表
│ ├── announcements.php # 公告管理
│ ├── edit_staff.php # 編輯員工
│ ├── delete_staff.php # 刪除員工
│ └── export_attendance.php # 導出CSV
├── api/ # API 接口
│ ├── clock_in.php # 上班打卡API
│ ├── clock_out.php # 下班打卡API
│ ├── break_start.php # 開始休息API
│ ├── break_end.php # 結束休息API
│ └── mark_announcement_read.php # 標記公告已讀
├── assets/ # 靜態資源
│ ├── css/
│ │ └── style.css # 主要樣式檔案
│ └── js/
│ └── main.js # JavaScript 功能
├── auth/ # 認證相關
│ ├── login_process.php # 登入處理
│ └── logout.php # 登出處理
├── config/ # 配置檔案
│ └── database.php # 資料庫配置
├── includes/ # 共用檔案
│ ├── functions.php # 共用函數
│ └── responsive_nav.js # 響應式導航
├── setup/ # 安裝檔案
│ └── init_db.php # 資料庫初始化
├── staff/ # 員工功能
│ ├── dashboard.php # 員工控制台
│ ├── attendance_history.php # 出勤記錄
│ └── salary_view.php # 薪資查看
├── database_salary.sql # 薪資系統資料庫腳本
└── index.php # 登入頁面
id- 主鍵staff_id- 員工編號(唯一)name- 姓名email- 電子郵件password- 密碼(加密)department- 部門position- 職位is_admin- 是否為管理員created_at- 創建時間updated_at- 更新時間
id- 主鍵name- 類別名稱description- 類別描述color- 顯示顏色is_active- 是否啟用created_at- 創建時間
id- 主鍵staff_id- 員工編號(外鍵)category_id- 薪資類別(外鍵)title- 薪資項目標題description- 詳細說明amount- 金額record_date- 記錄日期status- 狀態(pending/approved/rejected/paid)approved_at- 批准時間paid_at- 支付時間created_at- 創建時間
id- 主鍵staff_id- 員工編號(外鍵)year- 年份month- 月份total_amount- 總金額paid_amount- 已支付金額record_count- 記錄數last_updated- 最後更新時間
id- 主鍵staff_id- 員工編號(外鍵)check_in_time- 上班時間check_out_time- 下班時間work_date- 工作日期total_hours- 總工作時數status- 出勤狀態notes- 備註created_at- 創建時間updated_at- 更新時間
present- 正常出勤late- 遲到(超過 09:00 打卡)absent- 缺席(未打卡)early_leave- 早退(未滿 8 小時且早於 18:00 下班)
- 使用員工編號和密碼登入
- 在控制台進行上班打卡
- 工作結束後進行下班打卡
- 可查看個人出勤記錄和統計
- 使用管理員帳號登入
- 在控制台查看整體出勤狀況
- 在出勤報表中查看詳細記錄
- 在員工管理中新增/編輯員工
- 可導出 CSV 報表進行分析
- 密碼使用 PHP
password_hash()加密 - 使用 PDO 預處理語句防止 SQL 注入
- Session 管理和權限控制
- 輸入驗證和 HTML 轉義
- CSRF 保護(表單提交驗證)
在 includes/functions.php 中可以修改:
- 標準上班時間:預設 09:00
- 標準下班時間:預設 18:00
- 標準工作時數:預設 8 小時
主要樣式檔案位於 assets/css/style.css,採用 CSS 變數設計,便於修改配色。
如果遇到問題,請檢查:
- PHP 版本是否符合需求
- MySQL 服務是否正常運行
- 資料庫連接設定是否正確
- 檔案權限是否正確設置
此專案僅供學習和內部使用,請勿用於商業用途。
- 初始版本發布
- 完整的打卡功能
- 管理員後台
- 報表導出功能
- 響應式設計