IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP内容管理系统详细制作步骤 -> 正文阅读

[PHP知识库]PHP内容管理系统详细制作步骤

一、需求分析

  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知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:07:20  更:2021-08-21 15:09:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 20:40:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码