3046.网上新闻发布系统毕业设计论文.doc
毕业设计(论文)网上新闻发布系统摘 要:伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们生活息息相关。足不出户便可知天下大事,网上新闻发布系统是系统管理员通过Internet能够方便,快速,简介的发布新闻,普通用户能够浏览新闻,将网站上需要经常变动的信息,类似国际新闻、国内新闻、社会新闻、娱乐新闻、体育新闻、经济新闻等更新信息集中管理,通过分类显示,最后系统化,标准化的发布到网站上的一种新闻网站管理。本系统采用PHP作为开发语言,Adobe Dreamweaver CS4作为开发环境,Mysql5.0作为数据服务器,实现了对新闻类别分类设置,动态新闻的发布、修改、删除,前台页面的模块划分,以及后台用户权限的设置、新闻发布、视频发布、新闻删改和数据库的备份恢复等一系列功能,完成了一个动态新闻发布系统的所有功能,包括了新闻表情评论、文字留言、用户注册、密码找回等与用户交互界面。系统捕获了绝大多数的异常情况,具有较好的安全性,容错性,前台页面结合HTML语言生成静态页面,杜绝了一般用户直接操作数据库的可能,满足了基本的新闻发布系统需求。关键词:新闻发布;浏览器/服务器(Browser/Server)模式;PHP技术Online news publishing systemAbstract: With the emergence of the network, Page gradual integration into people's lives. rapidly and timely information visit, and colorful online information, so the network is closely related with people's lives. Staying at home and they will know that recently the world affairs. Online press release system is a system administrator through the Internet can be convenient, fastly, news profile. Ordinary users to view news, and the site requires frequent changes of information, similar to international news, national news, community news, entertainment news, sports news, economic news updates centralized management, through the classification showed that the final systematic, standardized posted to a website news website management.The system uses PHP as a development language, Adobe Dreamweaver CS4 as the development environment, and Mysql5.0 as a data server, and realized the unlimited class category of news categories to set, dynamic news release, modify, delete, front page of the module division, as well as background user rights settings, press release, video release, news design and database backup and recovery and a series of function, completed a dynamic press releases all the features of the system,including the news face comments, text messages, user registration, password find Back to the other user interface. System captures the majority of anomalies, with better security, fault tolerance, front page, HTML language generate static pages, to prevent the average user may directly manipulate the database to meet the basic press release systems.Keywords: News; Browser / server mode;PHP目 录1 绪论11.1 国内外网上新闻发布系统的发展现状11.2 系统开发背景11.3 主要内容22 系统分析与设计32.1 概述32.2 需求分析32.2.1 需求分析概述32.2.2 系统的项目规划32.3 系统设计42.3.1 系统功能设计42.3.2系统的用例分析62.3.3系统的顺序图72.3.4系统流程分析82.3.5 数据库设计92.4 运行环境133 系统实现143.1 新闻发布展示平台143.1.1 站点首页143.1.2子页面介绍153.1.3阅读页面介绍173.1.4 视频发布193.1.5 留言模块203.1.6 表情选择模块233.1.7 查询新闻263.1.8 推荐新闻273.2 后台管理283.2.1管理员模块283.2.2记者模块353.2.3编辑模块423.2.4登录及注册模块474 关键技术介绍514.1 PHP技术514.1.1 PHP简介514.1.2 PHP开发平台524.1.3 PHP文件组成524.2 HTML简介524.3 访问数据库的实现方法534.4 流媒体544.4.1 流媒体的定义544.4.2 流媒体播放方式544.4.3 流媒体技术应用55结 论56参考文献57致 谢58II毕业设计(论文)1 绪论1.1 国内外网上新闻发布系统的发展现状在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用.因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。现今的社会,人们已经离不开网络,网络已经成为人与人之间交流的一种形式,它能够把复杂的事情简单化。新闻发布系统的出现使电视不再是唯一的新闻媒体,网络也充当了一个重要的新闻媒介的功能。简单地说,新闻发布系统就是一个网络新闻媒介,实现了对新闻的分类、上传、审核、发布,模拟了一般新闻媒介的新闻发布的过程,通过不同权限的用户名和密码分别实现以上所说功能,当然这些功能也可以是某一个用户全部具有的1。随着互联网的进一步发展,网络媒体在人们心中的地位进一步提高,新闻发布系统做为网络媒体的核心系统,其重要性是越来越明显:一方面,它提供一个新闻管理和发布的功能;另一方面,现在的新闻发布要求实现与普通用户之间的交互,用户可以很方便地参加一些调查和相关新闻的评论,这一点也是其他一些媒体现在无法做到的(电视、电台等),同时,Internet发展到当今,可以说,只要你上Internet,你就会接触到新闻发布系统,新闻发布系统的用户是相当惊人的,其重要性是不容置疑的,当然这也对新闻发布系统的开发提出了更高的要求。网站新闻发布系统,是将网站上需要经常变动的信息,社会的动态等更新信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程序。传统的网站新闻管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用。二是基于JSP或者其他语言和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。人们对最新信息的需求和发布迫切的需要及时性,而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻发布,多栏目管理,实时的进行行为统计和记录的网上交互系统2。1.2 系统开发背景新闻发布系统,在国内外早已有着成熟的研究成果和广泛的社会应用.国内众多大型门户网站,如网易,新浪,搜狐,首都在线,人民日报网,中国新闻网等,每天甚至时刻进行海量信息的维护,以保持网站内容及时更新,内容管理系统,起着绝对重要的作用,是当今动态网站内容更新的主要手段,国外更是如此。信息技术的发展使得整个世界越来越小,这也意味着企业的竞争环境由区域化向全球化发展,尤其是随着中国加入WTO后,经济全球化是大趋势,企业所处的宏观环境实际上已经不仅仅是通过信息技术员连接起来狭义的网络,而应该将技术环境与经济环境结合在一起考虑,形成一种大网络的概念。企业对信息的掌握程度、信息获取是否及时、信息能否得到充分利用、对信息的反应是否敏感准确,已越来越成为衡量一个企业市场竞争能力的重要因素,所以建立动态的新闻发布是系统适应企业发展要求的,其意义是巨大的。新闻系统是一个比较典型的文档系统,掌握了新闻系统的开发,对于开发其它的文档系统都有很大的帮助。随着信息时代的高速发展,传统的报纸杂志已经远远满足不了人们的需求,人们更加希望于能够在网上了解更多的新闻和信息,于是我们就很有必要在网上创建一个新闻发布管理信息系统了。大部分网站都是采用静态的方式来发布和管理信息的,可是网站需要更新的信息量也越来越大,所以这很不利于网站管理人员的工作。为了更加方便的管理网站,于是我们就很迫切的需要利用动态技术创建一个新闻发布管理信息系统了3。本系统的开发基于简单大方、分类明晰的特点,将国际、国内、社会、经济、娱乐、体育、房产、健康、军事、IT等10类新闻展现给用户,用户在阅读完后可进行表情评论,文字留言;此外,本系统也包括了视频的发布,可供用户在线观看。1.3 主要内容本论文共分为四章,主要包括:第一章 绪论 介绍本课题的背景和意义,国内外企业信息门户网站的现状及本文的主要内容以及论文结构。第二章 系统分析与设计 本章首先分析了本设计题目的系统目标。然后,进一步抽象出了系统的功能需求。最后,给出了数据库管理、开发本系统所选择的开发工具和系统总体设计结构框图。第三章 系统实现 本章介绍了新闻发布系统的主体,包括前台新闻界面实现和后台管理界面的实现,均包括了功能介绍、界面实现以及关键代码介绍。第四章 相关理论与技术 本章主要介绍了PHP技术,PHP开发平台、和数据库访问方法,HTML基础知识及流媒体技术的介绍。2 系统分析与设计2.1 概述本章在阐述系统需求分析和系统设计目标的基础上,对“网上新闻发布系统”的功能进行设计。在数据库设计时通过E-R图来描述各个实体间的关系,用UML建模工具描述系统涉及到的时间流。2.2 需求分析2.2.1 需求分析概述经过对此网站进行详细的需求分析后,制定了该系统所应达到的总体目标及功能目标。(1)总体目标很多网站都提供新闻栏目,例如搜狐、新浪等著名网站的新闻专栏。许多企业和个人网站也需要定期发布一些关于企业或网站的新闻。因为网络中新闻发布的频率非常高,如果使用静态网页作为新闻页面,则维护工作将非常繁琐,管理员每天需要制作大量的网页,从而浪费很多时间和精力。使用新闻发布及管理系统可以使新闻发布和管理变得很轻松,管理员只需设置标题、内容和图片等新闻就可以了,系统将自动生成对应的网页。(2)功能目标本系统的功能目标分为以下几个模块:新闻发布管理、图片处理、视频观看、新闻查询、网友评论和用户管理等模块,使用户方便阅读新闻以及留言评论。2.2.2 系统的项目规划新闻发布系统是一个功能完善的新闻类网站,由前台新闻浏览和后台新闻管理两个大部分组成。(1)前台功能模块新闻分类、新闻显示、新闻查询、会员登录、会员留言、会员密码设置及信息修改、友情链接、后台入口。(2)后台管理模块 管理员身份:记者、编辑的人员添加、用户信息管理、新闻类型添加、新闻类型管理、数据初始化、数据备份、数据导入等系统管理; 记者身份:新闻发布,新闻修改; 编辑身份:新闻审核。2.3 系统设计2.3.1 系统功能设计如2-1图下所示:编辑登录记者登录管理员登录新闻发布系统后台管理新闻前台新闻浏览新闻查询用户登录 用户信息修改新闻留言新闻管理新闻管理新闻审核管理用户管理 新闻类型管理数据管理图2-1 系统功能图在本系统中,用户管理模块的功能比较简单。在系统初始化时,有一个默认的“系统管理员”用户Admin,由程序设计人员手动地添加到数据库中。管理员登录用户管理数据管理新闻管理数据导入数据备份数据初始化 新闻类型管理 新闻类型添加 用户信息管理 采编人员添加图2-2 管理员模块功能图管理员可以添加记者、编辑,可对所有人员信息进行修改、删除,而其余用户可以修改自己的信息,可添加、修改、删除新闻类型,与整个网站的数据管理。记者登录新闻发布视频添加新闻修改新闻热点统计编辑登录新闻审核图2-3 记者、编辑模块功能图记者主要任务是及时添加、删除新闻与视频,也可对已添加新闻进行修改,查看最新统计的各类新闻排行,掌握新闻发布种类与方向。编辑需要审核记者发布的新闻是否符合规定,审核通过的新闻则可由首页显示出来供用户阅读。普通用户新闻浏览表情评论表情评论新闻浏览文字留言登录是否图2-4 用户模块功能图所有用户均可浏览新闻,评论表情,当输入正确的用户名和密码后可对新闻进行文字留言,可修改自己的注册信息,忘记密码时可由用户的真实姓名重设密码,新用户可通过注册成为本站会员。2.3.2 系统的用例分析本系统包含四个参与者:普通用户、管理员、记者、编辑。普通用户可以对网站所有新闻页面进行浏览、表情评论,也可以申请注册为系统会员进行文字留言;管理员除了具备普通用户的功能权限外主要对新闻办发布做及时的调整,对所有人员信息以及新闻类型的管理。如2-5图所示:图2-5 新闻平台展示用例图记者是本系统的主要人员,及时进行新闻发布、新闻修改、新闻删除和视频发布、修改、删除功能; 编辑则对所有记者发布的信息进行审核,审核通过后可显示在页面共所有人浏览。如2-6图所示:图2-6 新闻后台管理用例图2.3.3 系统的顺序图顺序图(Sequence Diagram)描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序。(1)用户新闻浏览的顺序图已注册用户使用自己的用户名和密码登录系统,登录功能会把用户的ID保存在系统的缓存中,并展现出用户的信息,用户可浏览各种类型的新闻并进行留言,如2-7图所示:图2-7 用户留言的顺序图(2) 新闻后台管理顺序图本系统的新闻发布由记者来完成,当编辑审核后新闻由站点首页显示出来。如2-8图所示:图2-8新闻后台管理顺序图2.3.4 系统流程分析如2-9图所示:登录失败开始新闻浏览用户登录普通用户管理员记者编辑浏览新闻新闻留言浏览新闻用户管理浏览新闻新闻类型管理浏览新闻数据管理新闻添加浏览新闻视频添加浏览新闻数据管理新闻统计新闻审核图2-9 系统流程图2.3.5 数据库设计在本系统中,主要应用数据库设计的是新闻管理,新闻类型管理,用户信息管理,留言管理以及表情评论管理。2.3.5.1 E-R图E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型5。本系统E-R图如下图所示:用户表编号昵称姓名密码提示问题头像权限答案图2-10 用户信息E-R图用户作为实体,它具有的属性有编号、昵称、姓名、密码、提示问题、答案、权限、头像,保存了用户的详细信息,方便用户登录,留言,找回密码。新闻类型表编号名称目录图2-11 新闻类型信息E-R图新闻类型作为实体,它具有的属性有编号、名称、目录,方便与前台结合生成相应的新闻类型。内容发布者新闻表编号类型审核标志标题浏览次数发布时间图2-12 新闻信息E-R图新闻表作为实体,它具有的属性有编号、类型、标题、发布时间、发布者、内容、浏览次数、审核标志,方便于新闻发布、新闻更新、新闻修改等。评论表发布时间评论内容评论者编号新闻编号标题图2-13 新闻评论信息E-R图评论表作为实体,它具有的属性有编号、新闻编号、标题、发布时间、评论内容、评论文,方便用户阅读新闻的所有评论,发表自己的评论。表情评论表编号新闻编号标题悲伤炒作养眼感动无聊搞笑愤怒图2-14 新闻表情评论E-R图表情评论表作为实体,它具有的属性有编号、新闻编号、标题、悲伤、炒作、愤怒、感动、搞笑、无聊、养眼,方便用户不用登录就可对新闻进行表情评论。2.3.5.2 表结构本系统主要涉及的表主要包含有:新闻表、新闻类型表、用户表、留言表和表情评论表。(1) 新闻表(news)新闻表包含如下字段:新闻ID(id)、新闻类型(type)、标题(title)、发布时间(time)、发布者(publisher)、内容(data)、浏览次数(number)、审核标记(shenhe_flag)。如表2-1所示:表2-1 news 新闻表FieldTypenullkeyDefaultExtraidInt not nullprinullauto_incrementtypeVarchar(20)not nullnulltitleVarchar(255)not nullnulltimeVarchar(50)not nullnullpublisherVarchar(20)not nullnulldatatextnot nullnullnumberIntnot nullnullshenhe_flagIntnot nullnull(2) 新闻类型表(news_type)新闻类型表包含如下字段:编号(id)、名称(name)、目录(dir)。如表2-2所示:表2-2 news_type 新闻类型表FieldTypenullkeyDefaultExtraidIntnot nullprinullauto_incrementnameVarchar(20)not nullnulldirVarchar(20)not nullnull(3) 用户表(user)用户表包含如下字段:编号(id)、昵称(nickname)、姓名(name)、密码(pass)、密码提示问题(question)、答案(answer)、权限(qx_flag)、头像(touxiang)。如表2-3所示:表2-3 user 用户表FieldTypenullkeyDefaultExtraidIntnot nullprinullauto_incrementnicknameVarchar(20)not nullnullnameVarchar(20)not nullnullpassVarchar(100)not nullnullquestionVarchar(255)not nullnullanswerVarchar(255)not nullnullqx_flagIntnot nullnulltouxiangIntnot nullnull(4) 留言表(pinglun)留言表包含如下字段:编号(id)、新闻编号(news_id)、标题(title)、时间(time)、内容(data)、发布者(publisher)。如表2-4所示:表2-4 pinglun 留言表FieldTypenullkeyDefaultExtraidIntnot nullprinullauto_incrementnews_idIntnot nullnulltitleVarchar(255)not nullnulltimeVarchar(50)not nullnulldatatextnot nullnullpublisherVarchar(20)not nullnull(5) 表情评论表(biaoqing)表情评论表包含如下字段:编号(id)、新闻编号(news_id)、标题(title)、悲伤(beishang)、炒作(chaozuo)、愤怒(fennu)、感动(gandong)、搞笑(gaoxiao)、无聊(wuliao)、养眼(yangyan)。如表2-5所示:表2-5 biaoqing 评论表FieldTypenullkeyDefaultExtraIdIntnot nullprinullauto_incrementNews_idIntnot nullnulltitletextnot nullnullbeishangIntnot nullnullchaozuoIntnot nullnullfennuIntnot nullnullgangongIntnot nullnullgaoxiaoIntnot nullnullwuliaoIntnot nullnullyangyanIntnot nullnull2.4 运行环境本系统是在Windows XP操作平台上运行,利用了Dreamweaver CS4工具和PHPnow集成环境开发设计。3 系统实现3.1 新闻发布展示平台3.1.1 站点首页(1)功能介绍作为新闻发布系统,页面应该大方、清新,能突出重点新闻,使人们在第一时间了解时事新闻。首页除了新闻显示外还包括时间显示,新闻查询,推荐新闻、后台入口,友情链接等相关功能。(2)界面实现如3-1图所示。图3-1 首页界面(3)关键代码<? PHPinclude " conn.php "if (! isset ($_COOKIE"user")echo "<img src=images/youke.gif width=16 height=16>游客,您好! </td>"else$user=$_COOKIE"user"$sql="select * from user where nickname='$user'"$result=mysql_query($sql);$A=mysql_fetch_array($result);$touxiang=mysql_result($result,0,"touxiang");echo "<img src=images/$touxiang.gif width=16 height=16>$user".",您好! "echo "<a href=admin/exit.php target=_top>退出 </a> "echo "<a href=info_modify.php?id=$Aid>修改个人信息</a> </td>"$sql="select * from news_type"$result=mysql_query($sql);$n=mysql_num_rows($result);for($i=0;$i<$n;$i+)$A=mysql_fetch_array($result,MYSQL_ASSOC);echo "<li class='menu'><a href=$Adir/>$Aname</a></li>"include "conn.php"$sql="select * from news where type='国际' and shenhe_flag=1 order by number desc limit 8"$result=mysql_query($sql);$n=mysql_num_rows($result);for($i=0;$i<$n;$i+)if($n=9) break;echo "<tr>"$A=mysql_fetch_array($result,MYSQL_ASSOC);echo "<td class=titleBarBot width=70%><a href='#' name='". $Aid."' class='inter'>$Atitle</a></td>"$time=$A"time"$t=explode("日",$time);echo "<td class=titleBarBot>".$t0."日</td>"echo "</tr>"?>3.1.2 子页面介绍(1)功能介绍本新闻发布系统分为国际新闻、国内新闻、社会新闻、经济新闻、娱乐新闻、体育新闻、房产新闻、健康新闻、军事新闻、IT新闻、视频新闻11个种类,每个种类都有其独立的页面。(2)界面实现如3-2图所示(以国际新闻页面为例)。图3-2新闻子界面(3)关键代码:<?PHP ob_start(); include_once('./daohang.php');include "./conn.php"$sql="select * from news where type='国际' && shenhe_flag=1"$result=mysql_query($sql);$n=mysql_num_rows($result);$m=mysql_num_fields($result);/字段的个数$num=ceil($n/16);/总页数$pagenum=$_GET"pagenum"/接收下边链接传递过来的页号if(!isset($pagenum) | $pagenum=0) $pagenum=1;/默认是第一次是第一页$start=($pagenum-1)*16;/起始记录数$sql="select * from news where type='国际' && shenhe_flag=1 limit $start,16"$result=mysql_query($sql);$n=mysql_num_rows($result);echo "<table border=0 width=100%>"for($i=0;$i<$n;$i+)echo "<tr>"$A=mysql_fetch_array($result,MYSQL_ASSOC);echo "<td><a href='#' name='".$Aid."' class='inter1'>$Atitle</a></td>"echo "<td>".$A"time"."</td>"echo "</tr>"echo "</table>"setcookie("id",$A"id");?>3.1.3 阅读页面介绍(1)功能介绍本系统首页各类新闻以标题显示,用户可点击标题阅读自己感兴趣的新闻,新闻中包含文字和图片。(2)界面实现如3-3图所示(以娱乐新闻阅读页面为例)。图3-3新闻阅读界面(3)关键代码:<?PHPecho "<table border=0 width=100%>"include "./conn.php"$id=$_GET"id"$sql="select * from news where id=$id"$result=mysql_query($sql);$A=mysql_fetch_array($result,MYSQL_ASSOC);$number=$A'number'$number+;$sql="update news set number='$number' where id='$id'"mysql_query($sql);echo "<tr>"echo "<td colspan=2 align=center>"echo "<font size=6 color=red>".$A"title"."<font>"echo "</tr>"echo "</tr>"echo "<tr>"echo "<td align=center>"."<font size=4 color=black>"."记者:".$Apublisher."t".$Atime."</font>"."</td>"echo "</tr>"echo "<tr>"echo "<td>"."<font size=3 color=blue>".$A"data"."</font>"."</td>"echo "</tr>"echo "</table>"$sql="select * from pinglun where news_id=$id"$result=mysql_query($sql);$n=mysql_num_rows($result);echo "<table border=0 width=100%>"echo "<tr>"echo "<td>"echo "该新闻已被点击<font color=red>$number</font>次"echo "</td>"echo "<td align=center>"."<a href=pinglun.php?id=$Aid&title=$Atitle>"."<font size=2 color=red>"."共有".$n."评论"."</font>"."</a>"."</td>"echo "<td align=right>"."<a href=index.php><font size=2 color=red>"." 返回"."</font></a>"."</td>"echo "</tr>"echo "</table>"?>3.1.4 视频发布(1)功能介绍系统导航栏包含有视频类别,用户可点击进入视频播放列表,根据标题选择观看。(2)界面实现如3-4图所示(以娱乐新闻阅读页面为例)。图3-4 视频播放界面(3) 关键代码:<?PHPecho "<table border=0 width=100%>"include "./conn.php"$sql="select * from news where id=$id"$result=mysql_query($sql);$A=mysql_fetch_array($result,MYSQL_ASSOC);$number=$A'number'echo "<tr>"echo "<td colspan=2 align=center>"echo "<font size=6 color=red>".$A"title"."<font>"echo "</td>"echo "</tr>"echo "<tr>"echo "<td align=center>"."<font size=4 color=black>"." 记者:".$Apublisher."t".$Atime."</font>"."</td>"echo "</tr>"echo "<tr>"echo "<td align='center'>"."<embed src='$Adata' height='300' width='400' hidden='false'></embed>"."</td>"echo "<tr>"echo "</table>"$sql="select * from pinglun where news_id=$id"$result=mysql_query($sql);$n=mysql_num_rows($result);echo "<table border=0 width=100%>"echo "<tr>"echo "<td>"echo "该新闻已被点击<font color=red>$number</font>次"ec