《基于PHP的新闻发布系统的设计和实现.doc》由会员分享,可在线阅读,更多相关《基于PHP的新闻发布系统的设计和实现.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 毕业设计(论文)题 目:基于PHP的新闻发布系统的设计和实现学 生: 卢 彦 璋 指导老师: 林 雯(讲师) 系 别: 计算机与信息科学系 专 业: 软件工程 班 级: 软件0904 学 号: 0930070432 2013年5月 福建工程学院本科毕业论文作者承诺保证书本人郑重承诺: 本篇毕业论文的内容真实、可靠。如果存在弄虚作假、抄袭的情况,本人愿承担全部责任。学生签名: 年 月 日福建工程学院本科毕业论文指导教师承诺保证书 本人郑重承诺:我已按有关规定对本篇毕业论文的选题与内容进行了指导和审核,该同学的毕业论文中未发现弄虚作假、抄袭的现象,本人愿承担指导教师的相关责任。 指导教师签名:
2、年 月 日目录基于PHP的新闻发布系统的设计和实现1摘要1Abstract21 项目来源31.1 项目背景31.2 企业新闻发布系统的现状31.3 项目研究的目的和方法41.3.1 项目的研究目的41.3.2 开发方法及步骤42 开发平台介绍52.1 系统平台环境52.1.1 硬件平台52.1.2 软件平台52.2相关技术72.2.1 B/S模式73 系统需求分析83.1 设计构思83.2. 系统用户角色及权限104 系统概要设计114.1系统功能模块设计115 系统详细设计115.1数据库设计115.1.1数据库的需求分析115.1.2 数据库表的具体设计125.1.3数据库连接模块设计14
3、6 系统功能界面和代码实现156.1功能模块设计156.1.1 新闻系统的欢迎界面welcome.php166.1.2系统首页index.php176.1.3详细新闻页面176.1.4后台登陆页面login.php186.1.5后台管理页面webroot.php186.1.6新闻添加页面add.php196.1.7新闻删除模块196.1.8新闻数据修改模块edit.php206.1.9查询模块206.1.10分类新闻模块管理206.2核心代码:217 系统测试277.1 软件测试的定义277.2 软件测试的目的277.3软件测试的方法和注意事项28i7.3.1软件测试的方法287.3.2软件测
4、试注意事项287.4系统功能测试287.5测试结果分析与说明29致谢308 参考文献:31ii基于PHP的新闻发布系统的设计和实现摘要信息时代的今天,传递和获取信息的途径越来越多,速度也是越来越快。其中网络以其跨时间、跨地域、快速、高效和低成本的显著特性成为信息传递和信息获取的主要途径,而如何把信息以更快、更美观地发布到网上已经成了各企业部门急需解决的问题。近年来,互联网的各项技术快速成熟,网络已经融入人们的生活。对于传统的电视和报刊杂志等传统方式信息的获取已经满足不了人们的需求。因此,网络因其特性,拥有许多优势:它打破了地域限制,能够实时快捷直观的得到所要浏览的信息,真正使信息得以快速共享,
5、从而提高人们的信息获取速度。通过网络上的新闻发布系统了解更多的新闻和信息,快速及时的进行新闻浏览,快捷方便的网络信息查询,这样才能使资讯与人们的生活更加紧密。 在互联网上的众多网站中,新闻发布系统在各大网站中是不可或缺的系统之一。新闻发布系统可以使新闻的内容种类更繁多,新闻发布更简单,用户也可以通过此平台相互交流互动。因此凸显了新闻发布系统的优越性。 本系统我们采用PHP编程语言,MySQL数据库,Apache服务器等配置开发环境,来实现一个功能强大的新闻发布管理系统的网站。 该系统功能强大齐全,例如管理员可以对自己的新闻进行发布,浏览其他新闻,对新闻的检索,以及对新闻进行评论。几乎可以满足大
6、部分读者的各项需求。此系统不仅前台功能强大,而且后台管理系统更强大。因此,管理员可以直观快捷的管理网站的各项事务,以便此系统可以正常稳定的运行。关键词: 新闻; 信息发布; PHP;PHP-based News distribution SystemAbstract The information age today, transfer and access to information, including network way more and more with its span of time, cross-domain, rapid, efficient and low cost,
7、 and other notable features become information transmission and access to information the main way, and how the information faster, more express force to posted on the Internet has become each unit department urgent need to resolve problems. In recent years, the technology of Internet is almost matu
8、re and the network gradually is integrated into peoples lives. The traditional newspapers and magazines cannot meet peoples needs. Therefore, the network as a medium has many advantages. It broke the geographical constraints and people can get some information quickly. The many sites on the Internet
9、, the news distribution systems are play role in the main site. It can distribute different types of news and users can interact with each other through this platform. We will use PHP programming language, MySQL database, Apache server, such as development environment to achieve a powerful News dist
10、ribution System .The system is powerful and complete, for example, users can publish their own news, browse other news, the news search, and comment on the news. Almost meet the needs of most users. This system has powerful front and back administration system. Administrators can mange news, member
11、and comments. Therefore, administrators can manage the site quickly and conveniently make sure this system can be running smoothly.Key words:News;Information publish;PHP1 项目来源1.1 项目背景 随着互联网的发展,互联网已经是人们生活中必不可少的一部分。互联网上的各种信息主要是通过网页来展示的。而新闻发布系统又是不可缺少的部分。传统的新闻发布网站是一种静态信息发布网站,浏览者只是单方面获得网站信息。无法产生互动效果。而采用基
12、于数据库和动态网页技术后,用户通过浏览器向Web 服务器发送请求后,服务器解析PHP文件,然后查询数据库,最后生成一个HTML的文档。将文档返回前台,并在浏览器中显示需要的新闻网页。采用该思路开发的站点优势有很多:如方便管理员管理和维护网站,更新数据简单快捷;多用户均可在线阅读新闻,对新闻的检索也是简约直观。因此,在这样的研究背景下,我们决定采用PHP、MySQL 等语言环境来实现一个动态新闻发布系统。1.2 企业新闻发布系统的现状 新闻发布系统在我国绝大部分的新闻企业和报刊报社已经得到了应用,其效果是明显的。一方面是取得了可计量的直接效果:如提高了新闻发布的时效性,减少了人们阅读新闻的费用等
13、;另一方面取得的效果是无形的,是无法直接计量的:如提高了信息企业的新闻发布的效率水平,提高了新闻的可读性,促进了新闻数据阅读的高速快捷等,而这些效果的取得正是由于新闻发布系统应用于大部分的新闻数据发布企业的结果。 在新闻发布系统中,一切的设计理念都是为了实现新闻阅读的高效率和准确性及提高新闻网站的访问量。系统展示快速高效的新闻数据供读者阅读和浏览;还帮助新闻数据发布企业对新闻数据的管理和发布,还能进行相关信息阅读效果的统计分析。1.3 项目研究的目的和方法1.3.1 项目的研究目的本次的新闻发布系统设计与开发,通过新闻发布系统的功能分析、数据分析的过程,运用数据库设计、维护与运用phpMyAd
14、min对数据库中的表进行查询的技术。开发一套在中小型的门户网站可以投入实际使用的新闻发布系统。本系统是运行在Windows7 操作系统下,利用php+apache+MySQL进行开发的;对于大量的数据信息,采用MySQL数据库进行存储和处理。“新闻发布系统”包括读者阅读新闻、后台管理员对新闻数据的管理等功能。本系统的操作使用方式应符合系统管理员及读者的一般习惯,应具备操作灵活,使用方便等特点,便于读者使用。用MySQL 数据库后台支持,可以方便的进行各种数据存储、查询和处理,所开发出的系统简便、安全、可靠。1.3.2 开发方法及步骤1可行性分析 由于不可能会出现大型门户网站一样的海量访问,所以
15、对硬件的要求不用太高,只要可以安装Windows XP以上的系统环境,而且有足够的空间可以安装运行平台、数据库和各类工具;对于数据库软件来说,目前的系统暂时不会出现海量的访问,所以数据库选择MySQL。所以对于硬件和软件的可行性探究是成功的。 2 需求分析 通过对新闻网站的需求分析,了解到要完成这个系统,最基本的是要完成新闻数据的增删改查和安全验证,还有一个就是新闻浏览界面的相对美观。3 数据库设计与实现根据信息需求和数据处理需求,确定新闻系统的数据表格结构、及对数据表格的操作。4 系统实现用Dreamweaver以及Editplus工具对设计好的系统模型进行编程,实现此系统。并通过IE浏览器
16、进行测试。5 测试与维护对系统每一个功能模块程序通过IE浏览器进行测试。2 开发平台介绍2.1 系统平台环境2.1.1 硬件平台硬件设备是根据信息系统的设计需要,确定信息系统物理设备方案,所设计的硬件设备方案在能够充分满足信息系统功能需求的前提下,还应满足系统的可靠性、安全性和适应性等性能要求,并具有较高的性价比。根据前面的需求分析,我们得出本系统理想的环境当然是配置较高最好,实际操作中硬件平台如下:硬件环境(访问者):一台能够上网的终端PC,外加一个浏览器。硬件环境(开发者):英特尔 Core i3 M 330 2.13GHz ,2G内存,320G硬盘空间。2.1.2 软件平台软件平台是信息
17、系统开发和运行所需的集成软件环境,设计和选择高效、实用、方便、功能齐全的软件平台,对信息系统的开发具有十分重要的意义。在结合实际开发的需要并充分考虑各种软件平台的性能及适用范围和对软件平台的使用能力,本系统的软件平台选择如下:(1) 操作系统操作系统是计算机系统中最重要的系统软件,目前在微机上使用的桌面操作系统主要有Windows XP/Windows 7等,本系统在Windows 7 操作系统下进行开发,可运行于前面所列举的操作系统。(2) 开发软件及对其的介绍PHP简介PHP(Hypertext Preprocessor)是一种服务器端HTML嵌入式脚本描述语言。其最强大和最重要的特征就是
18、跨平台,并且采用面向对象的思想。它大量地借用了C语言、Java等语言的语法, 并有自己的书写规则,简单便于书写程序脚本。PHP所有的源码都是开源的。使用PHP是完全免费的,用户可以从PHP官方站点获得PHP的源码。因此,使用PHP可大大的减少开发所用的成本。综合分析,我们总结PHP的优点有: (1)安全性高; (2)支持广泛的数据库; (3)跨平台特性; (4)执行速度快; (5)模块化; MySQL简介MySQL 是瑞典的MySQL AB公司开发的一个小型关系型数据库系统。它适用于网络开发,其数据库可在因特网上随时共享。MySQL功能强大、运行速度快、可靠性高、安全等优点。经过阅读相关文献我
19、们知道了MySQL数据库特性如下: (1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 ; (2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、Solaris、Windows等多种操作系统 ; (3)为多种编程语言提供了API; (4)支持多线程,充分利用CPU等硬件资源; (5)优化的SQL查询算法,查询速度高 ; (6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持。 (7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径 ; (8) 提供用于管理、
20、检查、优化数据库操作的管理工具 ; (9) 可以处理大型数据库。拥有那么优秀的开发软件,所以我们采用php+apache+mysql组合的语言和环境软件,对本系统进行支撑开发。本系统需要的软件介绍如下:1、数据库管理系统(phpMyAdmin):为了对数据库实施集中管理,同时并发的处理多个用户发来的数据处理要求,我们选用phpMyAdmin 数据库管理系统来管理MySql。2、动态网页技术:在这里我们使用PHP以及apache来建立系统开发的环境。2.2相关技术2.2.1 B/S模式 Browser/Server,“9 uf4 ?;L- 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有
21、-igq/n4 w浏览器/服务器”模式又称B/S结构。B/S模式是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。它由浏览器、Web服务器、应用服务器和数据库服务器组成。客户端的浏览器通过URL访问Web服务器,Web服务器请求数据库服务器,并将获得的结果以HTML形式返回客户端浏览器。%NwN)o.tu- 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 - mR i7 ,t它是随着Internet技术的兴起,l9+BJ E5N - 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 - 9Q?IJ)
22、=d对C/S模式应用的扩展。E mO lvN- 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 -bV _K 7 q 在这种结构下,LC#K4,%3Ug- 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 - yYn(HSd6i用户的阅读界面是通过IE浏览器来实现的。相较于C/S模式的系统升级维护复杂来说,ny0|_ *?#- 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 -=) D YqG?B/S模式最大的好处是运行维护比较简便,.Aw? P K- 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 -G M q#R/2能实现不同的人员,O wl W: R - 保
23、护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 -+,g3P WPS从不同的地点, 0 BV2K G- 保护版权!尊重作者!反对盗版! 中国大悟论坛 版权所有 -Iw w,ZD%=以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据。另外,B/S还便于面向广大未知用户使用,因为只要电脑安装了IE,经过一定的设置,就都可以使用,如建立企业网站发布信息。结构如下图2-1所示图2-1B/S结构比C/S有着更好的优势,是因为其对于客户端用户要求低。用户的操作系统只要有浏览器即可。在B/S系统工作中,用户可以通过浏览器向网络上的服务器发出请求。B/S
24、结构使得客户端更简化,甚是可以简化到比手机还小的终端。大部分的工作都是在服务器上完成。 综上所述,无论从硬件、软件及维护工作等方面权衡,B/S结构都能降低整个网络结构体系的总体成本。因此,我们采用B/S结构进行开发新闻发布系统。 3 系统需求分析3.1 设计构思 新闻发布系统(News Release System )是一个基于网络的新闻发布和管理的管理系统,它是基于B/S模式的系统,本系统可以完成新闻发布的主要功能。 随着网络新闻发布系统的使用, 网络扮演了一个比电视报纸更重要的新闻媒介的功能。 我们对此系统的设计便是实现这个系统功能的前提。功能设计的数据流图(DFD):图3-1 在本系统中
25、,系统管理模块的功能相较简单。在系统初始化时,有一个默认的“系统管理员”用户root,由程序设计人员手动地添加到数据库newsopen中的psw表格里面。用户模块功能图如下图(3-2)所示 (图3-2)所有的用户都可以浏览新闻,根据关键字搜索需要的新闻数据。 本系统包含2种参与者:访客、管理员。访客可以对网站所有新闻页面进行浏览、新闻搜索。管理员除了具备普通用户的功能权限外还要管理这个新闻系统的新闻发布、管理等整个系统的管理。如下用例图。(图 3-3)(图3-3)3.2. 系统用户角色及权限表3-1角色权限表角色权限管理员 管理和维护整个数据库,维护系统的正常运行。拥有对系统的所有权。读者 可
26、以浏览新闻信息和对网站进行留言,但不能对信息进行修改。4 系统概要设计4.1系统功能模块设计 在前面系统功能分析的基础上,结合 PHP的编程特点,得到如图4-1所示的系统功能模块图:(图4-1)5 系统详细设计5.1数据库设计5.1.1数据库的需求分析 本系统用的是MySQL数据库,创建是用phpMyAdmin网页式的数据库管理工具来完成的。首先创建一个数据库newsopen,用来保存本系统的所有数据 读者浏览主页选择要浏览新闻浏览详细新闻读者浏览返回 管理员登录系统管理员管理系统对新闻数据进行增删改查将新的数据传送到系统经上述业务流与数据库需求总结,数据库设计如下的数据项: 新闻表格:新闻I
27、D、题目、内容、关键字、发布时间、作者、来源。 管理员信息:管理员ID、登录账户、密码。 留言表格:留言ID、添加时间、留言内容。5.1.2 数据库表的具体设计 后台新闻数据需要的功能模块有下图所示的需求:(图5-1) 所以数据库表的结构如下: 新闻数据的表格:表5-1 news(新闻数据表)字段名字段类型字段长度是否主键描述idint10新闻编号titlevarchar128新闻标题keywordsvarchar128新闻关键词 authorvarchar128作者addtimeint10新闻添加时间messagetext/详细新闻内容表5-2 zhengzhi(政治模块新闻数据表)字段名字
28、段类型字段长度是否主键描述idint10新闻编号titlevarchar128新闻标题keywordsvarchar128新闻关键词 authorvarchar128作者addtimeint10新闻添加时间contenttext/详细新闻内容表5-3 junshi(军事模块新闻数据表)字段名字段类型字段长度是否主键描述idint10新闻编号titlevarchar128新闻标题keywordsvarchar128新闻关键词 authorvarchar128作者addtimeint10新闻添加时间contenttext/详细新闻内容表5-4 guojimingsheng(国计民生新闻数据表)字段
29、名字段类型字段长度是否主键描述idint10新闻编号titlevarchar128新闻标题keywordsvarchar128新闻关键词 authorvarchar128作者addtimeint10新闻添加时间contenttext/详细新闻内容表5-5 tiyu(体育模块新闻数据表)字段名字段类型字段长度是否主键描述idint10新闻编号titlevarchar128新闻标题keywordsvarchar128新闻关键词 authorvarchar128作者addtimeint10新闻添加时间contenttext/详细新闻内容后台登陆的账号密码表格:表5-6 psw(管理员登陆账号密码表)
30、字段名字段类型字段长度是否主键描述usernametext/帐号passwordint11密码留言信息的数据保存的表格:表5-7 liuyan(读者留言信息保存表单)字段名字段类型字段长度是否主键描述idint/留言编号addtimeint11添加时间liuyanstext/留言内容5.1.3数据库连接模块设计 数据库的连接是实现个性功能的前提。在连接数据库的时候,为了防止中文出现乱码的现象,我们在连接数据库的同时对编码进行了指定。统一采用utf-8的中文编码,防止出现中文乱码现象。 创建数据库和数据表的SQL语句如下 创建数据库:create database newsopen; 使用创建的
31、数据库:use newsopen; 创建数据库使用的表格:CREATE TABLE news ( id int(10) unsigned NOT NULL auto_increment, title varchar(64) NOT NULL, keywords varchar(64) NOT NULL, author varchar(16) NOT NULL, addtime int(10) unsigned NOT NULL, message text NOT NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=utf8; PHP配置数据
32、库文件如下: 配置数据库信息deconfig.php连接数据库的主要代码如下:6 系统功能界面和代码实现6.1功能模块设计 根据新闻发布系统应具有的基本功能以及参考用户对新闻发布系统的要求我们将这个新闻发布系统进行功能模块上的划分,以方便逐个功能的实现。同时用户在使用中也可以相对方便,直观。因此经过我们反复的分析和设计,我们将这个新闻发布系统分为6大功能模块。详细的功能模块名称如下: (1)前端新闻阅读和查询模块(2)前端读者留言模块 (3)管理员后台新闻发布模块 (4)管理员后台对分类新闻进行管理模块 (5)管理员后台新闻数据的增、删、改模块 (6)管理员后台不良留言删除模块那么可以得到如下
33、的流程图: (图5-2)主要功能页面如下:6.1.1 新闻系统的欢迎界面welcome.php图 6-1 欢迎界面 读者输入网址welcome.php就可以访问到该系统的欢迎界面,然后点击页面的浏览按钮,即可访问新鲜出炉的新闻数据。6.1.2系统首页index.php图 6-2 系统主界面读者在这个新闻首页面(index.php)可以阅读自己需要的新闻数据。6.1.3详细新闻页面图6-3 详细新闻页面6.1.4后台登陆页面login.php图6-4后台登陆验证页面 6.1.5后台管理页面 webroot.php图6-5后台新闻数据管理页面 系统管理员对系统拥有所有权,可以通过账号密码访问所有的
34、模块。防止读者对信息的胡乱修改。6.1.6新闻添加页面add.php图6-6新闻添加页面系统管理员通过这个页面对新闻数据进行实时的更新添加。6.1.7新闻删除模块 图6-7过时新闻删除模块系统管理员可以对过时的新闻进行删除,减少数据库无效数据,降低资源的浪费。6.1.8新闻数据修改模块edit.php图6-8新闻修改页面管理员在这里能够对错误的新闻数据进行修改。6.1.9查询模块图6-9新闻查询页面 读者可以在这里检索需要阅读的新闻内容6.1.10分类新闻模块管理图6-10分类新闻模块管理6.2核心代码:获取后台页面得到的数据并进行增删改的操作action.php0)echo 新闻信息添加成功
35、!;elseecho 新闻信息添加失败!;echo 返回 echo 浏览新闻;break;case del: /执行删除操作/1. 获取要删除的id号$id=$_GETid;/2. 拼装删除sql语句,并执行删除操作$sql = delete from news where id=$id;mysql_query($sql,$link);/3. 自动跳转到浏览新闻界面header(Location:webroot.php);break;case update: /执行修改操作/1. 获取要修改的信息$title = $_POSTtitle;$keywords = $_POS
36、Tkeywords;$author = $_POSTauthor;$message = $_POSTmessage;$id = $_POSTid;/3. 拼装修改sql语句,并执行修改操作$sql=update news set title=$title,keywords=$keywords,author=$author,message=$message where id=$id;mysql_query($sql,$link);/4. 跳转回后台管理界面header(Location:webroot.php);break;/(4)、关闭数据连接mysql_close($link);?然后写一个
37、后台管理页面webroot.php代码: /创建表格,装下新闻数据新闻id新闻标题关键字作者发布时间新闻内容 操作?php/1.导入配置文件require(dbconfig.php);/2.连接MySQL,选择数据库$link = mysql_connect(HOST,USER,PASS) or die(数据库连接失败!);mysql_select_db(DBNAME,$link);/3 执行查询,并返回结果集$sql = select * from news order by addtime desc $limit;$result = mysql_query($sql,$link);/ 4解析结果集,并遍历输出while($row = mysql_fetch_assoc($result)echo ;echo