于基php的cms网站系统开发及应用大学毕设论文.docx

上传人:b****5 文档编号:27732571 上传时间:2023-07-04 格式:DOCX 页数:30 大小:132.32KB
下载 相关 举报
于基php的cms网站系统开发及应用大学毕设论文.docx_第1页
第1页 / 共30页
于基php的cms网站系统开发及应用大学毕设论文.docx_第2页
第2页 / 共30页
于基php的cms网站系统开发及应用大学毕设论文.docx_第3页
第3页 / 共30页
于基php的cms网站系统开发及应用大学毕设论文.docx_第4页
第4页 / 共30页
于基php的cms网站系统开发及应用大学毕设论文.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

于基php的cms网站系统开发及应用大学毕设论文.docx

《于基php的cms网站系统开发及应用大学毕设论文.docx》由会员分享,可在线阅读,更多相关《于基php的cms网站系统开发及应用大学毕设论文.docx(30页珍藏版)》请在冰豆网上搜索。

于基php的cms网站系统开发及应用大学毕设论文.docx

于基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

目录

摘要2

Abstract3

前言6

第一章技术概述7

1.1、PHP7

1.2、CodeIgniter7

1.3、MySQL7

1.4、JQuery7

第二章开发环境的安装与配置9

第三章系统设计10

3.1、系统概述10

3.2、功能模块分析10

3.3、编码规定10

第四章数据库设计12

第五章CodeIginter的安装及配置15

第六章后台开发16

6.1、搭建后台基本功能16

6.2、后台界面设计19

6.3、分类管理21

6.3.1、分类的添加、删除21

6.3.2、分类属性编辑(图6.3.2)24

6.4、文章管理26

6.4.1、文章添加、编辑26

6.4.1、文章的删除29

6.5、用户管理29

6.6、系统管理30

6.6.1、基本参数30

6.6.2、友情链接30

结论31

参考文献32

致谢33

基于PHP的CMS网站系统开发及应用(免费提供下载)

我的毕业设计,具体效果看

大家点击广告支持一下,让咱这个破学生也赚几个小钱…

作者:

zhjx922

前言

动态网站系统是建立在网络基础设施之上的Web应用系统,它由前台和后台两部分构成,后台包括一组应用服务程序、Web服务器、应用服务器、数据库服务器等,前台是通过浏览器展示信息,实现与用户交互的一组网页。

合理的体系结构和良好的程序设计是实现网站功能的基础,友好简洁的交互界面是发挥网站系统功能优势的条件。

传统静态网站建设中存在的主要问题有:

页面制作风格不统一,难以形成独立可复用的模块,降低了应用集成的灵活性和可扩展性;内容组织繁琐,管理效率低下,严重影响了更新效率,难以对信息进行统一管理;应用开发技术难度大,网站后台开发与前台页面的开发都需要开发人员编写代码,代码编写量大;网站开发周期长。

为了解决传统静态网站建设中产生的系列问题,形成了以动态网页技术和数据库技术为基础的CMS(contentmanagementsystem,内容管理系统),它能针对政府和企业网站建设需求,专门面向网站内容编辑、发布与管理的应用系统。

CMS的优势有:

①能够比较灵活的定制栏目,对栏目进行分类、增删改和排序等管理;②CMS表现和内容分离,用户体验与内容质量的和谐统一,能够方便地对信息发布、录入、修改、删除;③能够方便的管理网站的图片、文档、软件等一切资源,达到资源共享;④简化了网站的内容供给和内容管理的责任委托,能够对信息的安全性和权限进行控制,保证信息访问的安全性和灵活性;⑤能够有效统一网站风格;⑥能在任意地点和时刻进行信息发布,把动态的内容利用静态的页面发布出去,提高网站的访问速度;⑦CMS集成性高,整体高效灵活,扩展性和易维护性好。

第一章技术概述

本系统采用CodeIgniter框架(以下简称CI)+MySQL数据库开发,CI使用了模型(Model)-视图(View)-控制器(Controllers)的方法(简称MVC),这样可以更好地使表现层和逻辑层分离。

这对项目的模板设计者来说是非常有用的,它最小化了模板中的程序代码量。

1.1、PHP

PHP,是英文超级文本预处理语言HypertextPreprocessor的缩写。

PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。

PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法它可以比CGI或者Perl更快速的执行动态网页。

用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

1.2、CodeIgniter

CodeIgniter是一套给PHP网站开发者使用的应用程序开发框架和工具包。

她提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。

使用CodeIgniter可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。

1.3、MySQL

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。

在2008年1月16号被Sun公司收购。

而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

1.4、JQuery

jQuery由美国人JohnResig创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的JörnZaefferer,罗马尼亚的StefanPetre等等。

jQuery是继prototype之后又一个优秀的Javascrīpt框架。

其宗旨是——WRITELESS,DOMORE,写更少的代码,做更多的事情。

它是轻量级的js库(压缩后只有21k),这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。

jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

第二章开发环境的安装与配置

在系统中按部就班的配置PHP的运行环境相对比较麻烦,所以我直接选择了WampServer。

wampserver是在windows下将Apache+PHP+Mysql集成环境,拥有简单的图形和菜单安装和配置环境。

PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,WAMP它会去做。

再也不用到处询问PHP的安装问题了,wampserver一切都搞定了。

我选择的是WampServer2.0i版本,里面包含的软件版本分别为:

Apache2.2.11、MySQL5.1.36、PHP5.3.0

开发工具我选择了EasyEclipseforPHP。

相比ZendStudio,没有它那么“庞大”,但是功能缺一点都不少,对于我们一般的开发者来说足够了。

第三章系统设计

3.1、系统概述

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

CMS的功能并不只限于文本处理,它也可以处理图片、Flash动画、声像流、图像甚至电子邮件档案。

3.2、功能模块分析

内容模块

因为做的是内容管理系统,所以这一块儿也是使用最频繁的一个模块了,我们的文章、图片、视频都是从这里添加,功能:

文章添加、编辑、删除等

分类模块

设置网站的分类信息,方便用户查看各类信息,功能:

分类添加、删除、分类属性等

用户模块

管理用户信息,查找用户的注册时间,注册IP等,功能:

普通会员、管理员的添加、删除等

系统模块

设置网站基本参数、上传路径、水印文字、友情链接等

3.3、编码规定

考虑到编码不统一照成的各种错误,所以我选用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目录下

首先下载好CI1.7.2的压缩包,只需把里面system文件夹和index.php文件解压到根目录下

简单配置一下,打开app/config/config.php,

$config['base_url']="http:

//localhost/zhjx922/";

$config['subclass_prefix']='DZ_';

然后打开app/config/database.php设置数据库参数

$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个文件(Controller.php、Modules.php、MY_Router.php)解压以后放到app/library里面。

App下新建modules目录。

里面就可以放不同的模块了。

如图:

第六章后台开发

6.1、搭建后台基本功能

启动WampServer,然后启动EasyEclipseforPHP

 

为方便后台的管理,后台所有的程序均继承app/libraries下DZcms类,该类主要是判断管理员是否登录,以保证程序后台的安全

 

代码如下:

//DZcms类继承Controller

classDZcmsextendsController{

functionDZcms()//构造函数

{

parent:

:

Controller();

$this->is_login();//判断用户是否登录

}

//操作提示

functionmsg($msg,$url)

{

$data['msg']=$msg;

$data['url']=$url;

$this->load->view('msg',$data);

}

/*

*判断用户是否登录的函数

*这里调用了CI自带的两个方法fetch_class和fech_method来判*断当前所在的类和方法

*/

functionis_login()

{

if($this->session->userdata('login_name')==TRUE)

{

if($this->router->fetch_class()=='member'&&$this->router->fetch_method()=='login')

{redirect('admin');}

}else{

if($this->router->fetch_method()!

='login')

{redirect('member/login');}

}

}

}

 

为了方便开发,于是扩展了一下Loader核心类,在app/libraries下新建文件DZ_Loader.php,关键代码如下:

classDZ_LoaderextendsLoader{

publicfunctionLoader(){

parent:

:

Loader();

}

publicfunctionview($view,$vars=array(),$return=FALSE){

$vars['adminurl']=$this->config->item('base_url').APPPATH.'admin/';//后台文件存放位置

$vars['baseurl']=$this->config->item('base_url').'web/';

returnLoader:

:

view($view,$vars,$return);//前台文件存放位置

}

CI里面有一个非常好,非常方便的功能-模型(Model),只要按照CI的要求写出我们自己的模型,可以方便的调用,我把数据库中各个表的操作放到了app/models中,根据表的名字,建立了article_model.php、links_model.php、member_model.php、sort_model.php、sys_model.php,以article_model.php为例:

/*

*首先继承Model

*/

classArticle_modelextendsModel{

functionArticle_model()

{

parent:

:

Model();

$this->dz_db='article';//表的名称

}

/*

*获取文章总数

*/

functionart_count()

{

$this->db->join('sort','sort.sid='.$this->dz_db.'.sort_id');

$this->db->order_by('aid','desc');

$this->db->from($this->dz_db);

return$this->db->count_all_results();//运用CI的ActiveRecord类,有效减少程序代码,增加代码质量

}

functionget_art_sort($sid,$limit=0,$offset=1)

{

$this->db->join('sort','sort.sid='.$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();

}

6.2、后台界面设计

我把后台所需的CSS,JS及IMAGES统一放在app/admin目录下面

接着就是后台的入口,app/modules下的admin

控制器代码如下:

//后台所有类均继承DZcms

classAdminextendsDZcms{

functionAdmin()

{

parent:

:

DZcms();

}

functionindex()

{

$this->load->view('admin');//加载后台视图

}

}

后台首页面

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1