PHP新闻管理系统(包括前台后台)
⼀、 题⽬
基于PHP的新闻发布系统
⼆、 需求分析
1、 软件功能
新闻发布系统(News Release System or Content Management System)⼜叫做内容管理系统CMS(Content Management System),是⼀个基于⽹络的新闻发布和管理的管理系统,它是基于B/S模式的系统,本系统可以⼏乎完成新闻发布的所有功能。随着⽹络新闻发布系统的使⽤,⽹络充当了⼀个⽐电视报纸更重要的新闻媒介的功能。
我们对此系统的设计便是实现这个系统功能的前提。⾸先是提供⼀个发布的功能和新闻分类管理。其次,实现⽤户交互,⽤户可以参加对新闻的评论。最后要实现对这个新闻发布的综合管理,⽅便管理员的管理。
要实现这个庞⼤的功能,我们先对⽤户权限进⾏划分,不同的⽤户有着不同的权限。游客浏览者(没有
登陆的)进⼊到新闻发布系统的主页⾯,可以浏览所有的相关新闻,查看他⼈的评论。但是没有任何特殊的特权。对于已经注册的浏览者(⽤户)不仅拥有游客浏览者的全部功能,还可以对某个新闻进⾏发表评论。最后是管理员,他拥有权限最⾼,他可以管理所有的新闻,以及新闻分类。可以增加和修改新的新闻分类,也可以增加和修改新的新闻内容。
2、 软件界⾯
根据新闻发布系统应具有的基本功能以及参考⽤户对新闻发布系统的要求我们将这个新闻发布系统进⾏功能模块上的划分,以⽅便逐个功能的实现。同时⽤户在使⽤中也⾮常⽅便,直观。因此经过我们反复的分析和设计,我们将这个新闻发布系统分为9⼤功能模块。详细的功能模块名称如下:
(1)新闻分类浏览模块
(2)新闻检索模块
(3)⽤户登陆后发表新闻评论模块
(4)⽤户的登陆与注册模块
(5)管理员后台新闻发布模块
(6)管理员后台新闻管理模块
(7)管理员后台新闻类别添加模块
(8)管理员后台新闻类别管理模块
(9)管理员后台评论审核模块
三、 软件设计
1、 数据库设计
数据库设计是CMS系中数据库设计的核⼼。 数据库设计直接决定CMS系统的功能流程和运⾏系统的效率。因此,数据库的设计则需要深思熟虑。务求做到兼顾新闻发布系统的各项功能。
数据库设计如下的数据项:
(1)新闻类别:类别ID、类别名称。
(2)⽤户信息:⽤户ID、⽤户名、登录密码。
(3)管理员信息:管理员ID、⽤户名、登录密码、职业。(只能通过操控数据库添加管理员)
(4)新闻发布:新闻ID、发布的管理员ID、类别ID、题⽬、图⽚URL、内容、发布时间、点击次数、附件URL。
(5)评论信息:评论ID、⽤户ID、新闻ID、评论内容、评论时间、审核状态、发布者IP。
create database news;
use news;
create table category(
category_id int auto_increment primary key,
name char(20) not null
);
create table users(
user_id int auto_increment primary key,
name char(20) not null,
password char(32)
);
create table admin(
admin_id int auto_increment primary key,
admin char(20) not null,
apassword char(20),
position char(20)
);
create table news(
news_id int auto_increment primary key,
admin_id int,
category_id int,
title char(100) not null,
picture char(50),
content text,
publish_time char(30),
clicked int,
attachment char(100),
constraint FK_news_admin foreign key (admin_id) references admin(admin_id),
constraint FK_news_category foreign key (category_id) references category(category_id) );
create table review(
review_id int auto_increment primary key,
user_id int,
user_id int,
news_id int,
content text,
publish_time datetime,
state char(10),
ip char(15),
constraint FK_review_users foreign key (user_id) references users(user_id),
constraint FK_review_news foreign key (news_id) references news(news_id)
);
2、 软件设计
新闻发布系统分为前台和后台两个部分。对于前台操作者来说,CMS系统的前台页⾯是他们可以看见的部分,所以要求前台的操作尽可能直观⽅便。 ⽤户打开前台的页⾯就可轻松地浏览相关新闻,可以进直接对新闻进⾏查询,直接浏览所查询的相关新闻。同时可以针对新闻的不同分类,浏览不同类型的新闻。注册⽤户可以通过登陆界⾯登陆。⽤户成功登陆后,将有评论权限,当⽤户浏览⼀些新闻以后需要对新闻进⾏评论时,只要进⼊新闻相应的评论版中添加⾃⼰要评论的内容,即可成功添加。同时返回可以继续浏览其他⼈的评论。
对于后台管理,管理员不仅拥有操作前台所有功能的权限,还可以进⾏⽹站的全⾯管理。具体来说,在新闻管理中,管理员可以设定和添加没有的新闻分类,以便在前台的⽹页中显⽰新闻的分类,同时也可以对已有的新闻分类进⾏修改,同时管理员可以增加和删除新闻。保证⽹站的动态性。其次,管理员就是对新闻的⽂章进⾏综合管理,例如评论的审核等。
四、 软件实现
(1)新闻分类浏览模块
浏览新闻是所有⽤户都具有的最基本的权限,为了⽅便⽤户对新闻的快捷浏览,我们设计了新闻的分类浏览功能。⽤户只要进⼊新闻发布系统的主页,要想浏览哪⼀类新闻,只需在⾸页中的新闻分类的名称上点击,即可弹出要浏览的这⼀类新闻的所有新闻。并且按照新闻发布的时间的先后顺序来排列
所有新闻。在打开的这⼀类新闻的新闻列表中,⽤户只需在点击相应的要看的新闻标题,即可快速的浏览此新闻的详细内容。包括新闻的标题,新闻的详细内容,新闻的来源,新闻的发布时间以及点击次数等。因此,为那些喜欢关注哪⼀类新闻的⽤户提供了⽅便。与此同时,此新闻发布系统还增加了两个新闻浏览的模块。⼀个是根据新闻的点击次数给⽤户列出关注度最⾼的新闻。即点击次数最⾼的⼏个新闻。 另⼀个是根据管理员所发布新闻的时间给⽤户列出最新的新闻。
因此,通过这个3块新闻浏览的功能模块可以满⾜不同⽤户的不同需求。
核⼼代码:
<section>
<div id="yule" class="heading">娱乐</div>
<div class="content">
<ul class="list">
<?php
$sql= "select * from news where category_id=1";
$newsRes = mysql_query($sql);
while($news = mysql_fetch_array($newsRes)){php修改数据库内容
echo"<li><a href='content.php?news_id=".$news[0]."'>$news[3]</a></li>";
}
>
</ul>
</div>
</section>
(2)新闻检索模块
为了⽅便⽤户快速的浏览想要浏览的新闻,我们为此新闻发布系统设计⼀个新闻的检索功能。新闻检索就是⽤户只要在此新闻发布系统的主页中到新闻检索的输⼊框,然后在此查询输⼊框中输⼊要查询新闻的关键字,然后提交到数据库中。数据库在进⾏数据的匹配,然后返回给⽤户要查询的新闻内容。这种检索⽅式⽐较⽅便,只要新闻中包含了⽤户输⼊的关键字,那么所匹配的新闻都会列表显⽰出来。因此,⽤户就可以直观地浏览要浏览的新闻,为⽤户节约时间,避免不必要的浏览操作。
核⼼代码:
$sql="select * from news where title like '%{$find}%' order by news_id limit {$num} , $fnum";
//echo $sql;
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) {
$sqls="select name from category where category_id={$row['category_id']}";
$selected=mysql_query($sqls);
$a=mysql_result($selected,0);
$b=$row['news_id'];
echo "<tr>";
echo "<td style='color:white;'>{$a}</td>";
echo "<td style='color:white;'><a href=content.php?news_id=$b style='color:white;'>{$row['title']}</td>";
echo "</tr>";
}
(3)⽤户登陆后发表新闻评论模块
对于⽤户可以登录,登录以后可以继续浏览相应的新闻,不同的是登录后的⽤户⽐普通的游客⽤户权限更⾼。登录后的⽤户可以在浏览新闻内容的时候对新闻进⾏发表⾃⼰的新闻评论。在评论版中⽤户可以相互交流。形成⼀个互动的平台。
核⼼代码:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论