收藏 分享(赏)

基于PHP的企业新闻发布系统的设计与实现-计算机科学与技术学士学位毕业设计(论文).doc

上传人:为人民服务 文档编号:2369247 上传时间:2018-09-13 格式:DOC 页数:40 大小:1.02MB
下载 相关 举报
基于PHP的企业新闻发布系统的设计与实现-计算机科学与技术学士学位毕业设计(论文).doc_第1页
第1页 / 共40页
基于PHP的企业新闻发布系统的设计与实现-计算机科学与技术学士学位毕业设计(论文).doc_第2页
第2页 / 共40页
基于PHP的企业新闻发布系统的设计与实现-计算机科学与技术学士学位毕业设计(论文).doc_第3页
第3页 / 共40页
基于PHP的企业新闻发布系统的设计与实现-计算机科学与技术学士学位毕业设计(论文).doc_第4页
第4页 / 共40页
基于PHP的企业新闻发布系统的设计与实现-计算机科学与技术学士学位毕业设计(论文).doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、2012 届 分 类 号 : TP311单位代码:10452 xxx 大 学学 士 学 位 毕 业 设 计 (论 文 )基 于 PHP 的 企 业 新 闻 发 布 系 统 的设 计 与 实 现姓 名 xxx 学 号 200812410229 年 级 2008 级 专 业 计算机科学与技术 系(院) 信 息 学 院 指导教师 xxx 2012 年 4 月 22 日PHP-based Enterprise News Publishing System Design and ImplementationByxxxSupervisor: xxxApril 2012诚 信 声 明本人呈交给 xxx 大学

2、的这篇毕业论文,除了所注参考文献和世所公认的文献外,全部是本人在指导老师指导下的设计成果。学生签名:日 期:经检查该毕业设计(论文)为独立完成,不存在抄袭现象。指导老师签名:日 期:基于 PHP 的企业新闻发布系统摘 要企业新闻发布系统是企业网站中最常用的系统,它的一个基本作用就是为企业提供信息发布的平台。使用 PHP 技术可以动态生成新闻静态页面,可以使新闻的发布和管理变得很轻松。管理员只需设置标题、内容和图片等新闻信息元素就可以了,系统将自动生成对应的网页。本系统就是基于以上原理,采用 PHP 开发语言,WAMP 作为开发环境,Eclipse 作为开发工具,MySQL 作为数据服务器,实现

3、了对网站基本参数设置,新闻类别设置动态新闻发布管理等一系列功能,完成了一个动态新闻发布系统的所有功能,包括新闻搜索,管理员登陆等用户交互界面。系统捕获了绝大多数的异常情况,具有较好的安全性,容错性。前台页面结合 HTML 语言生成静态页面,杜绝了一般用户直接操作数据库的可能,满足了基本的新闻发布系统需求。关键词:PHP;新闻发布;动态模块;新闻系统基于 PHP 的企业新闻发布系统AbstractPress Release enterprise system is the most common site of the system,which isa basic role is to prov

4、ide a platform for information dissemination.PHP technology can be used to generate dynamic static news page,you can make the news release and management has become very easy.Administrators can set up the title,content and image elements,such as news and information can be,the system will automatica

5、lly generate the corresponding page.Inhe use of MySQL Server database,the maintcnance staff to reduce the workload,allowing the system to facilitate the maintenance and management.For sake of the application of news public system.This system uses PHP as a development language,WAMP as the development

6、 environment,and MySQL5.0 as a data server,finally realize a series of functions,such as basic parameters settings,news website category sets,dynamic news release system,including news search, user registration such as the change of user interface.The last but not the least,this system have better s

7、ecurity,fault tolerance and capture the majority of anomalies.The combination of front desk page and HTML language generates static page,which put a stop to the average user manipulating database directly,satisfying the basic requirements for news release system.Key Words:PHP; News Release ; Dynamic

8、 module; News System基于 PHP 的企业新闻发布系统目 录前 言 -1第 1 章 总体分析 -21.1 企业新闻发布系统的基本现 状 -21.1.1 准确定义企业新闻发布 系统 -21.1.2 企业新闻发布系统的特点和现状 -21.2 企业新闻发布系统的需求分析 -31.3 企业新闻发布系统的系统分析 -31.4 企业新闻发布系统的设计目标 -3第 2 章 系统设计 -52.1 项目规划 -52.2 系统体系结构设计 -52.3 系 统模块及功能设计 -52.3.1 公用模块 -62.3.2 后台系统功能模块 -62.4 网站结构设计 -62.4.1 目录结构 -62.4.

9、2 smarty 模板的引入 -72.4.3 各页面功能结构 -72.5 开发及运行环境选择 -8第 3 章 系统的实现 -93.1 通用模块的功能实现 -93.1.1 数据库信息 -93.1.2 数据库和 smarty 的配置页面 -103.1.3 页面跳转模块 -113.1.4 系统分页模块 -123.1.5 全局通用页面 -133.2 系统后台功能模块实现 -143.2.1 用户登陆模块 -143.2.2 新闻配置模块 -153.2.3 会员管理模块 -16基于 PHP 的企业新闻发布系统3.2.4 操作管理模块 -173.2.5 新闻分类模块 -173.2.6 新闻列表模块 -183.

10、2.7 新闻添加模块 -193.2.8 用户注册模块 -213.3 系统前台功能模块实现 -233.3.1 新闻首页 -233.3.2 新闻列表页面 -243.3.3 新闻内容页面 -253.3.4 输入关键字搜索新闻 -26第 4 章 系统运行和维护 -284.1 系统运行维护的作用 -284.2 系统运行维护的内容 -284.3 系统维护中的安全管理 -29第 5 章 特色 -30第 6 章 结论 -316.1 系统特点 -316.2 系统扩展 -31辞谢 -33基于 PHP 的企业新闻发布系统1前 言本毕业论文描述了基于 PHP 语言开发的一款企业新闻发布系统,基于 B/S 结构,用户通

11、过向 Web 服务器发送请求后,服务器解析 PHP 文件,然后查询数据库,最后生成一个 HTML 的文档。将文档返回前台,并在浏览器中显示网页。采用该思路的开发企业新闻发布系统方便管理和系统的维护,通过后台管理界面更新数据库更是简单快捷。因此,在这样的研究背景下,我采用 PHP+MySQL+Apache 集成的开发环境来实现一个动态的企业新闻发布系统,利用动态技术+smarty 模板引擎来创建一个企业新闻发布系统。本系统的有点在于稳定性好、功能强大、硬件资源占用小等同时又能承受大量用户同时浏览的压力等特点。同时,基于 PHP 良好的模块化和扩展性,本系统在原本的功能上同时具有良好的扩展性,可将

12、功能进一步完善。基于 PHP 的企业新闻发布系统2第 1 章 总体分析近年来,随着 Internet 技术的迅猛发展,计算机网络给人们的工作、学习和日常生活带来很大的便利,同时开发 web 的技术也在不断更新,为信息发布提供了技术基础。1.1 企业新闻发布系统的基本现状企业新闻发布系统就是把杂乱无章的新闻信息有效得组织起来并以有序的方式呈现给前端客户的一个信息系统,系统主要实现对新闻的分类、管理、检索、浏览等一系列问题,从而为用户提供一个美观、大方、快速的前台新闻阅读界面。1.1.1 准确定义企业新闻发布系统企业新闻发布系统(Press Release System)是一个基于新闻发布和内容管

13、理的信息管理系统,是将政府、企业、学校等需要经常变动的信息、新产品发布和业界动态等更新信息集中管理,并通过信息的某些共性进行分类,最后进行系统化、标准化发布到系统上的一种信息化应用程序。因此,新闻发布系统能够实现数据的动态、实时发布检索等功能,信息通过一个操作简单的界面加入数据库,然后通过已有的模板格式与审核流程以Web 的形式生成,从而改变了传统的网络信息采集发布的模式。1.1.2 企业新闻发布系统的特点和现状新闻发布系统是基于 Browser/Server 模式的 Web MIS 系统,数据库逻辑相对简单,但数据量一般比较庞大;用户数量大,服务器压力大,是新闻发布系统设计中必须考虑的问题之

14、一,而一般的信息系统相对压力要少了很多;.新闻发布系统是一个开放式的系统,前台浏览无须验证。目前,企业新闻发布系统主要分为以下几类:1.前台动态显示的企业新闻发布系统前台动态显示的企业新闻发布系统大约占 90的分额,其主要特点是前台采用编程语言动态读取数据库的内容,随时更新。该类系统设计简单,适合大多数中小企业建站需要,通用性不强,一般需要量身定做,不适合大型新闻站点,当用户过多时,编程语言动态读取数据库就势必消耗大量的服务器资源,造成系统运行缓慢。2.前台静态显示的企业新闻发布系统前台静态显示的企业新闻发布系统大约占有 9多的市场分额,其主要特点是前台新闻全部生成 HTML 静态文件,前台无

15、须读取数据库,浏览器只需要直接下载 HTML 文件即可浏览新闻,浏览速度得到提高,同时也大大减轻了数据库服务器的压力。该类系统后台设计复杂,需要处理复杂的模板标签和模板之间的逻辑,该类系统灵活性大,具有良好的通用性,适合各类新闻站点。3.基于文本的企业新闻发布系统基于文本的企业新闻发布系统在市场上占有很少的一部分,主要是把前面的数据库换成了 TXT 格式的文本文件。该类系统的主要缺点是文本基于 PHP 的企业新闻发布系统3文件是无序的,管理起来非常麻烦,而且安全性不高,很容易造成数据冗余,因此,目前还没有见到该类系统的商业版本,一般都作为个人用户使用。4.基于 XML 数据岛的企业新闻发布系统

16、基于 XML 数据岛的企业新闻发布系统是新闻发布系统的一个发展趋势,用 XML 数据岛代替了数据库。 XML 是一个有序的数据文件,比数据库的读取速度更快,但操作起来没有数据库这么方便,但是由于开发技术难度大,该类系统现在市场很少见到。信息发布系统的典型应用就是企业新闻发布系统。新闻发布系统是单位进行对外宣传和提供各种信息服务的重要窗口,因其重要性己成为单位形象和地位的重要标志之一。大多数单位的新闻发布系统只是一个网站,不仅信息更新速度慢,发布效率低,而且更谈不上信息的有效管理与保证信息的安全。少部分单位实现了基于数据库的新闻发布系统,大大提高了信息发布的质量,但从这些系统的使用情况来看,还主

17、要存在着如下一些缺陷:1.系统实现的功能比较简单。主要是简单信息的发布和基于数据库的信息查询,这在访问量很大的情况下会影响网络的浏览速度。另外,信息发布的质量无法保证。2.系统一般建立在 Windows 平台上,采用 ASP 技术与数据库链接。由于 ASP 系统与Windows 的先天缺陷,从而导致新闻发布系统的安全性与稳定性均不够好。3.系统缺乏对公共信息的有效管理与控制,从而间接地影响了信息发布的效率与质量。1.2 企业新闻发布系统的需求分析通过相关调查,要求网站具有以下功能:1.通过网络,展示行业新闻及相关信息,包括新闻网站基本信息,简介等。2.信息准确分类,各级类目分级明确。3.支持新

18、闻搜索和其他网站的友情链接。4.有安全规范的后台管理界面。1.3 企业新闻发布系统的系统分析新闻发布系统后台对新闻作了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览新闻网时分类查看新闻信息的要求,。新闻网后台则通过对总管理员设置和管理员添加等模块对网站管理员进行管理,保证了网站的安全性。1.4 企业新闻发布系统的设计目标新闻发布系统就是把杂乱无章的新闻信息有效得组织起来并以有序的方式呈现给前端客户的一个信息系统,系统主要实现对新闻的分类、管理、检索、浏览等一系列问题,从而为用户提供一个美观、大方、快速的前台新闻阅读界面。基于 PHP 的企业新闻发布系统4根据新闻发布的需求,在 M

19、ySQL 数据库中实现了新闻数据表的设计与存储,设计并开发新闻管理模块的用户注册、用户登录、添加/修改 /删除新闻、新闻列表等功能;发布管理模块的浏览新闻、分类新闻、新闻中心和网站首页等功。基于 PHP 的企业新闻发布系统5第 2 章 系统设计2.1 项目规划新闻网是一个功能完善的新闻类网站,由客户前台新闻浏览和后台新闻管理两大部分组成。1.前台功能模块。前台主要包括新闻分类、显示新闻详细信息、和新闻搜索。2.后台管理模块。后台主要包括,管理员注册、会员管理、后台管理登陆、超时的判断、网站的配置信息、新闻的分类管理,和新闻的增删改等功能。2.2 系统体系结构设计根据不同的用户,本章所介绍的新闻

20、发布系统可以分为以下两个功能区。1.浏览者功能区:根据用户的需求,浏览者可以进行查看最新公告信息;查看相应新闻版块的新闻标题信息;查看相应新闻版块的新闻信息。2.管理员功能区:管理员通过输入的账号和密码正常登录该系统后,除了享有浏览者具有的权限外,还可以进行:新闻版块管理,对新闻版块进行添加、修改和删除;新闻信息管理,对新闻信息进行添加、修改、删除和新闻信息版块类别移动;进行公告信息管理,对公告信息进行添加、修改和删除;对超级管理员可以对其他管理员的权限进行修改;该系统设计流程是首先创建新闻发布系统数据库,再设计该系统的功能,然后编写源代码实现系统功能,然后在表示层制作与用户对话界面;将系统上

21、传到 Intemet 进入应用层后,用户使用该系统。该流程对应的系统构架为:数据层一设计数据服务一配置系统信息一表示层一应用层一用户接口配置。2.3 系统模块及功能设计系统主要分为公用模块、前台系统功能模块和后台系统功能模块,本文主要对公共模块和后台系统功能模块进行设计。如图 2-1 所示:基于 PHP 的企业新闻发布系统6图 2-1 后台登陆页面2.3.1 公用模块此模块属于系统公用部分,系统中任何页面需要用此模块时直接调用即可。此模块包括数据库连接文件、层叠样式表文件、常量文件、数据转换和图片上传文件、公共版面文件。此模块负责与数据库的连接、定义页面风格、一些常用的常量以及进行数据转换和图

22、片上传,把系统各页面的共同部分放在公共版面文件等。可以将这些公用的代码放在一个文件中,可分别用于新闻管理模块和发布管理模块的各项子功能中。这样做的目的是简化系统开发,减少冗余编码,使整个系统紧凑有序。2.3.2 后台系统功能模块此模块实现了管理员功能区的所有功能。此模块由用户管登陆模块、新闻管理模块、栏目管理模块、系统设置管理模块所组成。这些模块的功能分别是为用户管理模块:分析管理员的账号密码,控制管理员登陆。新闻管理模块:管理员或者编辑登录系统后,可以进行新闻查看、新闻编辑、新闻添加、新闻删除的操作。分类管理模块:管理员对系统的分类进行管理,包括添加、修改、删除等。2.4 网站结构设计网站在

23、结构规划上,结构清晰,各个模块之间功能明确。 2.4.1 目录结构基于 PHP 的企业新闻发布系统7图 2-2 系统开发目录如图 2-2 所示为该系统的后台部分的开发目录。主要包括管理员管理、新闻分类、新闻编辑、新闻列表等模块,通用模块放在 common 文件夹中,javascript 文件和图片文件放在 edit 的文件中。2.4.2 smarty 模板的引入本站的设计使用了 smarty 模板,是模块和模板相分离,在修改模块代码的同时不影响模板的显示效果,便于系统的维护,同时也减轻服务器的压力。Smarty 是一个使用 PHP 写出来的模板引擎,是目前业界最著名的 PHP 模板引擎之一。字

24、体格式不对它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与 HTML 代码混杂在一起 PHP 代码逻辑分离。简单的讲,目的就是要使 PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。2.4.3 各页面功能结构全局模块页面:page.class.php:定义了分页的类。action.class.php:定义一些动作,包括对管理员 session 的判断,操作超时的判断等。基于 PHP 的企业新闻发布系统8mysql.class.php:将数据库方法整合为一个

25、类,用面向对象的方法调用操作数据库的方法。global.php:引入配置信息、数据库类、分页类、和 smarty 类。config.php:基本的配置信息,比如数据库信息和 smarty 模板配置信息。系统前台模块页面:index.php:系统首页。list.php:新闻分类页面。view.php:新闻终端页面,显示新闻详细内容系统后台模块页面:reg.php:管理员注册页面index.php:后台登陆页面。mian.php:后台首页页面。admin_left.php:操作分类页面。admin_main.php:系统配置模块。admin_news_class.php:新闻分类管理模块。admi

26、n_news_list.php:新闻列表模块。admin_news_add.php:新闻添加页面。admin_news_edit.php:新闻编辑页面。admin_edit.php:管理员管理页面2.5 开发及运行环境选择操作系统:windows xp集成工具:wamp 5.0(集成了 PHP5、mysql 和 apache)代码书写工具:eclipse for PHP 基于 PHP 的企业新闻发布系统9第 3 章 系统的实现3.1 通用模块的功能实现通用模块主要包括数据库类方法模块和分页模块。3.1.1 数据库信息该页面的名称为:mysql.class.php.该页面将数据库定义为一个类,将

27、所有的数据库方法放进这个类中,方便后面模块编写时,对数据库方法的调用。db_host = $db_host;$this-db_user = $db_user;$this-db_pwd = $db_pwd;$this-db_database = $db_database;$this-conn = $conn;$this-coding = $coding;$this-connect();/*数据库执行语句,可执行查询添加修改删除等任何 sql 语句*/public function query($sql) if ($sql = “) $this-show_error(“SQL 语句错误:“, “S

28、QL 查询语句为空“);$this-sql = $sql;$result = mysql_query($this-sql, $this-conn);基于 PHP 的企业新闻发布系统10if (!$result) /调试中使用,sql 语句出错时会自动打印出来if ($this-show_error) $this-show_error(“错误 SQL 语句:“, $this-sql); else $this-result = $result;return $this-result;几乎所有页面都要用到页面的数据库操作方法,因此将这些方法整合到一个类当中极大方便了后续操作。3.1.2 数据库和 s

29、marty 的配置页面主要代码如下:该页面保存了数据连接的主机名、数据库名称、数据库的用户名和密码和数据库采用的中文编码方式。还有 smarty 模板的配置信息,主要包括 smarty 的编译文件存放目录、模板存放目录、缓存目录、和代码书写开始结束标示符。 基于 PHP 的企业新闻发布系统113.1.3 页面跳转模块 该页面继承自 mysql 类。首先包括 1.用户的登陆判断 PHP 方法语句,该方法有两个参数,用户名和密码,密码在数据库中的存放方式采用 MD5 加密的方式,所以登陆验证的时候,要将用户输入的密码经过 MD5 处理后再和数据库中的密码进行比较。具体代码如下:public fun

30、ction Get_user_login($username, $password) $username = str_replace(“ “, “, $username);$query = $this-select(p_admin, *, username = . $username . );$us = is_array($row = $this-fetch_array($query);$ps = $us ? md5($password) = $rowpassword : FALSE;if ($ps) $_SESSIONuid = $rowuid;$_SESSIONshell = md5($r

31、owusername . $rowpassword . “TKBK“);$_SESSIONontime = mktime();$this-Get_admin_msg(main.php,登陆成功! ); else $this-Get_admin_msg(index.php,密码或用户错误!);session_destroy(); 2. 用户退出方法,销毁 SESSION。:* 用户退出登陆public function Get_user_out() session_destroy();$this-Get_admin_msg(index.php,退出成功!);。3.用户的权限判断方法,这个方法里要

32、调用用户的身份验证,采用 session 来保存用户信息,用户权限分别为等级 1 和等级 2.具体代码如下:public function Get_user_shell($uid, $shell) $query = $this-select(p_admin, *, uid = . $uid . );$us = is_array($row = $this-fetch_array($query);$shell = $us ? $shell = md5($rowusername . $rowpassword . “TKBK“) : FALSE;return $shell ? $row : NULL;

33、基于 PHP 的企业新闻发布系统12 /end shellpublic function Get_user_shell_check($uid, $shell,$mid) if ($row=$this-Get_user_shell($uid, $shell) if ($rowmidGet_admin_msg(index.php,请返回登录 !); 4.判断用户登陆超时方法,在用户登陆成功后,会在 SESSION 中记录当时的系统时间,然后用户每次进行操作的时候,会判断此时的系统时间和上一次操作时保存在SESSION 中的时间进行相减运算,如果大于一小时,则判断为用户登陆超时,用户需要返回到登陆页

34、面重新登陆,如果没有超过一个小时,则判断为不超时,用户可以继续操作,SESSION 中的时间重新更新为此时的系统时间,如果循环。代码如下:public function Get_user_ontime($long = 3600) $new_time = mktime();$onlinetime = $_SESSIONontime;echo $new_time - $onlinetime;if ($new_time - $onlinetime $long) echo “登录超时“;session_destroy();exit (); else $_SESSIONontime = mktime()

35、;3.1.4 系统分页模块 该页面的名称为:page.class.php。该页面将分页模块写成一个类当中,方便各个模块对分页的调用。分页的原理为:我们自定一个数值,为该页面显示的消息条数,之后从基于 PHP 的企业新闻发布系统13数据库中调用信息,使用数据库语句用 LIMIT 来控制查询的条数,数据库中要查询信息的总条数除以每页显示的条数则是总页数。具体代码如下:3.1.5 全局通用页面 该页面的名称为:global.php。该页面引入所有的公用模块并创建一个数据库对象和指明 SMRTY 目录所指向的具体文件名称,在其他的独立模块中,直接引入该GLOBAL.PHP 就相当于引入了 GLOBAL 中引入的所有 PHP 模块,是后续代码书写节省了时间。template_dir =$smarty_template_dir;/模板目录$smarty-compile_dir =$smarty_compile_dir; /$smarty-config_dir =$smarty_config_dir;$smarty-cache_dir =$smarty_cache_dir;$smarty-caching =$smarty_caching;$smarty-left

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报