# php留言板 **Repository Path**: netwenk/php-message-board ## Basic Information - **Project Name**: php留言板 - **Description**: 留言板系统 一个功能完善的 PHP + MySQL 留言板系统,支持用户注册登录、留言管理、管理员后台、多主题切换等功能。 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 完整源代码请联系我 微信:netwenk ## `README.md` ```markdown # 留言板系统 一个功能完善的 PHP + MySQL 留言板系统,支持用户注册登录、留言管理、管理员后台、多主题切换等功能。 ## 📋 功能特性 ### 用户功能 - ✅ 用户注册/登录 - ✅ 个人资料修改 - ✅ 密码修改 - ✅ 发布留言(标题+内容) - ✅ 删除自己的留言 - ✅ 留言内容限制(5-5000字符) - ✅ 每日发布限制(10条/天) - ✅ 搜索留言功能 - ✅ 多主题配色切换(蓝/绿/红/暗色) ### 管理员功能 - ✅ 管理后台仪表板 - ✅ 查看所有用户 - ✅ 删除任意用户(连带删除所有留言) - ✅ 查看所有留言 - ✅ 删除任意留言 - ✅ 系统设置(网站名称、描述、默认主题) - ✅ 留言详情查看 ### 其他特性 - ✅ 响应式设计,支持移动端 - ✅ 分页浏览 - ✅ XSS防护 - ✅ SQL注入防护(PDO预处理) - ✅ CSRF防护 - ✅ 密码加密存储 - ✅ 会话管理 - ✅ 主题偏好保存 ## 🚀 快速开始 ### 环境要求 - PHP >= 7.4 - MySQL >= 5.7 - Web服务器(Apache/Nginx) - PDO扩展 ### 安装步骤 1. **下载项目** ```bash git clone https://github.com/yourusername/message-board.git cd message-board ``` 2. **配置数据库** - 创建MySQL数据库 - 导入 `sql/install.sql` 文件 ```sql mysql -u root -p < sql/install.sql ``` 3. **修改数据库配置** 编辑 `config/database.php` 文件: ```php define('DB_HOST', 'localhost'); define('DB_NAME', 'message_board'); define('DB_USER', 'your_username'); define('DB_PASS', 'your_password'); ``` 4. **设置目录权限** ```bash chmod 755 images/ chmod 755 logs/ ``` 5. **配置Web服务器** - Apache:确保 `.htaccess` 文件生效 - Nginx:配置虚拟主机指向项目目录 6. **访问网站** - 首页:`http://yourdomain.com/` - 管理员登录:`http://yourdomain.com/login.php` ### 默认账号 | 角色 | 用户名 | 密码 | |------|--------|------| | 管理员 | admin | admin123 | | 普通用户 | 张三丰 | 123456 | | 普通用户 | 李慕白 | 123456 | ## 📁 项目结构 ``` message-board/ ├── admin/ # 管理后台 │ ├── delete_message.php # 删除留言处理 │ ├── delete_user.php # 删除用户处理 │ ├── get_message.php # 获取留言详情 │ ├── index.php # 管理后台首页 │ ├── manage_messages.php # 管理留言 │ ├── manage_users.php # 管理用户 │ └── settings.php # 系统设置 ├── config/ # 配置文件 │ ├── database.php # 数据库配置 │ └── settings.php # 系统设置类 ├── css/ # 样式文件 │ ├── style.css # 主样式 │ ├── theme-blue.css # 蓝色主题 │ ├── theme-green.css # 绿色主题 │ ├── theme-red.css # 红色主题 │ └── theme-dark.css # 暗色主题 ├── images/ # 图片目录 ├── includes/ # 包含文件 │ ├── auth.php # 认证函数 │ ├── footer.php # 页脚模板 │ ├── functions.php # 公共函数 │ └── header.php # 页头模板 ├── js/ # JavaScript文件 │ ├── main.js # 主要脚本 │ └── theme.js # 主题切换 ├── logs/ # 日志目录 ├── sql/ # SQL文件 │ ├── install.sql # 安装脚本 │ └── sample_data_2026_04.sql # 示例数据 ├── index.php # 首页 ├── login.php # 登录页面 ├── register.php # 注册页面 ├── logout.php # 退出登录 ├── post_message.php # 发布留言 ├── delete_message.php # 删除留言 ├── profile.php # 个人资料 └── README.md # 说明文档 ``` ## 🎨 主题切换 系统支持4种主题配色: - 🔵 **蓝色主题** - 清新简约 - 🟢 **绿色主题** - 自然舒适 - 🔴 **红色主题** - 热情活力 - ⚫ **暗色主题** - 护眼模式 用户可以在页面顶部点击颜色按钮切换主题,主题偏好会保存到浏览器和数据库。 ## 🔧 配置说明 ### 修改网站名称 1. 登录管理员账号 2. 进入管理后台 → 系统设置 3. 修改"网站名称"字段 4. 保存设置 ### 修改每页显示数量 编辑 `index.php` 和 `admin/manage_users.php`: ```php $perPage = 10; // 改为你需要的数量 ``` ### 修改每日发布限制 编辑 `post_message.php`: ```php $maxDailyPosts = 10; // 改为你需要的数量 ``` ## 🗄️ 数据库结构 ### users 表 | 字段 | 类型 | 说明 | |------|------|------| | id | INT | 用户ID(主键) | | username | VARCHAR(50) | 用户名 | | password | VARCHAR(255) | 密码(加密) | | email | VARCHAR(100) | 邮箱 | | role | ENUM | 角色(user/admin) | | theme_preference | VARCHAR(20) | 主题偏好 | | created_at | TIMESTAMP | 注册时间 | ### messages 表 | 字段 | 类型 | 说明 | |------|------|------| | id | INT | 留言ID(主键) | | user_id | INT | 用户ID(外键) | | username | VARCHAR(50) | 用户名 | | title | VARCHAR(200) | 留言标题 | | content | TEXT | 留言内容 | | created_at | TIMESTAMP | 发布时间 | ### site_settings 表 | 字段 | 类型 | 说明 | |------|------|------| | id | INT | 设置ID | | site_name | VARCHAR(100) | 网站名称 | | site_description | TEXT | 网站描述 | | default_theme | VARCHAR(20) | 默认主题 | ## 🔒 安全特性 - **SQL注入防护**:使用PDO预处理语句 - **XSS防护**:所有输出使用 `htmlspecialchars()` - **密码加密**:使用 `password_hash()` 和 `password_verify()` - **CSRF防护**:表单令牌验证 - **会话安全**:合理的会话管理 - **权限验证**:严格的角色权限控制 ## 📱 浏览器支持 - Chrome(最新版) - Firefox(最新版) - Safari(最新版) - Edge(最新版) - 移动端浏览器 ## 🐛 常见问题 ### 1. 数据库连接失败 检查 `config/database.php` 中的数据库配置是否正确。 ### 2. 无法登录 - 确认数据库已正确导入 - 检查密码是否正确(默认管理员密码:admin123) - 检查session配置 ### 3. 主题切换不生效 - 确认CSS文件存在 - 清除浏览器缓存 - 检查JavaScript是否正常加载 ### 4. 留言发布失败 - 确认已登录 - 检查是否超过每日发布限制 - 检查留言内容长度是否符合要求 ## 📝 更新日志 ### v1.0.0 (2026-04-20) - 初始版本发布 - 实现基础留言板功能 - 添加用户认证系统 - 添加管理员后台 - 实现多主题切换 - 添加搜索和分页功能 ## 🤝 贡献指南 欢迎提交Issue和Pull Request! 1. Fork本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 ## 📧 联系方式 - 项目主页:[GitHub仓库地址] - 问题反馈:[Issues页面] - 邮箱:your-email@example.com ## 🙏 致谢 - [Font Awesome](https://fontawesome.com/) - 图标库 - [PHP](https://www.php.net/) - 后端语言 - [MySQL](https://www.mysql.com/) - 数据库 ## 📊 功能截图 ### 首页 ![首页](screenshots/home.png) ### 留言详情 ![留言详情](screenshots/message.png) ### 管理后台 ![管理后台](screenshots/admin.png) ### 主题切换 ![主题切换](screenshots/themes.png) --- ## 🎯 待办功能 - [ ] 邮箱验证注册 - [ ] 密码找回功能 - [ ] 留言点赞功能 - [ ] 评论回复功能 - [ ] 图片上传功能 - [ ] 用户头像上传 - [ ] 留言审核机制 - [ ] 数据导出功能 - [ ] API接口 - [ ] 微信登录 --- **⭐ 如果这个项目对你有帮助,请给个Star!** ``` ## 创建截图目录(可选) ```bash mkdir screenshots ``` ## 创建 LICENSE 文件(可选) ### `LICENSE` ```text MIT License Copyright (c) 2026 Message Board System Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## 创建 .gitignore 文件 ### `.gitignore` ```gitignore # 配置文件 config/database.php # 日志文件 logs/*.log # 上传文件 images/uploads/ images/avatars/ # 编辑器文件 .vscode/ .idea/ *.sublime-* # 系统文件 .DS_Store Thumbs.db # 缓存文件 *.cache *.tmp # 备份文件 *.bak *.sql.bak ``` 现在您的项目有一个完整的 README.md 文档,包含了项目的所有信息:功能介绍、安装步骤、目录结构、配置说明、常见问题等。这有助于其他开发者理解和使用您的项目。