一、需求分析

  1. 需求分析,明确系统功能

*利用MySQL数据库完成对系统功能的设计。

*系统分为前后台,前台用于展示文章,后台用于发布文章。

*后台需要管理员登录才能进行访问,在登录时要求输入用户名、密码、验证码。

*后台提供文章管理和栏目管理两个模块,提供文章和栏目的编辑、删除功能。

*每篇文章都可以设置其所属的栏目。

*在管理栏目时,可以设置每个栏目的显示顺序。

*可以为栏目添加子栏目,可以根据栏目或子栏目查看文章列表。

*可以对文章列表进行排序与搜索,并提供分页导航功能。

*文章列表默认根据发表时间进行排序,支持自定义排序。

*查看文章时,可以进行上下切换。显示文章浏览的历史纪录和热门文章列表。

2、创建数据库和数据表(文章表、栏目表、管理员表),在项目中导入数据库

# 创建数据库

CREATE DATABASE `itcast_cms`;

# 选择数据

USE `itcast_cms`;

# 文章表

CREATE TABLE `cms_article`(

`id` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

`cid` INT UNSIGNED NOT NULL COMMENT '栏目ID',

`title` VARCHAR(80) NOT NULL COMMENT '标题',

`author` VARCHAR(15) NOT NULL COMMENT '作者',

`thumb` VARCHAR(255) NOT NULL COMMENT '封面图',

`show` ENUM('yes','no') DEFAULT 'yes' NOT NULL COMMENT '是否发布',

`views` INT UNSIGNED DEFAULT 0 NOT NULL COMMENT '点击量',

`time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',

`content` TEXT NOT NULL COMMENT '内容',

`keywords` VARCHAR(150) NOT NULL COMMENT '关键字',

`description` VARCHAR(255) NOT NULL COMMENT '内容简介'

)DEFAULT CHARSET=utf8;

# 栏目表

CREATE TABLE `cms_category`(

`id` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

`pid` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '父级ID',

`name` VARCHAR(15) NOT NULL COMMENT '名称',

`sort` INT NOT NULL DEFAULT 0 COMMENT '排序'

)DEFAULT CHARSET=utf8;

# 管理员表

CREATE TABLE `cms_admin`(

`id` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

`name` VARCHAR(10) NOT NULL UNIQUE COMMENT '用户名',

`password` CHAR(32) NOT NULL COMMENT '密码',

`salt` CHAR(6) NOT NULL COMMENT '密钥'

)DEFAULT CHARSET=utf8;

# 添加管理员数据

INSERT INTO `cms_admin` VALUES(1, 'admin', MD5(CONCAT(MD5('123456'),'itCAst')), 'itCAst');

# 添加默认栏目数据

INSERT INTO `cms_category` VALUES

(1, 0, '生活', 0),

(2, 0, '资讯', 1),

(3, 0, '编程', 2),

(4, 0, '互联网', 3),

(5, 0, '科技', 4),

(6, 3, 'PHP', 0),

(7, 3, 'Java', 1),

(8, 3, 'Android', 2),

(9, 2, '新闻资讯', 0),

(10, 2, '教育动态', 0),

(11, 2, '学术观点', 0),

(12, 2, '实事点评', 0),

(16, 4, '网络理财', 0),

(13, 1, '厨艺', 0),

(14, 1, '时装', 0),

(15, 5, '硬件', 0);

# 添加默认文章数据

INSERT INTO `cms_article` VALUES

(1, 6, '这是第一篇文章', '传智播客', '', 'yes', '0', now(),

'<p>欢迎使用 PHP内容管理系统!</p><p>这是一篇系统自动生成的文章,您可以修改或删除。</p>',

'PHP,内容,管理','欢迎使用 PHP内容管理系统。'),

(2, 6, '最涨薪PHP项目—PHP微信公众平台开发', '博学谷', '2016-05/16/ed27a1ba3b93801cde7a4d0f2ff26958.png', 'yes', '0', now(),'','','在“智能手机”时代,没有人不识微信!'),

(3, 6, 'PHP进阶:要想提高PHP的编程效率,你必须知道的49个要点', '博学谷', '', 'yes', '0', now(),'','',''),

(4, 6, '想少走弯路,就看看这个贴:PHPer职业发展规划与技能需求!', '博学谷', '', 'yes', '0', now(),'','',''),

(5, 6, '前端必学框架Bootstrap,3天带你从入门到精通,免费分享!', '博学谷', '', 'yes', '0', now(),'','',''),

(6, 6, 'PHP学科:MySQL手册免费分享', '博学谷', '', 'yes', '0', now(),'','','');

  1. 、导入数据库进项目

二、准备工作

1、准备工作

域名:www.cms.com

项目保存的目录(网站根目录):D:/phpstudy_pro/WWW/www.cms.com

打开网站根目录,删除所有文件

2逐一载入模板,并显示

3、为前台创建初始化文件init.php,用来定义一些基础的常量,以便项目使用

4、为后台创建初始化文件init.php,用来定义一些基础的常量,以便项目使用

5、在conmon目录创建公用函数库function.php,在项目开发过程中,常用功能通过函数实现

(1)(创建E函数用于调试错误信息)

(2)载入函数库

6、配置文件,在conmon目录中创建文件config,php,保存数据库连接的信息

7、设置访问的配置文件,设置C函数

8、连接数据库函数,在common目录创建db.php

9、执行sql语句

(1)编写db_query函数

(2)编写db_bind_param函数

10、批量操作

(1)数据内容为空时,直接执行,否则进行参数绑定

(2)准备sql操作

11、后续工作

(1)后续操作中,处理结果集,获取受影响的行数,获取ID等后续工作,通过函数操作

(2)查询数据,获得保存所有结果的相关数组

(3)插入数据,获最后插入的ID

12、在公共函数中输入过滤函数

(1)在function.php中编写函数用于接收外部变量,创建I函数

(2)下面进行简单的演示

(3)字符串转义

13、后台页面布局

创建布局文件init.php,在index.php和cp_index.php中并引入模板

三、管理员登录

1、创建后台登录表单login.html

并把代码完善

  1. 在init.php中载入PHP文件

  1. 接收登录表单,创建登录文件admin\login.php

(3)页面提示信息

(4)在页面输入提示信息

(5)通过调用common/function.php函数

(6)显示页面提示信息

(7)判断登录状态,检查用户登录

(8)载入, 检查用户登录

(9)显示用户名

  1. 登录验证码
  1. 生成验证码文本,在common\captcha.php

(2)生成验证码图像

  1. 调试验证码,创建文件admin\captcha.php

(3)显示验证码

(4)判断验证码

(5)对验证码进行验证

(6)退出登录

(7)当退出时admin\login.php接收参数

四、栏目管理

1、读取栏目数据,在common目录先创建module.php

  1. 在前后台的初始化文件init.php引入模板文件

2、编辑栏目

(1)输出已有栏目,创建cp_category.php

  1. 添加栏目

  1. 批量修改、添加数据

  1. 修改层级

(1)添加编辑链接

(2)取出指定栏目信息

(3)输出

  1. 保存信息

(5)删除栏目

(6)执行操作

  1. 令牌保护

  • 文章管理
  1. 查询文章列表

  1. 显示文章

  1. 查询指定文章信息

  1. 显示、输出栏目

  1. 保存文章

  1. 实现文章添加

  1. 上传封面

  1. 排序并显示

  • 页面展示
  1. 前台初始化

  1. 定义模板数据

  1. 显示前台页面

在浏览器显示文章

管理员的用户名为:admin

密码:123456

PHP内容管理系统详细制作步骤相关推荐

  1. 三分屏课件制作_剪映如何制作三宫格视频(分屏功能)详细制作步骤

    今天有一个小伙伴问猫叔, 那种三屏的抖音短视频怎么制作呢?其实呢玩过抖音的朋友都知道剪映非常不错的一款短视频剪辑软件. 今天呢猫叔就给大家分享一下:这里用到剪映 特效里的 分屏 功能就可以了. 最后我 ...

  2. html诗词赏析网页制作步骤,制作网页详细操作步骤

    制作网页详细操作步骤 导读:目前所见即所得类型的工具越来越多,使用也越来越方便,所以制作网页已经变成了一件轻松的工作,不像以前要手工编写一行行的源代码那样.下面和小编一起去看看相关内容~ 制作网页主要 ...

  3. cms php vue 开源_企业网站制作常用CMS网站内容管理系统推荐

    现在做网站90%的都是采用cms网站管理系统,内容管理系统(CMS)是一种当下非常主流的网站建设系统,能够快速地帮助我们建立一个属于自己的网站,相比定制后台系统,主流的cms都是经过很多年持续更新,经 ...

  4. 织梦CMS内容管理系统下载与使用详细教程

    CMS即内容管理系统,国内国外都有很多的CMS平台,百度一大堆,那么CMS系统干嘛用的呢,我个人认为最主要的还是方便我们开发一个网站,此种开发方式并非写程序,而是一种可视化的拼图的形式,并对该网站进行 ...

  5. 国内CMS内容管理系统

    CMS是Content Management System的缩写,意为"内容管理系统". CMS具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本. CMS的功能并 ...

  6. (转载)连连看游戏外挂详细制作过程

    标 题: [原创]新人入手第一个游戏外挂,附上详细制作过程 作 者: caigui 时 间: 2013-01-09,00:56:16 链 接: http://bbs.pediy.com/showthr ...

  7. PHPOK企业网站建设的内容管理系统 v5.7源码

    简介: PHPOK系统(下述简称OK系统)是由深圳锟铻科技有限公司(前身是PHPOK工作室)开发的一套针对网站建设的内容管理系统,采用 PHP 语言编写,默认使用 MySQL 数据库存储,基于 LGP ...

  8. 微电影宣传片制作步骤分享。

    微电影宣传片制作步骤分享. 在如今这个视频产业迅速发展的时期,微电影也作为其中一个重要组成部分在近几年得到了飞速的发展.现在拍摄的成本被放低,每个人几乎都拥有可以拍摄的东西.因为微电影之制作简单,拍摄 ...

  9. HTML设计的步骤,网页设计详细操作步骤

    网页设计详细操作步骤 网页设计是一个比较吃香的行业,要真正做一个好的网页,还必须有良好的设计功底.下面是小编分享的网页设计详细操作步骤,一起来看一下吧. 一.确定网页主题 网页主题就是你建立的网页所要 ...

  10. 【Dash搭建可视化网站】项目13:销售数据可视化大屏制作步骤详解

    销售数据可视化大屏制作步骤详解 1 项目效果图 2 项目架构 3 文件介绍和功能完善 3.1 assets文件夹介绍 3.2 app.py和index.py文件完善 3.3 header.py文件完善 ...

最新文章

  1. iOS架构-自动打包并上传到App Store(python)(21)
  2. alpine linux 简介(面向安全应用的发行版)apk
  3. 基站基带fgpa 服务器芯片,基于FPGA的AIS基带数据处理芯片设计
  4. 02_IO操作的基本规律(InputStream,OutputStream,Reader,Writer,FileReader,FileWriter,BufferedReader,BufferedWri
  5. oracle的have,Does oracle have “auto number” data type [duplicate]
  6. git解决error: failed to push some refs to ‘xxx(远程库)‘
  7. 【Java从0到架构师】MyBatis - 查询
  8. 为什么企业越来越重视数据分析与挖掘?
  9. java/php/net/python房产信息管理系统设计
  10. C#汉诺塔递归算法实现
  11. java jwt 单点登录_jwt技术实现系统间的单点登录
  12. Java汉字转GB2312编码【工具类】
  13. 服务器安装macos虚拟机,Win10虚拟机VMware安装黑苹果MacOS Sierra图文教程
  14. boost 进程间通信-share memery传递字符串
  15. STEP2——《数据分析:企业的贤内助》重点摘要笔记(三)——数据录入
  16. ctfshow 做题 萌新 模块(1)
  17. Apache Flink_JZZ158_MBY
  18. [Android开发] Xposed 插件开发之三: 编写广告去除插件
  19. Octotree在GitHub中出错(已解决)
  20. TI Sitara系列AM64x核心板(双核ARM Cortex-A53)软硬件规格资料

热门文章

  1. 如何打造高绩效团队?团队成功的关键要素?
  2. Python - Matplot 绘制多图 直方图和折线图并存 共用 X 轴
  3. 0成本副业项目,适合小白操作的信息差创业项目
  4. 如何在Excel选取想要的数据(特定行)
  5. 数字电路时钟无毛刺切换
  6. java获取上个月15号_java获取当前上一周、上一月、上一年的时间
  7. 2020神舟几号发射_神舟九号和神舟十号是什么时候发射的,宇航员分别是谁?...
  8. impala COMPUTE STATS 指令
  9. 概率论基础 - 5 - 马尔可夫不等式
  10. IP地址(IPv4)