


因为工作需要,每天需要打很多次卡,然后忙起来就忘了,忙完了就会想,刚才打卡了吗?弄错就会漏打卡了,漏打卡会有处罚。就想到写一个程序来解决这个痛点。就有了本次发布的这个程序。
PHP项目,修改起来也简单,也方便二开。本来就是H5页面布局,部署好,直接手机浏览器打开,或者使用封装工具,封装成apk。本人已打包为微信小程序,使用起来很方便。
项目简介
本项目是一个多用户打卡记录系统,基于 PHP + MySQL 开发,提供简洁的用户打卡功能和记录管理。
核心功能
功能模块 描述
用户认证 支持用户注册、登录、密码修改、密码重置
打卡功能 用户可进行每日打卡,记录打卡时间
记录查询 支持按日期查询打卡记录
用户管理 支持头像上传、个人信息查看
数据统计 提供打卡统计功能
技术特点
轻量级架构:纯 PHP 开发,无需框架依赖,部署简单
响应式设计:移动端友好的 UI 界面,支持触摸操作
安全性:
使用 prepare + bind_param 防止 SQL 注入
密码采用哈希加密存储
Session 会话管理用户状态
模块化设计:API 接口与前端分离,便于扩展
项目结构
Plain Text
├── api/ # RESTful API 接口
│ ├── checkin.php # 打卡接口
│ ├── login.php # 登录接口
│ ├── register.php # 注册接口
│ ├── records.php # 记录查询接口
│ ├── stats.php # 统计接口
│ └── …
├── config/ # 配置文件
│ ├── database.php # 数据库配置
│ └── auth.php # 认证配置
├── sql/ # 数据库脚本
│ └── init.sql # 初始化脚本
├── avatars/ # 头像存储目录
├── index.php # 首页(打卡页面)
├── records.php # 记录查询页面
├── profile.php # 用户中心
└── install.php # 数据库安装页面
数据库设计
users 表:存储用户信息(用户名、密码、邮箱、手机号、头像)
checkin_records 表:存储打卡记录(用户ID、打卡时间、照片路径)
使用方式
访问 install.php 初始化数据库
注册账号并登录
在首页点击”立即打卡”按钮完成打卡
通过底部导航查看打卡记录和个人信息
部署方法:
本人使用的nas上安装的宝塔面板部署的后端,部署方法参考我另外一篇帖子:会员管理系统php+Nginx+mysql版以及部署步骤


評論(24)
這系統剛好是我需要的,打卡老是忘,終於找到解法了
真的,這套很適合,我用了兩天挺好使
SQL防注入做得不錯,但圖片的支援拿掉有點可惜
安裝步驟有夠簡單嗎?我沒NAS,直接放虛擬主機能跑?
幹嘛不把圖片功能放進去啦,打卡附個照片比較方便啊
圖片功能可能作者想保持輕量,我自己加了下不難啦
我公司也卡這問題,簽到單常常漏,這個直接用手機搞定👍
密碼重置功能有做出來嗎?沒看到具體怎麼弄
H5封裝成小程序這思路不錯,但速度會不會卡?
又是一個寶塔部署的教學,能不能用docker一次搞定
寶塔確實沒那麼高端,但對新手算友善了吧🤔
打卡功能我只需要簡單的,太複雜反而不想用
統計功能有圖表嗎?想看自己這個月打幾次卡
同一帳號可以多個人用嗎?還是要分別註冊?
數據能不能匯出成CSV啊,方便報帳
那個密碼重置功能文章沒說清楚,感覺有點不安全
我之前也漏打卡被扣錢,後來自己寫了個簡單的腳本,看到這篇心有戚戚焉
又是寶塔,怎麼不講docker一鍵部署
路過看看,好像挺實用的,吃瓜一下
簡潔實用,夠我用了
有沒有人打包成安卓APP了?求分享
那如果多人同時打卡會不會衝突?數據庫鎖有處理嗎?
打卡功能夠用就好,太多花俏反而拖速度
這系統剛好我也需要,但界面能再好看點嗎?