当前位置:文档之家› PHP校园新闻网站的设计与开发-论文

PHP校园新闻网站的设计与开发-论文

PHP校园新闻网站的设计与开发-论文
PHP校园新闻网站的设计与开发-论文

PHP校园新闻网站的设计与开发

摘要

在校园网的网站里面,在校园网中新闻发布系统的存在是不可缺少的。校园新闻网的设立可以使校园用户更加方便地了解学校外的新闻八卦以及校内的课余活动,而且此平台可以成为校园用户的交流平台。因此凸显了校园新闻网站的各项优越性。本系统采用了PHP编程语言,MySQL数据库,来实现一个功能强大的校园新闻网站。该系统的主要功能有浏览新闻,新闻检索,评论新闻,发表新闻。管理员可以直接通过系统对网站上的新闻进行管理,网站维护起来更加方便快捷。

关键词:校园新闻网;PHP编程;MYSQL

1 概述 (1)

1.1 实验环境搭配 (1)

1.1.1 HTML简介 (1)

1.1.3 MYSQL 数据库技术简介 (1)

1.1.4 PHP+MySQL+Apache组合 (2)

2 需求分析 (3)

2.1 设计构想 (3)

3 数据库设计 (4)

3.1 数据库需求分析 (4)

3.3.1 数据库功能流程 (4)

3.1.2 需求总结 (4)

3.2 数据库概念设计 (4)

4 功能模块设计 (6)

4.1 功能模块划分 (6)

4.2.1 新闻分类浏览模块 (6)

4.2.2 新闻检索模块 (6)

4.2.3 管理员后台新闻发布模块 (6)

4.2.4 管理员后台新闻管理模块 (6)

4.2.5管理员后台新闻类别添加模块 (6)

4.2.6 管理员后台新闻类别修改模块 (7)

5 系统实现 (8)

5.1 新闻发布首页 (8)

5.2 分类浏览新闻 (8)

5.3 新闻检索 (10)

5.4 评论功能 (11)

5.5 管理员登陆 (11)

5.6 用户注册 (12)

5.8 模块添加界面 (14)

5.9 模块删除 (14)

5.10 模块修改 (16)

5.11 内容修改 (17)

6 结论 (17)

参考文献 (20)

随着网络信息技术的不断发展,新闻网站已成互联网众多网站中必不可少的一员。新闻网站的传播媒介是网络,相比于传统媒体它具有时效性,多样性和更加人性化,在视听方面能够给人们更加全新的体验。新闻网站可以将无序化的新闻进行有序组合,而且大大压缩了信息的厚度,能够正在最短的时间内带给人们最有效的新闻。这些年来网络新闻不断改革创新,在不断汲取传统新闻养分的同时也在逐渐形成自己的崭新面貌,有些改变甚至可能对整个媒体的新闻业务产生影响。本系统分为多个模块管理是数据更具条理化,并且支持多个用户同时在线发布信息,可以帮助用户在最短的时间内准确的找到他想要了解的新闻。

1 概述

1.1 实验环境搭配

1.1.1 HTML简介

超文本标记语言即HTML(Hypertext Markup Language),它是国际标准通用标记语言,网页是一种文本文件,而HTML就是用来书写网页文本的标记符号,有了它浏览器可以按照编制人员的书写对网页进行处理,比如说文字的如何排列,图片在哪个位置。HTML文档不仅制作简单,而且功能强大,能够支持不同格式的文件嵌入,其主要特点有简易性,可扩展性,平台无关性。它的使用灵活方便,而且人们广泛使用带给它的是不断创新增加新的标识和加强功能,这给HTML的系统扩展提供了充足的保障,虽然现在个人计算机使用普遍,但是使用MAC等机器还是有许多人,而HTML使用平台广泛,所以平台限制不了HTML的发展。

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。它融合了C语言、Java和Perl的特点,利于学习,在Web开发领域被普遍使用。PHP可以将程序嵌入到HTML文档中去执行,执行效率比其他执行方法要高许多。PHP 在数据库方面的丰富支持,也是它迅速走红的原因之一。php主要有以下几个优点:(1).源代码是开源的,使用起来比较方便。(2)它的使用不收取任何费用,使用门槛低。(3)跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。(4)php消耗系统资源低,效率高。(5)执行起来速度快。

1.1.3 MYSQL 数据库技术简介

MySQL是由原MySQL AB公司自主研发的,是一个相当高效的SQL数据库管理系统。

它的主要优点有:(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性(2)支持Linux、Mac OS、Windows等多种操作系统(3)支持多线程,能够充分利用CPU资源(4)优化的SQL查询算法,有效地提高查询速度(5)语言标准,使得存储、更新和存取信息更容易。.

1.1.4 PHP+MySQL+Apache组合

本系统我们采用PHP+MySQL+Apache组合,它具有稳定性好、功能强大、硬件资源占用小等优点。PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入,是网站开发的黄金组合,也是我们接下来开发所要用到的。

2 需求分析

2.1 设计构想

首先新闻发布系统的设计必须从用户的需求入手分析。新闻发布系统的主要功能就是用户可以通过新闻网站浏览到管理员通过后台发布的新闻。从这一点我们就可以得出新闻发布系系统主要面对的两类用户就是管理用户与浏览用户。

管理用户可以通过账号密码登陆后台对新闻发布系统的新闻内容和新闻模块进行管理。这些管理也是需要管理员权限才可以的,并不适合所有用户。

前台就是给浏览者提供管理用户所发布的新闻内容,可以在网页里面检索到自己想要了解的新闻,也可以在新闻下方发表自己的看法和意见。

2.2 功能设计

后台的基本功能如图2-1所示。

图2-1后台模块

前台的基本2-2所示。

图2-2前台模块

3 数据库设计

通过对系统的分析,对系统的功能做如下设计。后台数据库设计是校园新闻发布管理系统中开发的核心。因为数据库设计对影响新闻发布系统的功能和效率影响非常大。所以,数据库的设计必须要深思熟虑。务必要做到可以兼顾该系统的各项功能。。

3.1 数据库需求分析

3.3.1 数据库功能流程

通过对系统的分析,对系统的功能做如下设计。后台浏览用户—>选择新闻模块—>选择新闻标题—>浏览新闻。。

3.1.2 需求总结

经上述流程与需求总结,数据库的设计如下所示:(1)用户信息:账号,用户名称,密码,登陆时间。(2)模块信息:模块id,模块序号,模块名称,添加人,添加时间。

(3)新闻信息:新闻id,模块id ,标题,内容,浏览次数,添加人,添加时间。

3.2 数据库概念设计

表 3-1 manage_user_info(管理用户信息数据表)

表3-2 module_info(模块信息数据表)

表3-3 news_info(新闻信息数据表)

表3-4 review_info(评论信息数据表)

4 功能模块设计

4.1 功能模块划分

根据用户的需求与新闻发布系统必备的基本功能,我们将此新闻发布系统划分为6大功能模块,这6大功能模块名称为:(1)新闻分类浏览模块;(2)新闻检索模块;(3)后台新闻添加模块;(4)后台新闻管理模块;(5)后台新闻类别添加模块;(6)后台新闻类别管理模块。

4.2.1 新闻分类浏览模块

为了使用户方便浏览新闻该网站设计了分类浏览功能,用户通过点击想要浏览的新闻分类,即可弹出按照时间顺序排列的此类新闻的标题,再通过点击标题即可浏览新闻的详细内容以及相关评论。

4.2.2 新闻检索模块

新闻检索模块就是为用户提供方便快捷检索功能的模块。用户只需要在检索框内输入关键词,输入内容就会被提交到数据库中进行数据匹配,然后所有包含关键词的新闻就会显示出来给用户浏览。这样能够为用户节约时间,更加直观方便地浏览新闻。4.2.3 管理员后台新闻发布模块

新闻发布系统最主要的一个模块就是新闻发布模块。此模块供管理员直接发布新闻信息,其中有新闻作者,新闻标题,新闻内容,新闻发布时间等。

4.2.4 管理员后台新闻管理模块

当管理员发布的新闻多了,有些新闻难免存在一些问题需要修改或者删除,这就需要用到后台新闻管理模块了。管理员可以通过此模块对已经发出去的新闻进行删除修改。此模块的设立更加方便新闻网站的日常管理也是新闻网站必备的模块。

4.2.5管理员后台新闻类别添加模块

后台新闻类别添加模块是为给客户提供更方便浏览新闻所设计的。管理员要发布新闻是要有一定分类的,这些分类可以之前就有过设置再发布新闻的时候选择类别发送就

行了。当然管理员也可以添加里面没有的分类,此模块可以增加网站的灵活性,使系统更加人性化。

4.2.6 管理员后台新闻类别修改模块

后台新闻类别修改模块顾名思义就是用来修改或者删除新闻分类的一个模块,为了使新闻发布系统更有实用性和人性化的管理,我们可以利用该模块对已经添加过的新闻分类进行部分修改或者整体删除,帮助管理员动态控制整个新闻分类,同时也满足不同的用户对不同类型的新闻浏览的要求。

5 系统实现

本系统采用分层的模式,将界面层,业务逻辑层,数据层分开分别封装在不同的类中。这样不仅能够减少代码的复用,而且能够使系统结构清晰,减少了系统开发的失误。

5.1 新闻发布首页

该页面的主要功能包括:管理员登录、新闻检索,用户点击相应的链接时会进入相应的功能页面如图5-1所示。

图5-1首页

核心代码

require_once 'NewsService.class.php';

$newsservice=new NewsService();

$res=$newsservice-> getmoduledata();

while($row=$res->fetch_row()){

echo"$row[2]
";

5.2 分类浏览新闻

我们可以根据自己的需求点击主页的栏目导航,比如说我点击了校园之星,点击之后弹出了有关校园之星所有的新闻。如图5-2所示的分类浏览新闻页面。在校园新闻网站中用户点击新闻标题就可以浏览这条新闻的详细内容。如图5-3所示的浏览新闻详细页面

图 5-2分类浏览页面

图 5-3 新闻内容

分类浏览核心代码:

按分类显示标题

require_once 'NewsService.class.php';

if(!empty($_GET['id'])){

$id=$_GET['id'];

$newsservice=new NewsService();

$res=$newsservice->getnewsdata($id);

while($row=$res->fetch_row()){

echo"$row[0] $row[2]
";

}

echo"
";

}

?>

按标题显示新闻内容的核心代码:

require_once 'NewsService.class.php';

$id=$_GET['id'];

$newsservice=new NewsService();

$res=$newsservice->getnewscont($id);

while($row=$res->fetch_row()){

echo"$row[0]
";

}

?>

5.3 新闻检索

新闻检索可以帮助用户更加直观地浏览新闻,用户只要在网站的检索栏中输入自己想要搜索的新闻关键字就可以查询到和关键字有关的所有新闻。如图5-4所示。。

图5-4 新闻检索

5.4 评论功能

用户还可以通过点击评论在弹出来的评论框里面输入想说的内容发表自己的观点意见。如图5-3所示。输入自己的观点意见然后点击提交即可在网站中发表自己的观点意见,如图5-5所示。

图5-5 发表评论

5.5 管理员登陆

管理员登录的的模块是为了限制用户权限所设置的。在管理员账户和密码都正确的情况下可以正常登录。如图5-6管理员用户正常登录界面。

图 5-6 管理员登陆

核心代码:

//接受数据

require_once 'manage_userService.class.php';

$name=$_POST['username'];

$password=$_POST['password'];

$manage_userservice=new manage_userService();

if($manage_userservice->login( $name, $password)){

//成功

header("Location: newsMain.php?name=$name");

exit();

}else{

header("Location: login.php?error=1");

exit();

5.6 用户注册

填写用户名密码点击提交就可完成注册更能如图5-7所示。

图5-7 注册用户

核心代码:

require_once 'manage_userService.class.php';

$username=$_POST['username'];

$password=$_POST['password'];

$manage_userservice=new manage_userService();

$b=$manage_userservice->register($username,$password);

if($b==1){

echo"注册成功

登陆后台管理系统"; }

?>

5.7 新闻添加

图 5-8 添加新闻内容

核心代码

require_once 'NewsService.class.php';

$time=date("Y-m-d G:i:s");

$module_id=$_POST['module_id'];

$newstitle=$_POST['newstitle'];

$content=$_POST['content'];

$name=$_POST['username'];

$newsservice= new NewsService();

$res=$newsservice->addnews($module_id,$newstitle,$content,$time,$name);

if($res==1){

echo"添加成功
返回继续添加";

}else{

echo"添加失败
返回重新添加";

}

?>

5.8 模块添加界面

想要添加模块必须先输入要添加的模块名称和添加人,然后就可以在模块列表中看到添加的信息如图5-9所示。

图 5-9 添加新闻模块

5.9 模块删除

点击删除就可以将其所对应的一条信息删除如图5-10所示。

图5-10 新闻模块列表

核心代码:

require_once 'moduleService.class.php';

require_once 'manage_user.class.php';

if(!empty($_POST['num'])){

$num=$_POST['num'];

$moname=$_POST['moname'];

$time=date("Y-m-d G:i:s");

$name=$_POST['username'];

//$name=$_GET['name'];

$moduleservice= new moduleService();

$b=$moduleservice->addmodule($num,$moname,$time,$name); if($b==1){

echo"添加成功
继续添加"; }

}

if(!empty($_GET['id'])){

$id=$_GET['id'];

$moduleservice= new moduleService();

$moduleservice->deletemodule($id);

}

//实现分页

$pagesize=3; //每页显示几条记录

$pagenow=1;//显示第几页由用户决定

$rowcount=0;

$pagecount=0;

$moduleservice= new moduleService();

$pagecount=$moduleservice->getPageCount($pagesize);

if(!empty($_GET['pagenow'])){

$pagenow=$_GET['pagenow'];

}

echo"

模块列表

";

$moduleservice= new moduleService();

$res=$moduleservice->getModuleData($pagenow,$pagesize);

echo"

";

while($row=$res->fetch_row()){

echo"

";

foreach ($row as $key=>$val){

echo "

";

}

echo"

";

}

echo"

id序号模块名称添加人添加时间删除模块

修改模块
$val删除修改
";

mysqli_free_result($res);

for($i=1;$i<=$pagecount;$i++){

echo"$i ";

}

?>

5.10 模块修改

管理员可以在原有的新闻模块上进行修改,修改页面修改后点击提交就完成修改了,如图5-11所示。

图 5-11 新闻模块修改

5.11 内容修改

管理员可以利用修改页面对新闻内容进行修改,修改好内容点击页面的提交完成修改如图5-12所示

图 5-12 新闻内容修改

6 结论

能顺利如期完成本次毕业设计,这给予我很大的信心,让我了解专业知识的同时也对本专业的就业前景充满信心。系统采用PHP+MySQL+Apache组合作为开发环境,经过系统测试所有功能正常运行。通过这次的编写,我们对PHP这门语言有着深刻的了解,

相关主题
文本预览
相关文档 最新文档