【PHP开源代码栏目提醒】:网学会员为需要PHP开源代码的朋友们搜集整理了毕业论文-基于PHP和MySQL的CMS系统 - 毕业设计相关资料,希望对各位网友有所帮助!
基于
PHP 和 MySQL 的 CMS 系统 物理与电子工程学院 电子信息科学与技术 2006 级 664667120 指导教师 Mr. Gong 要:CMS 是网站信息管理和维护的良好工具,因而成为很多建站者的首选。
PHP 摘 要:和 MySQL 是做中小型网站的最佳组合。
本文简要介绍了 CMS 系统的实现以及相关的JavaScript、CSS 等 web 技术,详细阐述了基于
PHP 和 MySQL 的 CMS 系统。
关键词:CMS;
PHP;MySQL;CSS;JavaScript 关键词: Abstract: CMS is a good tool to manage and stick up for wensite.
PHP and MySQL are Abstract:the best combination to build minority website. The birth of CMS despense with much peopleswork to lower costs of building website becomes
website owner first choice. Briefintroduction of CMSs realization and relative correlative technique JavaScript、CSS and so on.Detailed introduction of on the basis of
PHP and MySQL CMS systems design and realization. Key words: CMS;
PHP;MySQL;CSS;JavaScript1 前言 随着互联网的高速发展,Web 技术由被动显示的 Web1.0 过度到了主动交互的 Web2.0。
Web2.0 诞生及其相关技术的应用,使得信息交流越来越频繁,站点信息越来越多,而对站点大量信息的维护就成了一个费时费力的
工作。
为了解决大量站点信息的维护难题,CMS 孕育而生。
CMS 所涉及到内容非常广泛,从一般的博客程序、新闻发布程序,到综合性的网站管理程序都属于内容管理系统。
CMS 的使用,省却了对站点大量信息的人工维护,降低了网站的建设成本,因而 CMS 成为很多建站者的首选。
第 1 页 共 26 页2 CMS 系统及开发技术2.1 CMS 系统 CMS(Content Management System)是融合 HTML、JavaScript、CSS 等 web技术的模版化设计,它可以自动处理网站的文本信息、图片、Flash 动画、声音流等,省却大量的人力维护,加快网站的开发速度和减少开发成本。
2.2 关键技术简介2.2.1 关于
PHP 1
PHP 是 Hypertext Preprocessor 的简称,是一种
HTML 内嵌式编程语言。
它的语法混合了 C、Java 和 Perl 优点,比 CGI、ASP 或者 Perl 更快速地执行动态网页,是一种被广泛应用的
开源式的多用途脚本语言,尤其适合 web 开发。
2.2.2 关于 MySQL MySQL2是基于 SQL 的,完全
网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库
管理系统。
它具有功能强,使用简便,管理方便,运行速度快,安全可靠性高等优点。
支持多种语言编写访问数据库的
程序。
2.2.3 关于 CSS 3 CSS Cas
cading Style Sheet是 W3C 组织制定的,用于控制网页样式的一种标记性语言,它能实现表现和内容的分离,从而达到美化显示界面的效果。
2.2.4 关于 JavaScript 4
JavaScript 是一种可以用来制作网页中特效的脚本语言,它分为服务端程序和客户端程序。
使用客户端脚本,可以控制
文档的外观和内容,控制客户端行为,减轻服务器端的负荷。
3 CMS 系统构思 第 2 页 共 26 页 本 CMS 系统主要用于信息的发布、组织、维护及管理,类似一个新闻发布系统。
系统使用 CSS、JavaScript 等 web 技术设计界面,呈现给用户清爽、美观页面;使用
PHP 语言进行用户和业务层的
通信,采用 MySQL 连接业务层和数据库。
整个系统分为两大部分,即前台和后台。
系统前台主要用于展示站点信息,供游客和用户等浏览、查阅以及检索。
系统后台主要用于管理和维护站点中的信息,除此之外还包括对站点的设置、会员的管理、个人信息的维护等附加功能。
4 CMS 系统需求分析4.1 界面需求分析 CMS 整体以暖色调为主,后台主要为天蓝色和白色为主,给人清新,舒适的感觉,配合 CSS 设计,界面简洁清爽。
4.2 功能需求分析4.2.1 CMS 功能需求概述 5 1.需求描述 (1)CMS 系统有三种用户,管理员、用户、游客(未登陆或未注册)。
(2)游客:游客即浏览者,可以登陆内容管理系统的前台页面 ,浏览新闻,并且可以对浏览的新闻发表评论 ,也可以利用新闻搜索功能 ,
搜索自己想看的新闻。
游客拥有的主要功能模块有信息检索模块、浏览模块等。
(3)会员:注册的游客,拥有游客的全部功能,除此之外可以对自己的
注册信息和发表的文章进行编辑 、修改等。
会员拥有的主要功能有发表文章模块、管理文章模块、用户登录模块、评论模块等。
其中,管理文章模块分为修改文章和删除文章模块,评论模块分为添加评论和删除评论模块。
第 3 页 共 26 页 (4)管理员:管理员可以对整个系统的前台和后台进行管理,维护并且管理站点的所有信息。
管理员所拥有的主要功能模块有系统管理模块 、信息管理模块、会员管理模块、附加功能模块、个人中心模块等 。
其中,系统管理模块、信息管理模块等大模块中又各自包含相应的小模块。
2.用例图 CMS 系统的用例用,如图 4-1 所示: 注册 发表文章 检索 游客 管理文章 评论 搜索文章 浏览 用户 维护注册信息 登陆
系统管理 信息管理 管理员 会员管理 个人中心 附加功能 图 4-1 CMS 用例图 以上是 CMS 系统的整个功能需求分析,接下来将对系统中的浏览模块、发表文章模块和信息管理模块进行具体分析。
4.2.2 浏览模块 1.需求描述: 第 4 页 共 26 页 实现游客、用户以及管理员浏览信息。
2.用例图 (1) 游客 浏览 用户 管理员 图 4-2 浏览用例图 (2)用例内容 浏览—基本事件流:①游客、用户或管理员进入浏览页面。
②请求要浏览 的信息。
③发布请求。
④页面跳转到请求的页面。
浏览—备选事件流:备选留一,在基本流步骤③中请求页面失败,系统显 示错误,重新回到基本流步骤①。
4.2.3 发表文章模块 1.需求描述: 实现用户发表文章,用户必须登陆后才可以发表文章。
2.用例图 (1) 登录用户 发表文章 管理员 图 4-3 发表文章用例图 第 5 页 共 26 页 (2)用例内容 发表文章—基本事件流:①用户进入发表文章页面。
②填写文章信息。
③提交文章的信息。
④页面跳转到查看文章页面。
发表文章—备选事件流:备选流一,在基本流步骤②中填写信息错误 ,系统显示错误,重新回到基本流步骤①。
4.2.4 调用论坛文章模块 调用论坛文章模块属于信息管理模块中的一个小功能模块,以下将详细分析调用论坛文章模块: 1.需求描述: 实现管理员对论坛文章的调用,管理员必须登陆后才可以调用论坛文章。
2.用例图 (1) 调用论坛文章 管理员 图 4-4 调用论坛文章用例图 (2)用例内容 调用论坛文章—基本事件流:①管理员进入调用论坛文章页面。
②选择要调用的文章。
③复制论坛文章到 CMS 系统。
④页面跳转到当前页面。
调用论坛文章—备选事件流:备选流一,在基本流步骤③中复制论坛文章出错,系统显示错误,重新回到基本流步骤①。
5 设计与实现5.1 CMS 系统层次结构 第 6 页 共 26 页 CMS 系统 用户界面 业务层 数据库 图 5-1 CMS 系统层次图 CMS 系统层次结构如图 5-1 所示:分为三个层次,用户通过用户界面输入数据,数据经过业务层处理,最后存入数据库。
同样的,用户界面显示的数据由业务层向数据库发出请求,数据库接到请求后输出数据,经业务层处理,最后在用户界面显示。
接下来将围绕 CMS 系统的三个层次,具体讲解 CMS 系统界面设计、数据库设计以及根据功能模块。
5.2 CMS 系统界面设计5.2.1 界面设计技术 系统采用 CSS 美化6用户界面,使用 JavaScript 控制界面中的一些特效。
通过有选择的使用 CSS、JavaScript 等 Web 技术,
设计出友好、便于用户操作的界面。
同时,利用 JavaScript 的一些客户端控制功能,有效的处理客户端的某些行为,从而减小服务器的负重,提高程序的运行效率。
5.2.2 系统公用 CSS
代码 系统公用 CSS
代码文件为 style.css,用于控制系统的统一页面属性,其关键
代码如下:......body margin:0pxbodytdth font-size: 12pxlt--.bor 第 7 页 共 26 页 border: 1px solid C6D7DE.bor2 padding:5px border: 1px dotted 84F384 background:FFFFE7.bor3 border: 1px solid ADAAAD background:FFFBD6--gta text-decoration: none color: 003366 a:hover text-decoration: none color:cc33ff body font-size: 9pt table font: 9pt Tahoma Verdana color: 000000 inputselecttextarea font: 9pt Tahoma Verdana color: 000000font-weight: normal select font: 9pt Tahoma Verdana color: 000000font-weight: normal background-color: F8F8F8 .header font: 9pt Tahoma Verdana color: FFFFFFfont-weight: bold background-color:68caed.header a color: FFFFFF .header a:visited color: FFFFFF .header a:hover color: cc33ff .tableborder background: ECF5FF border: 1px solid 698CC3 .tableborder1 background: ffffff border: 1px solid 698CC3 .singleborder font-size: 0px line-height: 1px padding: 0pxbackground-color: F8F8F8 .smalltxt font: 9pt Tahoma Verdana .outertxt font: 9pt Tahoma Verdana color: 000000 .outertxt a color: 000000 .bold font-weight: bold ......5.2.3 系统公用 JavaScript
代码 系统公用 JavaScript
代码文件为 common.js,用于获取某些用户输入信息和检测用户输入信息是否合法,其关键
代码如下: ......function id return document.getElementByIdid 第 8 页 共 26 页 trueifcheck truefunction CheckAllform var for var i0iltform.elements.length-1i var e form.elementsi e.checked ifcheck true ifcheck ifcheck true false : true ...... 以下是根据 CMS 的层次结构,完成的几个典型功能模块的具体设计与实现,其中包括浏览模块、发表文章模块和信息管理中的调用论坛文章模块。
5.3 浏览模块5.3.1 浏览界面设计 浏览界面主要显示文章的所属分类,文章的标题,文章作者、来源、时间,文章的点击次数以及文章内容等信息。
5.3.2 浏览业务层设计 (1)流程图,如图 5-2 所示: 浏览文章 请求文章 提示信息 请求失败 请求成功 查看文章页面 图 5-2 浏览流程图 (2)操作流程说明: 1 进行浏览文章,用户请求要查看的页面,发送查看页面请求 ,若 页面请求成功,则进入查看文章页面;若请求失败,则系统显示错误提 示,然后返回浏览文章页面。
第 9 页 共 26 页 2 用户必须请求有效的文章页面,否则无法浏览请求的信息。
5.3.3 数据库设计与实现 (1)数据库设计 浏览模块主要是
查询发表文章模块数据库表里的信息,找到请求的信息 后,将信息从数据库表 btlcms_arctype 中读出来,然后显示到查看界面。
有关数据库表 btlcms_arctype 的设计请看 5.4.3 节中的数据库设计内容。
(2)数据库实现 浏览模块数据库实现请参看 5.4.3 中的数据库实现内容。
5.3.4 关键
代码 以下为浏览模块实现的关键
代码,
代码来源于文件 view.
php执行此文件还需调用文件 common.
php。
ltphp ...... id intval_REQUESTid //get article id //update click number db-gtqueryquotUPDATE tablearchives SET clickclick1 WHEREaididquot //fetch informations from database sql quotSELECT i.c.typename FROM tablearchives AS i LEFT JOINtablearctype AS c ON i.typeid c.typeid WHERE i.aid idquot res db-gtquery
sql ifrow db-gtfetchRowres id rowaid title rowtitle content rowcontent typeid rowtypeid typename rowtypename writer rowwriter source rowsource ip rowip click rowclick postdate dateY-m-d rowpostdate include tplview //include view.htm break else showquot要查看的信息不存在!quotquotquot 第 10 页 共 26 页 ....... gt5.3.5 界面实现 浏览界面实现图,如图 5-3 所示: 图 5-3 浏览界面实现图5.4 发表文章模块5.4.1 发表文章界面设计 发表文章界面有 10 个文本框,它们分别为文章标题、文章来源、作者、所属栏目、关键字、缩略图、是否推荐、是否置顶、内容摘要、文章内容。
5.4.2 发表文章业务层设计 (1)流程图,如图 5-4 所示: 图 5-4 发表文章流程图 (2)操作流程说明: 1)进行发表文章,检查用户是否
登陆,若未登陆,则进入登陆界面 , 第 11 页 共 26 页 登陆成功后跳转到发表文章页面;若用户已登陆则直接进入发表文章页 面。
文章发表失败,则弹出提示信息,然后跳转到发表文章页面;若发 表成功,则进入查看文章页面。
2)用户必须按照要求发表文章 ,否则文章发表失败 ,重新进入发表文 章页面。
3)发表的内容及填写规范 ,如表 5.1 所示: 名称 类型 是否必填 规则 标题 文本 是 最 多 50 个 字 符 关键字 文本 是 最 多 255 个 字 符 来源 文本 是 最 多 30 个 字 符 所属栏目 文本 是 最 多 32 个 字 符 作者 文本 否 最 多 30 个 字 符 内容摘要 文本 否 最 多 255 个 字 符 文章内容 文本 是 图片 文本 否 最 多 60 个 字 符 置顶 整型 否 “ “ 1 个 字 符, 1” 表 示 置 顶, 0” 表 示 不 置 顶 推荐 整型 否 “ “ 1 个 字 符, 1” 表 示 推 荐, 0” 表 示 不 推 荐 表 5.1 发表文章填写规范5.4.3 数据库设计与实现(1)数据库设计 根据用户界面和业务流程设计用户表,详见表 5.2 和表 5.3。
数据表 btlcms_arctype 用于存放信息分类,即文章所属的栏目分类。
它由栏目 ID、栏目父 ID、栏目名称、链接 URL、栏目描述、关键词、栏目排序和是否属于本系统栏目设置 7 个字段组成。
数据表 btlcms_archives 用于存放文章信息。
它由文章标题、关键字、来源、所属栏目 ID、文章作者、内容摘要、文章内容、缩略图、是否置顶、是否推荐、信息发布时间、发布者 IP 等 17 个字段组成。
(2)数据库实现 数据表 btlcms_arctype 的 MySQL
代码实现如下:DROP TABLE IF EXISTS btlcms_arctypeCREATE TABLE btlcms_arctype typeid mediumint6 NOT NULL auto_increment 第 12 页 共 26 页 varchar32 NOT NULL typename varchar NULL varchar100 NOT NULL url varchar NULL varchar255 default NULL key
words varchar NULL varchar description varchar255 default NULL NULL int11 default 0 parentid int smallint6 NOT NULL disorder smallint NULL is_btl tinyint1 unsigned NOT NULL default 1 PRIMARY KEY typeid KEY url url KEY parentid parentid KEY typename typename TYPEMyISAM AUTO_INCREMENT2 TYPE 数据表 btlcms_archives 的 MySQL
代码实现如下:DROP TABLE IF EXISTS btlcms_archivesCREATE TABLE IF NOT EXISTS btlcms_archives int10 unsigned NOT NULL AUTO_INCREMENT aid int NULL uid mediumint8 unsigned NOT NULL NULL typeid mediumint6 unsigned NOT NULL varchar50 NOT NULL title varchar NULL varchar writer varchar30 default NULL NULL char30 default NULL source char NULL NULL content text NOT NULL varchar255 default NULL keywords varchar NULL varchar255 default NULL description varchar NULL char60 default NULL picture char NULL int11 NOT NULL postdate int NULL int11 unsigned NOT NULL enddate int .