webphp新闻发布系统毕业设计.docx
- 文档编号:3863398
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:27
- 大小:2.22MB
webphp新闻发布系统毕业设计.docx
《webphp新闻发布系统毕业设计.docx》由会员分享,可在线阅读,更多相关《webphp新闻发布系统毕业设计.docx(27页珍藏版)》请在冰豆网上搜索。
webphp新闻发布系统毕业设计
兴义民族师范学院
毕
业
设
计
论
文
题目:
webphp新闻发布系统的设计
专业:
现代教育技术
指导老师:
王波
班级:
2009级
学号:
200930812012
学生姓名:
郭焕军
时间:
2012年6月
独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
签名:
日期:
关于论文使用授权的说明
本论文作者完全了解兴义民族师范学院有关保留、使用论文的规定:
兴义民族师范学院有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅,可以将论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。
签名:
日期:
指导教师签名:
日期:
摘要
近年来,互联网技术迅速发展,网络逐渐走进生活。
对于传统的传媒方式已经满足不了人们的需求。
因此,网络作为传媒的媒介比起传统的媒介更显得出很多优势。
它打破了地域限制,更实时快捷直观的得到所要浏览的信息,真正使信息得以共享,从而改变了人们的工作和生活方式。
在互联网上的众多网站中,新闻发布系统不可缺少的一部分。
新闻发布系统可以使新闻的内容种类更繁多,新闻发布更开放,用户也可以通过此平台相互交流互动。
因此凸显了新闻发布系统的各项优越性。
本系统我们采用PHP编程语言,MySQL数据库,Apache服务器等开发环境,一个普通的部门级新闻系统——兴义民族师范学院计算机科学系新闻发布系统。
该系统功能基本趋于完善,例如用户可以对自己的新闻进行发布,浏览其他新闻,对新闻的检索,以及对新闻进行评论。
几乎可以满足大部分用户的各项需求,本系统分为前台系统和后台系统。
管理员可以对新闻,新闻分类等模块进行分块管理。
因此,管理员可以直观快捷的管理网站的各项事务,以便此系统可以正常稳定的实现动态运行。
关键词:
新闻发布系统,PHP编程,MYSQL数据
第一章概述
1.1实验环境搭配
1.1.1动态网页编程语言的比较
动态网页编程的语言有很多种我们以最常用的三种为例它们分别是:
PHP、ASP,二者之间的技术性的比较如下:
PHP(HypertextPreprocessor)是一种服务器端HTML嵌入式脚本描述语言。
其最强大和最重要的特征就是跨平台,面向对象。
它大量地借用了C语言、Java等语言的语法,并有自己的书写规范,简单便于书写程序脚本。
PHP所有的源码都是开源的。
使用PHP是完全免费的,用户可以从PHP官方站点获得PHP的源码。
因此,使用PHP可大大的减少开发所用的成本。
ASP(ActiveServerPages),ASP的文件就是在普通的HTML文件中嵌入VBScript或是JavaScript脚本语言。
当客户请求一个ASP文件的时候服务器就会运行ASP中的脚本代码,并转换成标准的HTML的文件发送给客户端。
ASP提供了几个非常有用的内部对象和内部组件,利用他们可以轻松地实现表单上传,存取数据库等功能。
因此,ASP几乎可以实现任何功能。
综上可知,ASP、PHP二者各有利弊。
但是总体的工作原理大致相同,都是服务器先接受一个请求,然后服务器找到了相应动态网页,接着执行程序的代码生成静态网页,最后将网页发送给客户端浏览器。
二者都是面向Web服务器的技术,客户端浏览器不需要任何附加软件支持。
只要一个浏览器就可以完成。
二者中,PHP的语言优势有很多:
安全性高,支持广泛的数据库,跨平台特性,执行速度快免费,内嵌Zend加速引擎,性能稳定快速。
因此,PHP被很多网格开发者选择学习和使用。
1.1.2PHP简介
PHP已经成为全球最普及的互联网开发语言之一,PHP在2004年获得了最佳编程语言的称号,到2010年,PHP发展一直呈现稳步上升趋势。
至今已被2000多万个网站采用。
在TIOBE世界编程语言排行调查报告中,PHP技术在全球互联网领域的应用将会位居第一。
综合分析,我们总结PHP的优点有:
(1)安全性高;
(2)支持广泛的数据库;
(3)跨平台特性;
(4)易学性;
(5)执行速度快;
(6)模块化;
(7)支持面相对象过程。
1.1.3MYSQL数据库技术简介
MySQL是瑞典的MySQLAB公司开发的一个小型关系型数据库系统。
它适用于网络开发,其数据库可在因特网上随时共享。
MySQL功能强大、运行速度快、可靠性高、安全等优点。
这就是我们选择MySQ数据库的原因。
1.1.4PHP+MySQL+Apache组合
接下来我们采用PHP+MySQL+Apache组合,它稳定性好、功能强大、硬件资源占用小等特点。
占用很小的资源却能承受大量用户同时浏览的压力,满足新闻发布系统的需求。
MySQL支持多线程、多用户的关系数据库管理系统。
而且和PHP一样源代码开放、高性能、跨平台等特性。
这套技术也是目前采用PHP+MySQL开发的黄金组合,因此也是我们必选的。
1.2B/S系统结构及工作原理
新闻发布系统是基于B/S结构下的WEB信息系统。
客户端只需要安装浏览器,即可通过HTTP协议向Apache服务器提出请求,服务器站点收到请求后,解析PHP文件,然后连接数据库,执行指定的SQL语句。
查询到的结果后返回到Apache服务器。
Apache服务器根据数据库中返回来的数据生成HTML文档的形式返回给浏览器。
用户的浏览器的到的是个静态的网页。
详细的结构如图1-1所示:
图1-1B/S结构原理图
B/S结构比C/S有着更好的优势,是对于客户端用户要求低。
用户的操作系统只要有浏览器即可。
在B/S系统工作中,用户可以通过浏览器向网络上的服务器发出请求。
B/S结构使得客户端更简化,甚是简化到比手机还小的终端。
大部分的工作都是在服务器上完成。
综上所述,无论从硬件、软件及维护工作等方面权衡,B/S结构都能降低整个网络结构体系的总体成本。
因此,我们采用B/S结构进行开发新闻发布系统。
第二章需求分析
2.1设计构思
新闻发布系统是一个基于网络的新闻发布和管理的管理系统,它是基于B/S模式的系统,本系统可以几乎完成新闻发布的功能。
随着网络新闻发布系统的使用,网络充当了一个比电视报纸更重要的新闻媒介的功能。
我们对此系统的设计便是实现这个系统功能的前提。
首先是提供一个发布的功能和新闻分类管理。
其次,实现用户交互,用户可以参加一些问卷调查和对新闻的评论。
最后,要实现对这个新闻发布的综合管理,方便管理员的管理。
要实现这些功能我们必须从权限的角度来看,我们规定:
游客浏览者进入到新闻发布系统的主页面,可以浏览所有的相关新闻。
但是没有任何特殊的特权。
对于已经注册的浏览者(会员)不仅拥有游客浏览者的全部功能,还可以对某个新闻进行发表评论,查看他人的评论等。
最后是管理员,他拥有权限最高,他可以管理所有的新闻,以及新闻分类。
可以增加和修改新的新闻分类,也可以增加和修改新的新闻内容。
2.2功能设计
新闻发布系统分为前台和后台两个部分。
对于前台操作者来说,系统的前台页面是他们可以看见的部分,所以要求前台的操作尽可能直观方便。
用户打开前台的页面就可轻松地浏览相关新闻,可以进直接对新闻进行查询,直接浏览所查询的相关新闻。
同时可以针对新闻的不同分类,浏览不同类型的新闻。
会员用户可以通过登陆界面登陆。
会员成功登陆后,将有评论权限和查看评论权限,当用户浏览一些新闻以后需要对新闻进行评论时,只要进入新闻相应的评论版中添加自己要评论的内容,即可成功添加。
同时返回可以继续浏览其他人的评论。
前台的基本功能如图2-1所示:
图2-1前台功能图
对于后台管理,管理员可以对整个的网站进行管理。
具体来说,在新闻管理中,管理员可以设定和添加没有的新闻分类,以便在前台的网页中显示新闻的分类,同时也可以对已有的新闻分类进行修改。
保证网站的动态性。
其次,管理员就是对新闻的文章进行综合管理。
后台的基本功能如图2-2所示:
图2-2后台功能图
第三章数据库设计
数据库设计是新闻发布系统中数据库设计的核心。
数据库设计直接决定新闻发布系统的功能流程和运行系统的效率。
因此,下面详细介绍数据库系统的设计。
3.1数据库需求分析
3.1.1功能流程
游客浏览主页→游客直接点击想要浏览的新闻列表→游客选择自己想要浏览的新闻→游客返回列表或者返回主页
会员登录系统→会员浏览新闻→会员发表评论→会员查看评论→会员退出系统
3.1.2需求总结
经上述业务流与数据库需求总结,数据库设计如下的数据项:
(1)新闻发布:
新闻编码、类别编号、题目、内容、附件路径、发布时间、作者、点击次数。
(2)会员信息:
会员编码、用户名、昵称、登录密码。
(3)管理员信息:
管理员编码、登录账户、密码。
(4)评论信息:
新闻ID、评论内容、评论人、评论时间。
3.2数据库概念设计
3.2.1数据库实体
(1)新闻实体:
对于新闻实体我们根据需要对其设计了:
新闻编码、类别编号、题目、内容、附件路径、发布时间、作者、点击次数这8个字段。
如图3-1所示:
图3-1新闻实体图
(2)会员实体:
对于会员实体我们设计了:
会员编码、用户名、昵称、登录密码这个4个字段。
如图3-2所示:
图3-2会员实体图
(3)管理员实体:
对于管理员实体,我们根据需求设计了管理员编号、登录账户、密码这个3个字段。
如图3-3所示:
图3-3管理员实体图
(4)评论实体:
对于评论实体我们根据用户需求设计新闻ID、评论内容、评论人、评论时间这个4个字段。
如图3-4所示:
图3-4评论实体图
3.3数据库逻辑设计
3.3.1表news
字段名
类型
长度
是否为空
主键
外键
备注
描述
Newsid
INT
11
No
Yes
No
+1
新闻编号
Board
Int
4
No
No
No
类别编码
Newstitle
VARCHAR
100
No
No
No
新闻标题
Newscontent
Text
No
No
No
新闻内容
Filepath
CHAR
200
Yes
No
No
附件路径
Newsauthor
CHAR
20
Yes
No
No
新闻作者
Newsdate
Date
No
No
No
发布时间
Dianji
Int
100
No
No
No
点击次数
3.3.2表user
字段名
类型
长度
是否为空
主键
描述
Yname
CHAR
20
No
No
会员账户
Ync
CHAR
20
No
No
会员昵称
Ypwd
CHAR
20
No
No
会员密码
Yid
Int
11
No
Yes
会员编码
3.3.3表admin
字段名
类型
长度
是否为空
主键
描述
Ano
INT
11
No
Yes
账户编号
aname
CHAR
20
No
No
账户
Apwd
CHAR
20
No
No
登录密码
3.3.4表pingjia
字段名
类型
长度
是否为空
主键
描述
id
INT
11
No
Yes
新闻编号
Pjnr
Text
20
No
No
评论内容
Pjr
VARCHAR
20
No
No
评论人
Date
DATE
No
No
评论时间
第四章功能模块设计
4.1功能模块划分
根据新闻发布系统应具有的基本功能以及参考用户对新闻发布系统的要求我们将这个新闻发布系统进行功能模块上的划分,以方便逐个功能的实现。
同时用户在使用中也非常方便,直观。
因此经过我们反复的分析和设计,我们将这个新闻发布系统分为7大功能模块。
详细的功能模块名称如下:
(1)新闻分类别浏览模块(包括:
图片新闻、热点新闻、媒体新闻……………)
(2)新闻检索模块
(3)会员登陆后发表新闻评论模块
(4)管理员后台新闻发布、删除、修改等模块
(5)管理员后台新闻管理模块
4.2系统模块功能描述
4.2.1新闻分类浏览模块
首先浏览新闻是所有用户都具有的最基本的权限,为了方便用户对新闻的快捷浏览,我们设计了新闻的分类浏览功能。
用户只要进入新闻发布系统的主页,要想浏览哪一类新闻,只需在首页中的新闻分类的名称上点击,即可弹出要浏览的这一类新闻的所有新闻。
并且按照新闻发布的时间的先后顺序来排列所有新闻。
在打开的这一类新闻的新闻列表中,用户只需在点击相应的要看的新闻标题,即可快速的浏览此新闻的详细内容。
包括新闻的标题,新闻的详细内容,新闻的来源,新闻的发布时间以及点击次数等。
因此,为那些喜欢关注哪一类新闻的用户提供了方便。
与此同时,此新闻发布系统还副增加了一个新闻浏览的模块。
是根据管理员所发布新闻的时间给用户列出最新的新闻。
因此,通过这个几块新闻浏览的功能模块可以基本满足不同用户的不同需求。
4.2.2新闻检索模块
为了帮助用户快速的找到自己需要的系统消息,本系统设计了一个搜索模块,只要在搜索栏中输入模糊或者详细的新闻标题就可以查询出带有该字段每个字词的相关新闻列表,方面、快捷的帮助用户及时的筛选出信息。
4.2.3会员登陆后发表新闻评论模块
对于已经注册该网站系统的用户就可以对每条新闻发出评价的信息,这样以来不仅及时的搜集到用户的有关评价信息,而且还增加了系统的交互性。
4.2.4管理员后台新闻发布模块
新闻发布模块对于新闻发布系统来说是最主要的一个模块。
本系统的新闻发布系统模块中发布的信息包括了新闻编码、类别编号、题目、内容、附件路径、发布时间、作者、点击次数。
管理员用户选择相应的发布信息模块,通过后台的新闻发布页面填写相关的内容,然后点击发布新闻,即可将自己的新闻发布出去。
新闻发布的过程简单易行,新闻由管理员在后台直接发布,无需验证和批准直接可以在新闻发布系统的主页面上显示最新的新闻内容。
4.2.5管理员后台新闻管理模块
管理员将新闻发布以后,难免有出错或者需要修改的时候。
因此在设计后台的时候针对此需要,我们设计了图片新闻、重要新闻、热点新闻…….等7个模块。
此管理模块是对已经发布出去的新闻进行修改编辑或者删除。
同时也是新闻发布系统管理新闻的最基本的功能。
此权限也只能是管理员才可以对此进行操作,对于游客身份的用户和已经登录的会员用户则均不可以对此进行操作。
第五章系统实现
5.1新闻发布首页
如图5-1是新闻发布系统的首页,该页面的功能包括:
新闻浏览、新闻检索、会员登录以及管理员专用通道,用户点击相应的链接时会进入相应的功能页面。
此新闻发布系统的首页分为除了有以上的链接功能外,还可以根据自己的需要去浏览具体要浏览的那一类新闻,在栏目导航中已经列出分类,点击即可浏览。
热门文章的模块是针对新闻的点击次数进行排列,列出关注度最高的新闻。
最新文章模块是针对新闻的发布时间进行排列,列出最新发布的新闻。
图5-1系统首页
5.1.1连接数据库的核心代码
数据库的连接是实现个性功能的前提。
在连接数据库的时候,为了防止中文出现乱码的现象,我们在连接数据库的同时对编码进行了指定。
统一采用gb2312的中文编码,使得中文乱码现象得到解决。
其核心代码如下:
1.
php
2.$lnk=mysql_connect('localhost','root','');
3.mysql_select_db('news',$lnk);
4.mysql_query("SETNAMESgb2312");?
>
5.2分类浏览新闻
根据主页的栏目导航,我们可以点击重要新闻,点击以后弹出以新闻类型为重要新闻的所有相关新闻。
如图5-2-1所示的分类浏览新闻页面。
如果用户想要查看某条新闻的具体内容,用户只要点击网页中相应的新闻标题就可以浏览到新闻的详细内容。
如图5-2-2所示的浏览新闻详细页面。
图5-2-1分类浏览新闻页面
图5-2-2浏览新闻详细页面
5.2.1浏览分类浏览核心代码
1.
php
2.include("dbconn.php");
3.$bkh=@$_GET["bid"];
4.$newsresult=@mysql_query("select*fromnewswhereboard=".$bkh);
5.?
>
6.
php
7.include("dbconn.php");
8.$newsresult=mysql_query("select*fromnewsorderbynewsdatedesc");
9.while($newsrow=mysql_fetch_row($newsresult))
10.{
11.if($newsrow[1]==$bkh)
12.{
13.?
>
14.
15. id= phpecho($newsrow[0])? >"class="gray"target="_blank"title=" phpecho($newsrow[4])? >"> phpecho($newsrow[2])? > phpecho$newsrow[6]? > 16. php} 17.} 18.? > 5.3新闻检索 新闻检索可以大大提高新闻的浏览速度,用户查询新闻时只需要在新闻检索栏中输入相应的关键字然后点击查询的,既可以得到相应的新闻页面。 如图5-3-1添加一个新闻的关键字,然后再点击查询的按钮。 如图5-3-2得到的查询结果 图5-3-1查询检索页面 图5-3-2查询检索页面 5.3.1新闻检索核心代码 1. php 2.$lnk=mysql_connect('localhost','root','') 3.ordie('Notconnected: '.mysql_error()); 4.mysql_select_db('news',$lnk)ordie('Can\'tusenews: '.mysql_error()); 5.mysql_query("SETNAMESgbk"); 6.$kw=$_GET["kw"]; 7.$sql="select*fromarticlewheretitlelike'%".$kw."%'"; 8.$query=mysql_query($sql); 5.4会员用户登录 限制用户的权限,会员用户登录的模块是必不可少的。 在正常会员账户和密码都正确的情况下可以正常登录。 如图5-4-1会员用户正常登录界面。 图5-4-1会员用户正常登录界面 5.4.1会员用户登录核心代码 1. php 2.session_start(); 3.$user=@mysql_query("select*fromuserwhereyname='".$_POST["ync"]."'andypwd='".$_POST["pwd"]."'"); 4.if(mysql_num_rows($user)! =0) 5.{ 6.echo""; 7.} 8.if(! isset($_SESSION["yh_name"])) 9.{ 10.$yuser=mysql_fetch_row($user); 11.$_SESSION["yh_name"]=$yuser[0]; 12.$_SESSION["lx_name"]=$yuser[1]; 13.? > 5.5会员登录后发表评论 会员用户登录以后才可以对新闻进行发表评论和查看新闻的所有评论。 如下图5-5-1是新闻发表评论的主页面。 用户可以对新闻进行评论,写好评论内容以后点击发表评论既可以成功发表评论。 如图5-5-2编辑评论页面。 当评论信息成功发布以后,点击查看即可查看到用户的评论信息,如图5-5-3所示所有的评论信息。 图5-5-1发表评论主页面 图5-5-2编辑评论页面 图5-5-3查看评论信息页面 5.51发表评论核心代码 1. php 2.include("dbconn.php"); 3.$pingid=@$_GET["pjid"]; 4.session_start(); 5.$yhm=$_SESSION["yh_name"]; 6.? >} 7.else 8.{ 9.mysql_query("insertintopingjia(id,pjnr,pjr,date)values(".$pingid.",'".$_POST["pingjia"]."','".$yhm."','".date("y-m-d")."');"); 10.echo""; 11.} 12.? > 5.6新闻发布页面 如下图5-6是本新闻发布系统的新闻发布页面,新闻的ID数据库自动累加用户不需要对其进行编号。 发布时间的也不需要用户添加,系统会帮你自动添加发布新闻的时间。 新闻标题、作者、新闻来源、新闻类型以及新闻内容等则是用户必须编辑的内容,用户填写好要发布的新闻后点击发布,新闻成功发布后,系统将给与成功发布的信息提示。 图5-6新闻发布页面 5.6.1新闻发布核心代码 1. php php 2.} 3.else 4.{ 5.$title=$_POST['txt_title']; 6.$author=$_SESSION["currentuser"]; 7.$abc=$_POST["abc"]; 8.$time=date('Y-m-d'); 9.if($_FILES["upfile"]["type"]! ="image/pjpeg") 10.{ 11.echo"文件格式有误,请上传jpg格式的文件! "; 12.echo$_FILES["upfile"]["type"]; 13.} 14.elseif($_FILES["upfile"]["size"]>504857600) 15.{ 16.echo"文件过大,请上传不大于100M的文件! "; 17.} 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- webphp 新闻 发布 系统 毕业设计