用基于php+mysql技术完成新闻发布系统内容摘要:

统分析与总体设计。 系统功能描述 新闻发布及管理系统包括新闻类别管理、新闻发布管理 、 用户 评论等模块。 具体描述如下: ( 1) 新闻类别管理  新闻类别的录入  新闻类别的修改  新闻类别的删除  新闻类别的查询 ( 2) 新闻发布管理  基本新闻信息的录入,包括新闻标题、 新闻作者、 新闻内容和所属类别  基本新闻信息的修改  基本新闻信息的删除 ( 3) 普通用户 留言模块  用户 对某条新闻发表评论  编辑 可以删除新闻评论 ( 4) 普通 用户管理功能  普通 用户信息的录入,包括用户名和密码等信息  普通 用户信息的修改  普通 用户信息的删除 系统功能模块划分 在本系统中后台系统与前台系统对数据库的的使用如图 31 所示: 3 系统分析与总体设计 13 图 31 新闻发布系统 功能模块关系图 在本系统中,用户管理模块的功能比较简单。 在系统初始化时,有一个默认的“系统管理员”用户 admin 密码 123456,由程 序设计人员手动地添加到数据库中。 admin 用户可以创建用户、修改和删除用户;普通用户则只能修改自己的用户名和密码。 如 图 32所示: 图 32 普通用户 功能模块关系图 系统的概要设计 本项目是基于 PHP+MySQL 的 WEB应用系统,采用 B/S 模式。 B/S模式的优势是系统开发、维 护和升级方便,管理成本较低。 用户界面一致,使用简单,能实现不同的人员,从不同的地点,以不同的方式访问和操作;一般客户机不需要额外安装新的软件,只需安装有浏览器就可以进行操作。 方便维护管理,应用程序运行在服务器端,这样便于系统的管理、更新和升级,降低了服务端和客户端之系统用户信息管理 修改 Admin 用户的密码 创建、修改、删除普通用户信息 修改自身的 Admin 用户 普通用户 后台系统 提供数据 新闻类别管理 前台系统 数据库 基本信息发布 新闻查询管理 发表网友评论 西安航空职业技术学院 新闻发布系统 毕业论文 14 间的依赖性,同时通过了应用程序代码的安全性,有效地保护系统平台和服务端的数据库的安全。 系统流程分析 为了使读者进一步了解本实例系统的设计,本小节将对系统进行流程分析。 多用户系统的工作流程都是从用户登录模块开始,对用户的身份进行认证。 身份认证可以分为以下两个过程: 第 1个过程决定用户能否进入系统。 第 2个过程根据用户的类型决定用户的操作权限,从而决定用户的工作界面。 本系统分为前台系统和后台系统两个部分。 前台系统不需要进行身份认证,任何人都可以通过浏览器阅读已经发布的新闻、发表网友评论。 后台系统的流程分析如图 33所示。 admin 用户拥有所有的权限, 记者和编辑 只能对自己发布的新闻进行管理,包括修改新闻内容、删除新闻和删除网友评论。 图 33 后台系统的流程分析图 开始 用户登录 失败重试 管理所有用户的信息 管理新闻类别,所有新闻信息的管理 管理自己的信息 新闻发布,自己发布的新闻的管理 Admin 记者、编辑 4 数据库分析与设计 15 4 数据库分析与设计 本章 将介绍系统的数据库表结构和创建表的 界面。 数据库的创建 本系统用的是 MySQL 数据库,创建是用 phpMyAdmin 网页式的数据库工具来完成的。 首先创建一个数据库 news,用来保存本系统的所有数据。 数据库的逻辑结构设计 根据用户需求,共创建了 4 个表,分别为:系统用户表: user、新闻分类表:news_type、新闻评论 表: pinglun 新闻内容表: news 以下是新闻发布系统的数据库表结构的详细描述: ( 1)用户表 user 用户表 user 来保存系统用户(管理员)的基本信息。 如表 41: 如表 41 用户表 user 序列编号 字段名称 数据类型 说明 1 id int(4) 用户 编号 2 nicheng varchar(20) 用户昵称 3 name varchar(20) 用户姓名 4 pass varchar(25) 密码 5 question varchar(100) 密码提示问题 6 answer varchar(100) 密码提示答案 7 flag int(4) 用户权限 8 touxiang int(4) 用户头像 ( 2) 新闻分类表 news_type 新闻分类表 news_type 分类保存新闻类型。 如表 42: 如表 42 新闻分类表 news_type 序列编号 字段名称 数据类型 说明 1 id int(4) 新闻类型编号 2 name varchar(20) 新闻类型名称 3 dir varchar(20) 新闻类型目录 西安航空职业技术学院 新闻发布系统 毕业论文 16 ( 3) 新闻 评论 表 pinglun 新闻评论表 pinglun 保存新闻评论。 如表 43: 如表 43 新闻评论表 pinglun 序列编号 字段名称 数据类型 说明 1 id int(4) 自 动编号 2 news_id int(4) 新闻编号 3 title varchar(20) 新闻标题 4 pinglunzhe varchar(20) 评论者 5 time timedata 新闻评论时间 6 data text 新闻评论数据 ( 4) 新闻 内容 表 news 新闻内容表 news 保存新闻内容。 如表 44: 如表 44 新闻内容表 news 序列编号 字段名称 数据类型 说明 1 id int(4) 自动编号 2 type varchar(20) 新闻 类型 3 fabu varchar(20) 记者 4 title varchar(20) 发布标题 5 data text 发布内容 6 time timedata 发布时间 7 number int(4) 点击次数 8 shenhe_flag int(4) 是否审核 5 详细设计与实现 17 5 详细设计与实现 目录结构 在运行实例时,需要将 news 目录复制到 PHPnow 目录下的 htdocs 子 目录下,该系统的目录结构如图 51 所示: 图 51 新闻发布系统目录结构图 模块划分 系统功能模块的划分,是在需求分析基础上进行的,是 把具有复杂功能的系统通过设计分解为具有基本独立,功能简单,易于实现等特点的多个功能模块。 模块划分的好处是,由于组成系统的模块基本独立,功能明确,因此便于模块的独立开发、维护和修改,而不会影响系统中的其他模块。 模块的划分应该遵循低耦合,高聚合的划分原则。 耦合的高低表示模块之间联系程度的强弱。 聚合表示一个模块内部组成之间的联系程度。 低耦合就表示模块之间的联系越弱,反之,则联系程度强。 耦合度越低,说明模块之间的联系越弱,则相互间产生影响和连锁反应的概率就越小。 也就是说当某个模块出现故障或者需要修改和维护时,对系 统其他模块产生的影响就小。 该原则有助于提供系统的可维护性和可扩展性。 网络教学平台建设的总体功能由以下几大模块构成: 不同的文件放于不同的文件夹中,方便系统调用。 admin 文件夹主要放 后台文件 ; 剩余为前台文件夹 ,包括数据库链接和常量声明 文件,方便其它模板调用;西安航空职业技术学院 新闻发布系统 毕业论文 18 images 文件夹主要用于存储图片 ; 是通用模块,存储一些通用的代码信息,减少了代码的重复书写,供其它模块调用; 是网站首页。 系统主界面 新闻 发布系统有两种用户:普通用户和管理员,分别有不同的权限,但都是从 同一界面登陆。 新闻界面 如 图 52, 源码如 下: 图 52 新闻发布系统主页 前 台 首页 代码: ? include。 $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=menu2a href=39。 /news/$A[dir]39。 $A[name]/a/li。 } ? ? include。 $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 option value=$A[dir]$A[name]/option。 } 5 详细设计与实现 19 ? ? include。 $sql=select * from news where type=39。 zhengzhi39。 and shenhe_flag=1 limit 8。 $result=mysql_query($sql)。 $n=mysql_num_rows($result)。 for($i=0。 $i$n。 $i++) { $A=mysql_fetch_array($result,MYSQL_ASSOC)。 echo tr class=titleBarBot onmouseover=39。 openme(this)。 39。 onmouseout=39。 closeme(this)。 39。 echo td width=70%a href=/xihang/news/$A[type]/$A[type].php?id=$A[id]$A[title]/a/td。 $t=getdate($A[time])。 $time=$t[year]..$t[mon]..$t[mday]。 echo td width=30%$time/td。 echo /tr。 } ? ? include。 $sql=select * from news where type=39。 junshi39。 and shenhe_flag=1 limit 8。 $result=mysql_query($sql)。 $n=mysql_num_rows($result)。 for($i=0。 $i$n。 $i++) { $A=mysql_fetch_array($result,MYSQL_ASSOC)。 echo tr class=titleBarBot onmouseover=39。 openme(this)。 39。 onmouseout=39。 closeme(this)。 39。 echo td width=70%a href=/xihang/news/$A[type]/$A[type].php?id=$A[id]$A[title]/a/td。 $t=getdate($A[time])。 $time=$t[year]..$t[mon]..$t[mday]。 echo td width=30%$time/td。 echo /tr。 } ? ? include。 $sql=select * from news order by number desc limit 5。 $result=mysql_query($sql)。 $n=mysql_num_rows($result)。 for($i=0。 $i$n。 $i++) { 西安航空职业技术学院 新闻发布系统 毕业论文。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。