基于thinkphp5校园新闻发布管理系统设计与实现(源码+lw+部署文档+讲解等)

基于thinkphp5校园新闻发布管理系统设计与实现(源码+lw+部署文档+讲解等)

引言

博主介绍:✌专注于Java技术领域和学生毕业项目实战,欢迎大家交流✌

主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序等设计与开发。

🌟文末获取源码+数据库🌟

👇🏻精彩专栏 推荐订阅👇🏻

2024年最新计算机软件java毕业选题大全:1000个热门选题✅(🌟最新🌟最全🌟最热门)

2024年最新计算机软件微信小程序毕业选题:1000个热门选题✅(🌟最新🌟最全🌟最热门)

2024年最新计算机软件PHP毕业选题大全✅(🌟最新🌟最全🌟最热门)

java精品实战案例(100套)

PHP精品实战案例(100套)

微信小程序实战案例(100套)

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人~~~

项目概述

基于ThinkPHP5校园新闻发布管理系统是一个为校园用户提供新闻浏览、评论和管理员进行新闻管理的综合平台。通过该系统,用户可以方便地查看最新新闻、浏览不同分类的新闻、进行评论互动,而管理员则能够对用户、公告、新闻、评论、留言等进行全面管理。

功能介绍

用户:

  1. 用户注册登录系统: 提供用户注册和登录功能,确保用户身份的有效性。
  2. 查看新闻列表: 用户可以按照新闻的分类浏览相应的新闻列表,方便用户查找感兴趣的新闻。
  3. 查看公告和最新新闻: 用户能够查看网站的公告栏信息以及最新发布的新闻,保持信息的及时性。
  4. 查看新闻详情和评论: 用户可以点击新闻标题查看新闻详情,并在新闻下方进行评论。
  5. 搜索新闻信息: 提供搜索功能,用户可以通过关键词搜索相关新闻。
  6. 在线留言: 用户可以在网站上进行在线留言,进行交流互动。
  7. 修改个人资料和密码: 用户可以在个人中心进行个人资料的修改和密码的更改。

管理员:

  1. 管理员登录系统: 提供管理员账号登录系统,确保管理员身份合法。
  2. 会员管理: 管理员可以对注册的会员进行管理,包括查看会员信息、冻结会员等。
  3. 公告管理: 管理员能够管理网站的公告信息,包括添加、修改、删除公告。
  4. 分类管理: 管理员可以管理新闻的分类,包括添加、删除新闻分类,以及添加二级分类。
  5. 新闻管理: 管理员对新闻信息进行全面管理,包括添加、删除、修改新闻。
  6. 评论管理: 管理员可以对用户对新闻的评论信息进行管理,包括删除不当评论。
  7. 留言管理: 管理员管理用户对网站的留言,确保留言内容合法。
  8. 修改密码: 管理员能够在系统中修改密码以保证账户安全。

技术栈

  • PHP版本: 5.4以上
  • PHP框架: ThinkPHP5
  • 开发工具: Notepad++, Sublime, PhpStorm
  • 数据库: MySQL
  • 服务器: Apache
  • 集成环境: PHPStudy
  • 前端框架: Bootstrap
  • 详细技术: HTML + CSS + JS + PHP + MySQL + PHPStudy + ThinkPHP5

功能截图

Image
Image
Image

示例代码

@WebServlet("/login")
public class LoginServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        // 根据用户数据库验证用户名和密码
        if (isValidUser(username, password)) {
            //登陆成功
            request.getSession().setAttribute("username", username);
            response.sendRedirect("dashboard.jsp"); // Redirect to the dashboard or another secure page
        } else {
            // 登录失败
            response.sendRedirect("login.jsp?error=true");
        }
    }

    private boolean isValidUser(String username, String password) {
        // 实现逻辑来验证用户(例如,检查数据库)
        // 如果用户有效则返回true,否则返回false
        //这是一个基本示例
        return "demo".equals(username) && "password123".equals(password);
    }
}
@WebServlet("/logout")
public class LogoutServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 使会话失效以注销用户
        request.getSession().invalidate();
        response.sendRedirect("login.jsp");
    }
}
@WebServlet("/dashboard")
public class DashboardServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 检查用户是否通过认证
        if (request.getSession().getAttribute("username") == null) {
            response.sendRedirect("login.jsp");
            return;
        }

        // 显示仪表板
        // 您的安全页面逻辑在这里
        response.getWriter().println("Welcome to the dashboard, " + request.getSession().getAttribute("username"));
    }
}
@WebServlet("/dashboard")
public class DashboardServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 检查用户是否通过认证
        if (request.getSession().getAttribute("username") == null) {
            response.sendRedirect("login.jsp");
            return;
        }

        // 显示仪表板
        // 安全页面逻辑在这里
        response.getWriter().println("Welcome to the dashboard, " + request.getSession().getAttribute("username"));
    }
}

数据库操作示例

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for children
-- ----------------------------
DROP TABLE IF EXISTS `children`;
CREATE TABLE `children`  (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '学生名',
  `sex` int(1) DEFAULT NULL COMMENT '性别:1男,0女',
  `birthday` date DEFAULT NULL COMMENT '出生年月日',
  `class_id` int(10) DEFAULT NULL COMMENT '班级id',
  `hobby` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '性趣爱好',
  `food` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '不爱吃的食物',
  `entrance` datetime DEFAULT NULL COMMENT '入学时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of children
-- ----------------------------
INSERT INTO `children` VALUES (1, '小明', 1, '2023-04-05', 2, '唱歌333', '西红柿过敏', '2023-04-20 00:00:00');
INSERT INTO `children` VALUES (2, '小红', 0, '2023-04-05', 1, '画画', '洋葱过敏', '2023-04-20 00:00:00');

-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES (2, '数学', '黎明', '2023-04-19 12:32:08', '2023-04-19 12:32:09', 4, 0, '2023-04-19 12:32:15', 3);

-- ----------------------------
-- Records of page
-- ----------------------------
INSERT INTO `page` VALUES (1, 0, '系统设置', NULL, 0, 10, 0, 'manager');
INSERT INTO `page` VALUES (2, 1, '用户管理', '/sa/userPage', 1, 22, 0, 'manager');
INSERT INTO `page` VALUES (3, 1, '页面管理', '/sa/page', 1, 23, 0, 'manager');
INSERT INTO `page` VALUES (4, 1, '角色管理', '/sa/role', 1, 24, 0, 'manager');
INSERT INTO `page` VALUES (38, 0, '校园管理', '', 0, 1, 0, 'left_menu_shop');
INSERT INTO `page` VALUES (39, 38, '老师管理', 'sa/teaMG', 1, 1, 0, NULL);
INSERT INTO `page` VALUES (40, 38, '工资管理', 'sa/payMG', 1, 2, 0, '');
INSERT INTO `page` VALUES (41, 38, '物资管理', 'sa/materialMG', 1, 3, 0, '');
INSERT INTO `page` VALUES (42, 38, '菜谱管理', 'sa/footMG', 1, 4, 0, '');
INSERT INTO `page` VALUES (43, 0, '班级管理', '', 0, 2, 0, 'user');
INSERT INTO `page` VALUES (45, 43, '学生管理', 'ls/stu', 1, 2, 0, NULL);
INSERT INTO `page` VALUES (46, 43, '公告管理', 'ls/gg', 1, 3, 0, NULL);
INSERT INTO `page` VALUES (47, 0, '考勤管理', '', 0, 3, 0, 'left_menu_data');
INSERT INTO `page` VALUES (48, 47, '老师考勤', 'ls/lskq', 1, 1, 0, NULL);
INSERT INTO `page` VALUES (49, 47, '学生考勤', 'ls/xskq', 1, 2, 0, NULL);
INSERT INTO `page` VALUES (51, 47, '老师考勤统计', 'ls/kqtj', 1, 4, 0, '');
INSERT INTO `page` VALUES (52, 38, '班级管理', 'sa/classesPage', 1, 5, 0, '');
INSERT INTO `page` VALUES (53, 47, '学生考勤统计', 'ls/tongJiXueSheng', 1, 5, 0, '');
INSERT INTO `page` VALUES (54, 47, '签到签退', 'ls/qianDaoTui', 1, 6, 0, NULL);
INSERT INTO `page` VALUES (55, 43, '课程管理', '/ls/course', 1, 4, 0, NULL);

-- ----------------------------
-- Table structure for pay
-- ----------------------------
DROP TABLE IF EXISTS `pay`;
CREATE TABLE `pay`  (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '教师id',
  `base` double(10, 2) DEFAULT NULL COMMENT '基本工资',
  `overtime` double(10, 2) DEFAULT NULL COMMENT '加班工资',
  `traffic` double(10, 2) DEFAULT NULL COMMENT '交通补',
  `meal` double(10, 2) DEFAULT NULL COMMENT '餐补',
  `vacation` double(10, 2) DEFAULT NULL COMMENT '节假日补贴',
  `bonus` double(10, 2) DEFAULT NULL COMMENT '绩效',
  `other` double(10, 2) DEFAULT NULL COMMENT '其他',
  `payment_time` datetime DEFAULT NULL COMMENT '发放时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of pay
-- ----------------------------
INSERT INTO `pay` VALUES (1, 'laoshi', 1000.00, 200.00, 23.00, 22.00, 22.00, 33.00, 12.00, '2023-04-19 11:08:03');
INSERT INTO `pay` VALUES (2, 'zhoutianyuan', 3400.00, 23.00, 32.00, 33.00, 12.00, 21.00, 32.00, '2023-04-19 11:08:42');

-- ----------------------------
-- Table structure for role
-- ----------------------------
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role`  (
  `role_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '类型名称',
  `desc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述',
  PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of role
-- ----------------------------
INSERT INTO `role` VALUES (1, '超级管理员', '超级管理员');
INSERT INTO `role` VALUES (2, '教师', '老师');
INSERT INTO `role` VALUES (3, '家长', '家长');

-- ----------------------------
-- Table structure for role_page
-- ----------------------------
DROP TABLE IF EXISTS `role_page`;
CREATE TABLE `role_page`  (
  `rp_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键自增',
  `role_id` int(11) DEFAULT NULL COMMENT '角色id',
  `page_id` int(11) DEFAULT NULL COMMENT '页面id',
  PRIMARY KEY (`rp_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 512 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of role_page
-- ----------------------------
INSERT INTO `role_page` VALUES (1, 1, 1);
INSERT INTO `role_page` VALUES (2, 1, 2);
INSERT INTO `role_page` VALUES (3, 1, 3);
INSERT INTO `role_page` VALUES (4, 1, 4);
INSERT INTO `role_page` VALUES (486, 2, 43);
INSERT INTO `role_page` VALUES (487, 2, 45);
INSERT INTO `role_page` VALUES (488, 2, 46);
INSERT INTO `role_page` VALUES (489, 2, 55);
INSERT INTO `role_page` VALUES (490, 2, 47);
INSERT INTO `role_page` VALUES (491, 2, 48);
INSERT INTO `role_page` VALUES (492, 2, 49);
INSERT INTO `role_page` VALUES (493, 2, 51);
INSERT INTO `role_page` VALUES (494, 2, 53);
INSERT INTO `role_page` VALUES (495, 2, 54);
INSERT INTO `role_page` VALUES (496, 1, 38);
INSERT INTO `role_page` VALUES (497, 1, 39);
INSERT INTO `role_page` VALUES (498, 1, 40);
INSERT INTO `role_page` VALUES (499, 1, 41);
INSERT INTO `role_page` VALUES (500, 1, 42);
INSERT INTO `role_page` VALUES (501, 1, 52);
INSERT INTO `role_page` VALUES (502, 1, 43);
INSERT INTO `role_page` VALUES (503, 1, 45);
INSERT INTO `role_page` VALUES (504, 1, 46);
INSERT INTO `role_page` VALUES (505, 1, 55);
INSERT INTO `role_page` VALUES (506, 1, 47);
INSERT INTO `role_page` VALUES (507, 1, 48);
INSERT INTO `role_page` VALUES (508, 1, 49);
INSERT INTO `role_page` VALUES (509, 1, 51);
INSERT INTO `role_page` VALUES (510, 1, 53);
INSERT INTO `role_page` VALUES (511, 1, 54);

-- ----------------------------
-- Table structure for sign
-- ----------------------------
DROP TABLE IF EXISTS `sign`;
CREATE TABLE `sign`  (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `kqr_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '考勤人id',
  `state` int(2) DEFAULT NULL COMMENT '状态1正常,2提前,3迟到,4请假,5未知',
  `describe` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述在校情况',
  `type` int(1) DEFAULT NULL COMMENT '考勤类型1.签到。2签退',
  `kqr_type` int(2) DEFAULT NULL COMMENT '考勤人类型1.老师,2.学生,3.家长',
  `sign_in` datetime DEFAULT NULL COMMENT '签到时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of sign
-- ----------------------------
INSERT INTO `sign` VALUES (1, 'laoshi', 3, NULL, 1, 1, '2023-04-19 11:16:10');
INSERT INTO `sign` VALUES (2, 'laoshi', 2, NULL, 2, 1, '2023-04-19 11:16:12');
INSERT INTO `sign` VALUES (3, '1', 3, NULL, 1, 2, '2023-04-21 13:45:06');
INSERT INTO `sign` VALUES (4, '1', 2, NULL, 2, 2, '2023-04-21 13:45:08');
INSERT INTO `sign` VALUES (5, 'laoshi', 3, NULL, 1, 1, '2023-04-21 13:45:37');
INSERT INTO `sign` VALUES (6, 'laoshi', 2, NULL, 2, 1, '2023-04-21 13:45:43');
INSERT INTO `sign` VALUES (7, 'wangjianlin', 3, NULL, 1, 1, '2023-04-21 13:54:12');
INSERT INTO `sign` VALUES (8, '1', 3, NULL, 1, 2, '2023-04-21 21:05:37');
INSERT INTO `sign` VALUES (9, '1', 3, NULL, 1, 2, '2023-04-21 21:05:42');
INSERT INTO `sign` VALUES (10, '1', 2, NULL, 2, 2, '2023-04-21 21:05:43');
INSERT INTO `sign` VALUES (11, '1', 3, NULL, 1, 2, '2023-04-21 21:05:44');
INSERT INTO `sign` VALUES (12, '1', 2, NULL, 2, 2, '2023-04-21 21:05:53');
INSERT INTO `sign` VALUES (13, '1', 2, NULL, 2, 2, '2023-04-21 21:05:54');
INSERT INTO `sign` VALUES (14, '1', 3, NULL, 1, 2, '2023-04-21 21:05:54');
INSERT INTO `sign` VALUES (15, '1', 3, NULL, 1, 2, '2023-04-26 21:14:37');
INSERT INTO `sign` VALUES (16, '1', 3, NULL, 1, 2, '2023-04-26 21:14:38');
INSERT INTO `sign` VALUES (17, 'admin', 3, NULL, 1, 0, '2023-06-15 22:26:16');

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `user_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键用户id',
  `user_password` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户密码',
  `user_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户昵称',
  `user_tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '电话',
  `user_mail` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '邮箱',
  `position` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '职务',
  `dept` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '部门',
  `user_state` int(1) DEFAULT NULL COMMENT '用户状态:0,超级管理员,1老师,2.家长',
  `user_birthday` date DEFAULT NULL COMMENT '出生日期',
  `user_sex` int(1) DEFAULT NULL COMMENT '性别:1男,0女',
  `user_address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '地址',
  `user_idcard` varchar(18) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '身份证号',
  `account_create_time` datetime DEFAULT NULL COMMENT '创建日期',
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('admin', 'e10adc3949ba59abbe56e057f20f883e', '超级管理员', '18888888888', '888@88.com', '校长', '管理员', 0, '2023-04-15', 0, '南京', '123456789012345678', '2023-04-15 08:43:35');
INSERT INTO `user` VALUES ('jiazhang', 'e10adc3949ba59abbe56e057f20f883e', '家长', '12255556666', '', '', '', 1, NULL, 1, '', NULL, '2023-04-15 10:26:35');
INSERT INTO `user` VALUES ('laoshi', 'e10adc3949ba59abbe56e057f20f883e', '老师', '15566668888', '', '', '数学老师', 1, '2023-04-15', 1, '', NULL, '2023-04-15 10:26:01');
INSERT INTO `user` VALUES ('liuqiangdong', 'e10adc3949ba59abbe56e057f20f883e', '刘强东', '12322232412', '12erwer3@qq.com', '家长', '家长', 1, '2023-04-09', 0, '上海', '124523432534543243', '2023-04-19 09:26:04');
INSERT INTO `user` VALUES ('mayun', 'e10adc3949ba59abbe56e057f20f883e', '马云', '12322222222', '123@qq.com', '家长', '家长', 2, '2023-04-01', 1, '浙江', '123425432534543243', '2023-04-19 09:19:23');
INSERT INTO `user` VALUES ('wangjianlin', 'e10adc3949ba59abbe56e057f20f883e', '王健林', '17788889999', '413242@qq.com', '开发', '软件事业部', 1, '1966-06-06', 0, '上海市徐汇区漕河泾经济开发区', '320582199601235723', '2023-04-19 09:42:35');
INSERT INTO `user` VALUES ('zhoutianyuan', 'e10adc3949ba59abbe56e057f20f883e', '周天源', '13322222222', '1256753@qq.com', '老师', '老师', 1, '2023-04-02', 1, '连云港', '123425333534543243', '2023-04-19 09:30:02');


源码获取

✌欢迎大家点赞、收藏、关注,有感兴趣的选题可以发在评论区~~~✌

🍅下方查看👇🏻获取联系方式👇🏻🍅

👇🏻精彩专栏 推荐订阅👇🏻

2024年最新计算机软件java毕业选题大全:1000个热门选题✅(🌟最新🌟最全🌟最热门)

2024年最新计算机软件微信小程序毕业选题:1000个热门选题✅(🌟最新🌟最全🌟最热门)

2024年最新计算机软件PHP毕业选题大全✅(🌟最新🌟最全🌟最热门)

java精品实战案例(100套)

PHP精品实战案例(100套)

微信小程序实战案例(100套)

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人~~~

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值