0x01 总体设计

留言模块主要包括以下几个子模块:

  • 模型模块(Model):模型类中封装好用户操作数据库的各种方法,供控制器调用。
  • 视图模块(View):Web视图页面收集用户留言。
  • 控制器模块(Controller):控制器处理Web视图页面收集的数据。

0x02 详细设计

(1)查看留言记录
  • 在控制器的selete()方法中,调用模型类中封装的getSelete()方法查询数据表中所有的数据,并显示到前端。
  • 在Web页面中循环遍历返回的索引数组,即可显示留言列表。
(2)添加留言记录
  • 在前端页面的form表单中获取用户输入的数据。
  • 在控制器的add()方法中,调用模型类中封装的getInsert()方法向数据表中添加数据。
  • 前端页面跳转到留言列表中。
(3)修改留言记录
  • 当要修改数据时,先查找要修改的内容,把查找到的数据放到表单中。
  • 在控制器的update()方法中,调用模型类中封装的getUpdate()方法对留言数据进行修改。
(4)删除留言记录
  • 在Web页面点击“删除”,进入控制器的delete()方法。
  • 在控制器的delete()方法中,调用模型类中封装的getDelete()方法,删除指定的留言数据。
  • 删除成功后页面跳转到留言列表页。

0x03 MVC目录结构

MVC
|-- controller   //控制器目录
|-- model        //模型目录
|-- view         //视图目录
|-- core         //核心目录
||--- MVCFunction.class.php  //核心文件
||--- DB.class.php           //操作数据库核心文件
|-- index.php    //入口文件
|-- conf.php     //连接数据库配置文件

0x04 数据表设计

创建数据表messages的sql代码如下:

CREATE TABLE `messages`(`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(30) NOT NULL DEFAULT '',`email` VARCHAR(35) NOT NULL DEFAULT '',`content` VARCHAR(200) NOT NULL DEFAULT '',`message_time` DATETIME DEFAULT NULL,PRIMARY KEY(`id`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;

结构如下:

0x05 MVC配置部署

(1)先对数据库连接文件进行配置,即conf.php文件:

<?phpdefine('DB_HOST','localhost');define('DB_USER','root');define('DB_PASS','');   //your passworddefine('DB_NAME','messages_board');
?>

(2)控制器部署

在controller控制器目录下创建MessageController.class.php控制器文件,并在其中创建MessageController控制器类,代码如下:

<?phpclass MessageController{//code...}
?>

(3)模型部署

在model模型目录下创建MessageModel.class.php控制器文件,并在其中创建MessageModel模型类,代码如下:

<?phpclass MessageModel{//code...}
?>

(4)视图部署

在view视图目录下创建MessageView.class.php控制器文件,并在其中创建MessageView视图类,代码如下:

<?phpclass MessageView{//code...}
?>

实现上述部署后,当前目录状态如下:

MVC
|-- controller   //控制器目录
||--- MessageController.class.php   //留言板控制器
|-- model        //模型目录
||--- MessageModel.class.php        //留言板模型
|-- view         //视图目录
||--- MessageView.class.php     //留言板视图
|-- core         //核心目录
||--- MVCFunction.class.php  //核心文件
||--- DB.class.php           //操作数据库核心文件
|-- index.php    //入口文件
|-- conf.php     //连接数据库配置文件

0x06 代码实现

完整代码已上传到github:https://github.com/LetheSec/MVC_MessageBoard

0x07 结果展示

初始页面:

点击添加留言即可开始留言:

可对留言进行修改或删除:

MVC架构实现简易留言管理系统相关推荐

  1. OXite 微软一款基于asp.net mvc架构的blog内容管理系统

    OXite 微软一款基于asp.net mvc架构的blog内容管理系统 对学习MVC有较好的帮助 URL http://oxite.codeplex.com/ 转载于:https://www.cnb ...

  2. MVC架构仿《鹏程医院管理系统》项目总结

    基于MVC架构仿<鹏程医院管理系统>项目总结 一.项目介绍 鹏成医院管理系统是一款是一款适合中.小医院.社区卫生服务中心.社区卫生服务站.专科.门诊.卫生所.个体小诊所的一个完善的管理软件 ...

  3. 基于MVC架构的百姓物流管理系统

    目 录 摘要 Ⅰ ABSTRACT III 1 绪 论 1 1.1研究背景 1 1.2国内外现状 1 1.3研究意义 1 2 系统相关技术 3 2.1系统开发平台 3 2.2 MVC体系结构 3 2. ...

  4. 【php毕业设计】基于php+mysql+mvc的网上留言管理系统设计与实现(毕业论文+程序源码)——网上留言管理系统

    基于php+mysql+mvc的网上留言管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+mvc的网上留言管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下 ...

  5. Java语言程序设计 :医院简易挂号管理系统 Java实验

    Java语言程序设计 :医院简易挂号管理系统 Java实验 1.课程设计目的 医院预约挂号管理系统是每一个医疗机构管理平常挂号业务流程不可或缺的一个管理信息系统,它的存在解决了病人挂号难.看病难等问题 ...

  6. nodejs服务端MVC架构介绍

    nodejs服务端MVC架构介绍 MVC架构本质:确定每一个js文件的职责 以nodejs数据管理系统为例,本文章代码仅为服务端演示代码,单独复制粘贴可能无效果.因为MVC并不是一门技术,而是一种项目 ...

  7. MVC架构在Asp.net中的应用和实现

    MVC架构在Asp.net中的应用和实现 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能为Web应用带来的好处.并以"成都市信息化资产管理系统"框架设计为例,详细介绍其 ...

  8. 从零打造springboot+freemarker+layui实现简易CMS管理系统(一)

    ·1项目架构 废话不多说,直接上图 maven引用: <dependencies><dependency><groupId>org.springframework. ...

  9. java 留言板源码_jsp+servlet+javabean实现简易留言板(包含数据库文件)

    [实例简介] jsp+servlet+javabean实现简易留言板(包含数据库文件) 简单体验MVC设计模式 jsp:视图,与用户打交道:servlet:控制器,请求分配转发,联系视图层与模型层:j ...

最新文章

  1. C# .net中json字符串和对象之间的转化方法
  2. Laya 位图字体制作(失败...)
  3. CSS3中的变形处理
  4. 我对windows核心编程的理解之一
  5. 主干开发前要知道的,4错误认识+3优势
  6. 【Java从0到架构师】SpringBoot - 页面模版_Thymeleaf
  7. SpringData环境搭建代码编写
  8. java运行 .class文件_运行java的class文件方法详解
  9. 利用pm2 启动node项目
  10. 全球及中国水电行业开发规划及十四五投资战略报告2021年版
  11. 【Derivation】正态分布特征函数证明-X~N(a,sigma^2)
  12. Exynos_4412——IIC总线概述
  13. layui button标签
  14. 计算机异常断电后无法启动,电脑突然断电后开不了机怎么办【解决方法】
  15. android 游戏sdk嫁接方式
  16. 西乔,那位集才华与美貌于一身的女纸,IT男的梦中女神,后来怎么样了?
  17. Transformer中引用iqd作为数据源的时提示TR1008无法连接问题
  18. 对rtthread系统的理解
  19. vectorvn1610报价_VECTOR VN1610 CAN Network 通讯模块
  20. 4月从零学习C语言(第26天)——枚举类型

热门文章

  1. ProcessOn一款非常不错在线绘图工具
  2. 交互式应用程序安全测试(IAST)技术浅析
  3. 《痞子衡嵌入式半月刊》 第 57 期
  4. 浅谈三级管(PNP和NPN)导通基极(B)电位情况
  5. linux 没有nc命令,linux nc命令
  6. Excel部分单元格不能编辑,什么原因?怎么做到的?
  7. 金蝶K3系统没有委外加工模块,如果变通处理委外业务?
  8. 徐州计算机软考培训,徐州2017办公软件一对一培训
  9. 期货:移动平均线(MA)技术指标图形
  10. 让人才不再稀缺,让就业水到渠成 ——记传智播客总裁黎活明