基于PHP的CMS网站系统设计的开发与实现.docx
- 文档编号:27499456
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:16
- 大小:268.60KB
基于PHP的CMS网站系统设计的开发与实现.docx
《基于PHP的CMS网站系统设计的开发与实现.docx》由会员分享,可在线阅读,更多相关《基于PHP的CMS网站系统设计的开发与实现.docx(16页珍藏版)》请在冰豆网上搜索。
基于PHP的CMS网站系统设计的开发与实现
摘要
网络的日趋进展,使动态网站的开发和治理倍受人们的关注。
在那个地址,介绍了基于PHP框架CodeIgniter的CMS网站系统的开发,剖析了MVC架构在利用进程中的优势,展现了整个后台的制作流程。
该CMS以PHP做为要紧语言,采纳MySQL做为数据库支持。
为了方便开发,选用了CI框架,该框架能够实现简单入门、快速开发等。
利用以上技术实现了一个小型CMS系统,该系统后台的要紧功能有:
文章治理、分类治理、静态页面生成、用户治理及系统治理。
关键字:
PHP,CMS,CodeIgniter,网站开发
Abstract
Theincreasingdevelopmentofthenetwork,sothatdynamicwebsitedevelopmentandmanagementofmuchattention.Here,theintroducedbasedontheCMSwebsitePHPframeworkCodeIgnitersystemdevelopment,analysisoftheMVCarchitectureintheuseoftheadvantagesoftheprocess,displayingtheentirebackgroundoftheproductionprocess.TheCMSwithPHPasthemainlanguage,theuseofMySQLasadatabasesupport.Tofacilitatethedevelopment,selectionoftheCIframeworkthatcansimpleentryandrapiddevelopment.Usingtheabovetechnology,asmallCMSsystem,whichhasthemainfunctionofthebackground:
Thearticlemanagement,classificationmanagement,staticpagegeneration,usermanagementandsystemmanagement.
keywords:
PHP,CMS,CodeIgniter,WebDevelopment
基于PHP的CMS网站系统开发及应用(免费提供下载)
我的毕业设计,具体成效看大伙儿点击广告支持一下,让咱那个破学生也赚几个小钱…
zhjx922
前言
动态网站系统是成立在网络基础设施之上的Web应用系统,它由前台和后台两部份组成,后台包括一组应用效劳程序、Web效劳器、应用效劳器、数据库效劳器等,前台是通过阅读器展现信息,实现与用户交互的一组网页。
合理的体系结构和良好的程序设计是实现网站功能的基础,友好简练的交互界面是发挥网站系统功能优势的条件。
传统静态网站建设中存在的要紧问题有:
页面制作风格不统一,难以形成独立可复用的模块,降低了应用集成的灵活性和可扩展性;内容组织繁琐,治理效率低下,严峻阻碍了更新效率,难以对信息进行统一治理;应用开发技术难度大,网站后台开发与前台页面的开发都需要开发人员编写代码,代码编写量大;网站开发周期长。
为了解决传统静态网站建设中产生的系列问题,形成了以动态网页技术和数据库技术为基础的CMS(contentmanagementsystem,内容治理系统),它能针对政府和企业网站建设需求,专门面向网站内容编辑、发布与治理的应用系统。
CMS的优势有:
①能够比较灵活的定制栏目,对栏目进行分类、增删改和排序等治理;②CMS表现和内容分离,用户体验与内容质量的和谐统一,能够方便地对信息发布、录入、修改、删除;③能够方便的治理网站的图片、文档、软件等一切资源,达到资源共享;④简化了网站的内容供给和内容治理的责任委托,能够对信息的平安性和权限进行操纵,保证信息访问的平安性和灵活性;⑤能够有效统一网站风格;⑥能在任意地址和时刻进行信息发布,把动态的内容利用静态的页面发布出去,提高网站的访问速度;⑦CMS集成性高,整体高效灵活,扩展性和易保护性好。
第一章技术概述
本系统采纳CodeIgniter框架(以下简称CI)+MySQL数据库开发,CI利用了模型(Model)-视图(View)-操纵器(Controllers)的方式(简称MVC),如此能够更好地使表现层和逻辑层分离。
这对项目的模板设计者来讲是超级有效的,它最小化了模板中的程序代码量。
、PHP
PHP,是英文超级文本预处置语言HypertextPreprocessor的缩写。
PHP是一种HTML内嵌式的语言,是一种在效劳器端执行的嵌入HTML文档的,语言的风格有类似于,被普遍的运用。
PHP独特的语法混合了C、Java、Perl和PHP自创新的语法它能够比CGI或Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相较,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还能够执行编译后代码,编译能够达到加密和优化代码运行,使代码运行更快。
PHP具有超级壮大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库和操作系统。
、CodeIgniter
CodeIgniter是一套给PHP网站开发者利用的应用程序开发框架和工具包。
她提供一套丰硕的标准库和简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。
利用CodeIgniter能够减少代码的编写量,并将你的精力投入到项目的制造性开发上。
、MySQL
MySQL是一个小型关系型数据库治理系统,开发者为瑞典MySQLAB公司。
在2020年1月16号被Sun公司收购。
而2020年,SUN又被Oracle收购.关于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被普遍地应用在Internet上的中小型网站中。
由于其体积小、速度快、整体拥有本钱低,尤其是开放源码这一特点,许多中小型网站为了降低网站整体拥有本钱而选择了MySQL作为网站数据库。
、JQuery
jQuery由美国人JohnResig创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的JörnZaefferer,罗马尼亚的StefanPetre等等。
jQuery是继prototype以后又一个优秀的Javascrīpt框架。
其宗旨是——WRITELESS,DOMORE,写更少的代码,做更多的情形。
它是轻量级的js库(紧缩后只有21k),这是其它的js库所不及的,它兼容CSS3,还兼容各类阅读器(IE+,FF+,Safari+,Opera+)。
jQuery是一个快速的,简练的javaScript库,利用户能更方便地处置HTMLdocuments、events、实现动画成效,而且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各类应用也说得很详细,同时还有许多成熟的插件可供选择。
jQuery能够利用户的html页维持代码和html内容分离,也确实是说,不用再在html里面插入一堆js来挪用命令了,只需概念id即可。
第二章开发环境的安装与配置
在系统中循序渐进的配置PHP的运行环境相对照较麻烦,因此我直接选择了WampServer。
wampserver是在windows下将Apache+PHP+Mysql集成环境,拥有简单的图形和菜单安装和配置环境。
PHP扩展、Apache模块,开启/关闭鼠标点点就弄定,再也不用亲自去修改配置文件了,WAMP它会去做。
再也不用途处询问PHP的安装问题了,wampserver一切都弄定了。
我选择的是版本,里面包括的软件版本别离为:
、、开发工具我选择了EasyEclipseforPHP。
相较ZendStudio,没有它那么“庞大”,可是功能缺一点都很多,关于咱们一样的开发者来讲足够了。
第三章系统设计
、系统概述
CMS是ContentManagementSystem的缩写,意为"内容治理系统",它具有许多基于模板的优秀设计,能够加速网站开发的速度和减少开发的本钱。
CMS的功能并非只限于文本处置,它也能够处置图片、Flash动画、声像流、图像乃至电子邮件档案。
、功能模块分析
内容模块
因为做的是内容治理系统,因此这一块儿也是利用最频繁的一个模块了,咱们的文章、图片、视频都是从那个地址添加,功能:
文章添加、编辑、删除等
分类模块
设置网站的分类信息,方便用户查看各类信息,功能:
分类添加、删除、分类属性等
用户模块
治理用户信息,查找用户的注册时刻,注册IP等,功能:
一般会员、治理员的添加、删除等
系统模块
设置网站大体参数、上传途径、水印文字、友谊链接等
、编码规定
考虑到编码不统一照成的各类错误,因此我选用UTF-8编码
第一设置EasyEclipseforPHP的默许编码。
1、依次打开Windows–Preferences-General-Workspace,将里面的Textfileencoding设置为UTF-8
2、然后打开Windows–Preferences-General-ContentTypes,将Text下面的所有文件都设置成UTF-8
如此,在开发进程中,就会减少各类因为编码不统一,照成的各类问题,网站具体功能模块如以下图:
第四章数据库设计
开发之前,先设计数据库,咱们要实现的功能有:
文章治理、分类治理、用户治理、网站系统信息和友谊链接治理,第一成立数据库zhjx922,一样的编码设定为UTF-8,建表信息如下:
文章表:
字段名称
数据类型
字段大小
是否主键
说明
aid
int
20
是
自动编号ID
title
char
160
标题
source
char
160
来源
author
char
30
作者
key
char
200
关键字
sort_id
int
8
对应分类ID
content
text
内容
count
int
20
点击量
update
int
20
更新时间(记录时间戳)
分类表
字段名称
数据类型
字段大小
是否主键
说明
sid
int
10
是
自动编号ID
fid
int
10
父分类ID
sort_name
char
50
分类名称
sort_order
int
8
排序
sort_date
char
20
添加时间
sort_type
int
2
分类类型
sort_contribute
tinyint
2
是否支持投稿
sort_hidden
tinyint
2
是否隐藏栏目
sort_competence
int
2
浏览权限
sort_tag
char
50
分类标签
其它表单建表代码:
/**评论表单**/
CREATETABLE`dz_comments`(
`id`INT(20)NOTNULLAUTO_INCREMENT,
`comments_art_id`INT(20)NOTNULL,
`comments_user`CHAR(20)NOTNULL,
`comments_mail`CHAR(30)NOTNULL,
`comments_site`CHAR(30)NOTNULL,
`comments_comments`TEXTNOTNULL,
`comments_date`CHAR(20)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=UTF8AUTO_INCREMENT=1;
/**网站访问信息表单**/
CREATETABLE`dz_count`(
`id`INT(20)NOTNULLAUTO_INCREMENT,
`count_date`CHAR(20)NOTNULL,
`count_day`INT(20)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=UTF8AUTO_INCREMENT=1;
/**链接表单**/
CREATETABLE`dz_links`(
`lid`INT(10)NOTNULLAUTO_INCREMENT,
`links_name`CHAR(50)NOTNULL,
`links_site`CHAR(100)NOTNULL,
`links_date`CHAR(20)NOTNULL,
PRIMARYKEY(`lid`)
)DEFAULTCHARSET=UTF8AUTO_INCREMENT=1;
/**用户表单**/
CREATETABLE`dz_member`(
`mid`INT(5)NOTNULLAUTO_INCREMENT,
`username`CHAR(20)NOTNULL,
`password`CHAR(50)NOTNULL,
`cercode`CHAR(50)NOTNULL,
`email`CHAR(32),
`regip`CHAR(15),
`regdate`INT(10),
`lastloginip`INT(10),
`lastlogintime`INT(10),
`group_id`INT
(2),
PRIMARYKEY(`mid`)
)DEFAULTCHARSET=UTF8AUTO_INCREMENT=1;
21232f297a57a5a743894a0e4a801fc3
/**网站参数表单**/
CREATETABLE`dz_sys`(
`sys_name`CHAR(50)NOTNULL,
`sys_value`CHAR(200),
`sys_explain`CHAR(50),
PRIMARYKEY(`sys_name`)
)DEFAULTCHARSET=UTF8;
第五章CodeIginter的安装及配置
我的网站设定在E:
\wamp\www\zhjx922目录下
第一下载好CI的紧缩包,只需把里面system文件夹和文件解压到根目录下
简单配置一下,打开app/config/,
$config['base_url']="";
$config['subclass_prefix']='DZ_';
然后打开app/config/设置数据库参数
$db['default']['hostname']="localhost";
$db['default']['username']="root";
$db['default']['password']="";
$db['default']['database']="zhjx922";
$db['default']['dbdriver']="mysql";
$db['default']['dbprefix']="dz_";
添加HMVC支持
CI是MVC架构,为了开发方便,在网上找个一个HMVC模块modular_extensions_5231,将里面的3个文件、、解压以后放到app/library里面。
App下新建modules目录。
里面就能够够放不同的模块了。
如图:
第六章后台开发
、搭建后台大体功能
启动WampServer,然后启动EasyEclipseforPHP
为方便后台的治理,后台所有的程序均继承app/libraries下DZcms类,该类主若是判定治理员是不是登录,以保证程序后台的平安
代码如下:
PPPATH.'admin/';web/';
returnLoader:
:
view($view,$vars,$return);this->dz_db.'.sort_id');
$this->db->order_by('aid','desc');
$this->db->from($this->dz_db);
return$this->db->count_all_results();this->dz_db.'.sort_id');
$this->db->where('sort_id',$sid);
$this->db->limit($offset,$limit);
$this->db->order_by('update','desc');
$query=$this->db->get($this->dz_db);
return$query->result_array();
}
、后台界面设计
我把后台所需的CSS,JS及IMAGES统一放在app/admin目录下面
接着确实是后台的入口,app/modules下的admin
操纵器代码如下:
dd_top").click(function(){
$(this).parent().parent().before('
3px0px;"/>
});
/*添加自分类*/
$(".add_son").click(function(){
varorder='new'+$(this).parent().prev("td").children("input").attr("name")+'[]';
varname='new'+$(this).prev("input").attr("name")+'[]';
$(this).parent().parent().after('
3px0px;"/>
});
$(".add_son1").click(function(){
varorder=$(this).parent().prev("td").children("input").attr("name")+'[]';
varname=$(this).prev("input").attr("name")+'[]';
varcc=$(this).prevAll("span").html()+'
$(this).parent().parent().after('
left;margin:
3px0px;"/>
});
动态生成HTML以后,咱们需要将数据提交到数据库中,数据分两类,一类是原有的(数据库读出来的),一类是新加的,依照这种情形分成两类数据提交,因为原有的数据Input标签的name是从数据库读出来的(给予其name为name[*]),而新的却不是如此(给予其name为newname[*]),依照那个的不同,来识别数据是新的仍是原有的。
关键代码如下:
/*获取新添加的分类信息*/
$neworder=$this->input->post('neworder');
$newname=$this->input->post('newname');
/*更新原有的信息*/
$order=$this->input->post('order');
$name=$this->input->post('name');
然后依照提交的值做出相应的处置,提交或更新到数据库
分类信息的删除
进程:
先删除当前分类,然后删除分类下的文章(同时删除文章下的附件),以后删除分类的子类,如此循环下去就能够够删除干净了,关键代码:
functiondel_sort()
{
$sid=$this->uri->segment(3,0);
if($sid!
='0'){
if($this->msort->del_sort($sid)==TRUE)
{
".$upload_path."/".$value['name'];
jQuery基础教程[M].人民邮电出版社,2020年11月
[2][美]BenForta.MySQL必知必会[M].人民邮电出版社,2020年1月
[3]增顺.精通CSS+DIV网页样式与布局[M].人民邮电出版社,2007年8月
[4]胡孟杰,郑延斌等.JavaScript动态网页开发案例指导[M].电子工业出版社,2020年4月
[5]邹天恩,潘凯华.PHP网络编程标准教程[M].人民邮电出版社,2020年2月
致谢
在林院的三年大学生活,伴随着论文答辩也将终止。
回顾三年,从那个不懂事的小伙子,变得能够自我约束自己,严格要求自己。
在那个进程中,学到了很多东西,希望在毕业以后能够顺利的帮我找到一份中意的工作。
在那个地址,第一要感激我的班主任教师宋朝辉,是他给予我的无穷帮忙与关切,从他的身上我学到的不单单是知识,更多的是做人。
在此,我也要向两年来辛勤培育和教育,关切,帮忙我的恩师们:
卢继阳教师、刘文毓教师、张永福教师等表示我最真挚的敬意和感激!
关于父母不能用感激,更多的是惭愧。
的确,每每想到我的父母,眼底老是涌动出惭愧的泪水,他们给了我生命、思想和全数的爱,在我十几年的念书生涯中,他们用自己微薄的力量爱惜着我,用自己辛勤的劳动支持着我,我无以为报,只能让自己在尔后的道路上踏实向上,走好每一步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PHP CMS 网站 系统 设计 开发 实现