多用户打卡记录系统源码

多用户打卡记录系统源码

  • 全站源码免费
  • 每日/微信/10次解锁
  • 每日/IP/100次解锁
  • 不限制搬运
  • 可有偿提供搭建服务
  • 自动检测网盘是否失效
资源下载
免费资源
立即下载

源码简介

这套源码属于移动端打卡记录类项目,主要围绕用户注册登录、一键打卡、记录查询和统计功能展开。它是一套用原生 PHP 写的轻量系统,没有用框架,也没有独立后台,打包后即可作为一个小工具部署到支持 PHP+MySQL 的虚拟主机或服务器上。打卡本身不附带照片(即”无图片版”),但用户个人中心支持头像上传。适合想学习原生 PHP 增删改查、或需要给团队、社群做简单考勤打卡记录的场景参考。

适用场景

  • 个人习惯打卡:早起、运动、读书、喝水等日常自律记录
  • 团队或企业轻量考勤:小团队签到、值班打卡,无需复杂排班与审批
  • 社群打卡活动:训练营、共读营按日期展示参与记录

技术栈与运行环境

  • 前端:原生 HTML/CSS/JavaScript,移动端 H5 单页(底部三 tab 导航),Fetch API 异步交互
  • 后端:原生 PHP(无框架),基于 Session 的登录态管理
  • 数据库:MySQL(InnoDB),两张表 users 与 checkin_records
  • 运行环境:PHP 7.x 及以上(依赖 mysqli、password_hash),MySQL 5.6+
  • 其他依赖:无第三方组件,纯原生实现

功能亮点

  • 注册登录与退出:api/register.php、login.php、logout.php 配合 config/auth.php 管理登录态,密码使用 password_hash 加密存储、password_verify 校验,安全性较好。
  • 一键打卡:首页中央大圆按钮调用 api/checkin.php 写入 checkin_records,打卡不传图片,符合”无图片版”定位。
  • 按日期查询:records.php 页面配合 api/records.php,选择日期即可列出当天所有打卡时间,无记录时给出占位提示。
  • 打卡统计:api/stats.php 计算本月打卡次数、累计打卡次数、连续打卡天数与首次打卡日期,用户中心以卡片展示。
  • 密码找回与修改:reset_password.php 通过用户名加邮箱验证后重置密码,change_password.php 需输入原密码后修改。
  • 头像上传:upload_avatar.php 支持 JPG/PNG/GIF/WEBP,限制 300KB 并做图片类型校验,个人中心可点击头像更换。

安装与部署提示

  1. 配置数据库:编辑 config/database.php 填写 DB_HOST、DB_USER、DB_PASS、DB_NAME。注意默认 DB_NAME 为 dakajl,而 sql/init.sql 实际建库名为 checkin_db,部署前需把两者统一(建议将 database.php 的 DB_NAME 改为 checkin_db,或改 init.sql 的库名)。
  2. 初始化数据:浏览器访问 install.php 一键建表,或手动导入 sql/init.sql;确保 avatars/ 与 uploads/ 目录可写(install.php 会自动创建 uploads/)。
  3. 访问使用:将整个目录放到站点根目录,访问 index.php 即可;install.php、sql/upgrade.php 等脚本用后务必删除,避免被重复执行。

截图与演示说明

  • 首页 index.php:渐变背景加中央圆形”立即打卡”按钮、实时时钟、登录态问候语
  • 记录查询页 records.php:日期选择器加当日打卡时间卡片列表(无记录时占位提示)
  • 用户中心 profile.php:登录、注册、忘记密码 tab,头像卡片、统计卡片(本月、连续、累计、首次打卡)、修改密码、退出登录
  • 头像上传交互:点击头像选择图片(限 300KB),上传后即时更新
  • 安装向导 install.php:一键初始化数据库页面

说明:本项目无独立管理后台(不存在 admin 目录),所有功能均为用户端页面加 api 目录接口。

多用户打卡记录系统源码

常见问题

运行前需要注意什么?

需 PHP 7.x 与 MySQL 环境;重点注意 config/database.php 的库名要与 init.sql 一致(默认不一致,见安装提示第 1 条);avatars/、uploads/ 目录需可写权限;建议先本地搭建测试再上服务器。

适合二次开发吗?

适合。原生 PHP 无框架,代码按页面加 api 分层,仅两张表、逻辑清晰,便于入门学习或改造。若需管理后台、导出报表、打卡提醒推送等功能,可在此基础上自行扩展。

安全风险提示

特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!

注意:下方为源码包内发现的真实配置与残留风险,部署前建议处理。

  • sql/upgrade.php:类型=疑似硬编码账号与弱密码。证据=代码内写死默认账号 default / 密码 123456(password_hash(‘123456’)),并 echo 打印”默认账号: default / 123456″,同时开启 display_errors。建议=部署前删除该文件,避免被运行后创建弱密码账号。
  • api/records.php1:类型=疑似未授权数据查询(隐私泄露)。证据=该文件为 records.php 的残留副本,去除了登录校验,按日期返回全部用户打卡记录,且后缀 .php1 默认不被 PHP 解析,易被忽略却仍存在于包内。建议=直接删除,不要放到可访问目录。
  • api/reset_password.php:类型=凭证暴露风险。证据=重置成功后把新密码以明文返回前端并弹窗显示,仅验证用户名加邮箱,存在账号枚举与密码暴露。建议=改为服务端仅通知、不回传明文密码。
  • config/database.php:类型=疑似硬编码账号。证据=明文数据库账号密码 dakajl/dakajl。建议=部署时改为强密码。
  • install.php 与 sql/upgrade.php:安装与升级脚本暴露在 web 目录,建议用后删除,避免被重复执行或泄露库结构。
  • CORS 配置:所有 api 文件设置 Access-Control-Allow-Origin: *,允许任意域跨域读取响应。建议生产环境收紧为自身域名。

下载说明

源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。

资源下载
下载价格免费
本文章资源https://www.aosen.cc/mianfei2817.html来源于互联网,如存在侵权,请联系我们立马删除!
0
显示验证码