【毕业设计】基于PHP的新闻发布系统_第1页
【毕业设计】基于PHP的新闻发布系统_第2页
【毕业设计】基于PHP的新闻发布系统_第3页
【毕业设计】基于PHP的新闻发布系统_第4页
【毕业设计】基于PHP的新闻发布系统_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)专用纸 第 1 页 基于 PHP 的新闻发布系统 毕业设计(论文)专用纸 第 2 页 毕业设计(论文)专用纸 第 3 页 目录 目录 . 3 基于 PHP 的新闻发布系统 . 7 摘要 . 7 前言 . 9 研究背景 . 9 研究意义 . 9 第一章 概述 . 10 1.1 实验环境搭配 . 10 1.1.1 动态网页编程语言的比较 . 10 1.1.2 PHP 简介 . 11 1.1.3 MYSQL 数据库技术简介 . 11 1.1.4 PHP+MySQL+Apache 组合 . 12 1.2 B/S 系统结构及工作原理 . 12 第二章 需求分析 . 14 2.1 设计构思 . 14 2.2 功能设计 . 14 第三章 数据库设计 . 16 3.1 数据库需求分析 . 16 3.1.1 功能流程 . 16 3.1.2 需求总结 . 16 3.2 数据库概念设计 . 16 3.2.1 数据库实体 . 16 毕业设计(论文)专用纸 第 4 页 3.2.2 数据库实体 E-R 图 . 19 3.3 数据库逻辑设计 . 20 3.3.1 表 article . 20 3.3.2 表 user . 20 3.3.3 表 admin . 21 3.3.4 表 comment. 21 3.3.5 表 class. 21 第四章 功能模块设计 . 22 4.1 功能模块划分 . 22 4.2 系统模块功能描述 . 22 4.2.1 新闻分类浏览模块 . 22 4.2.2 新闻检索模块 . 23 4.2.3 会员登陆后发 表新闻评论模块 . 23 4.2.4 管理员后台新闻发布模块 . 23 4.2.5 管理员后台新闻管理模块 . 24 4.2.6 管理员后台新闻 类别添加模块 . 24 4.2.7 管理员后台新闻类别管理模块 . 24 第五章 系统实现 . 25 5.1 新闻发布首页 . 25 5.1.1 连接数据库的核心代码 . 26 5.2 分类浏览新闻 . 26 5.2.1 浏览分类浏览核心代码 . 28 5.3 新闻检索 . 29 毕业设计(论文)专用纸 第 5 页 5.3.1 新闻检索核心代码 . 29 5.4 会员用户登录 . 30 5.4.1 会员用户登录核心代码 . 31 5.5 会员登录后发表评论 . 32 5.51 发表评论核心代码 . 34 5.6 新闻发布页面 . 35 5.6.1 新闻发布核心代码 . 36 5.7 新闻管理页面 . 36 5.71 新闻修改核心代码 . 38 5.72 新闻删除核心代码 . 38 5.8 新闻分类添加 . 39 5.81 新闻分类添加核心代码 . 40 5.9 新闻分类管理 . 40 5.81 新闻分类修改核心代码 . 41 5.82 新闻分类删除核心代码 . 42 第六章 系统测试 . 43 6.1 系统测试目的 . 43 6.2 系统测试的方法 . 43 6.3 系统测试 . 44 6.3.1 系统前台测试 . 44 6.3.2 后台管理测试 . 45 6.4 系统权限核心代码 . 46 6.4.1 用户标识及权限设置代码 . 46 毕业设计(论文)专用纸 第 6 页 第七章 结论 . 47 体会与总结 . 48 谢辞 . 49 参考文献 . 50 附录 翻译原文 . 51 附录二 翻译译文 . 53 毕业设计(论文)专用纸 第 7 页 基于 PHP 的新闻发布系统 摘要 近年来 , 互联网 的各项技术几乎发展成熟, 网络逐渐融入人们的生活。 对于 传统的电视 和 报纸杂志 等传媒方式已经满足不了人们的需求。因此,网络作为传媒的媒介比起传统的媒介更显得出很多优势。 它打破了地域限制, 更实时快捷直观的得到所要浏览的信息,真正使信息得以共享,从而 改变了人们的工作和生活方式。 人们 能够通过网络的新闻发布系统了解更多的新闻和信息, 快速及时的新闻浏览 , 快捷方便的 网络信息查询 ,使网络与人们的生活 更加紧密。 在互联网上的众多网站中 ,新闻发布 系统在各大网站中是不可或缺的系统之一 。 新闻发布系统可以使 新闻的内容 种类更繁多 , 新闻发布更开放,用户也可以通过此平台相互交流互动。因此凸显了新闻发布系统的各项优越性。 本系统 我们采用 PHP 编程语言, MySQL 数据库, Apache 服务器等开发环境,来实现一个功能强大的 新闻发布管理系统 的网站 。 该系统功能强大齐全,例如用户可以对自己的新闻进行发布,浏览其他新闻,对新闻的检索,以及对新闻进行 评论。 几乎可以 满足大部分 用户的 各项 需求。 此系统不仅前台功能强大,而且后台管理系统更强大 。管理员可以对新闻, 新闻分类 等模块进行分块管理。因此, 管理员可以直观快捷的管理网站的各项 事务 ,以便此系统可以正常稳定的运行。 关键词 : 新闻发布系统 , PHP 编程, MYSQL 数据 毕业设计(论文)专用纸 第 8 页 PHP-based News distribution System Abstract In recent years, the technology of Internet is almost mature and the network gradually is integrated into peoples lives. The traditional newspapers and magazines cannot meet peoples needs. Therefore, the network as a medium has many advantages. It broke the geographical constraints and people can get some information quickly. The many sites on the Internet, the news distribution systems are play role in the main site. It can distribute different types of news and users can interact with each other through this platform. We will use PHP programming language, MySQL database, Apache server, such as development environment to achieve a powerful News distribution System The system is powerful and complete, for example, users can publish their own news, browse other news, the news search, and comment on the news. Almost meet the needs of most users. This system has powerful front and back administration system. Administrators can mange news, member and comments. Therefore, administrators can manage the site quickly and conveniently make sure this system can be running smoothly. Key words: News distribution System, PHP, MySQL database 毕业设计(论文)专用纸 第 9 页 前言 研究背景 随着互联网的发展 ,互联网 已经是人们社会生活必不可少的东西。 互联网上的各项功能主要是 通过网站来实现的。 而 新闻发布 系统 在网站中 是 不可 缺少 的功能。传统的网站新闻发布是一种 静态信息发布, 浏览者只是单方面获得网站信息。无法产生互动效果。 而采用基于数据库和动态 网页后 , 用户通过 浏览器 向 Web 服务器 发送 请求后, 服务器解析 PHP文件,然后查询数据库,最后生成一个 HTML的文档。将文档返回前台,并在浏览器中先是网页 。 采用 该 思路 开发的站点 优势有很多。如 方便 管理 和 维护 网站 , 更新数据简单快捷 ; 多用户均可 在线发布新闻, 对 新闻的 检索也是简约直观 。 因此,在 这样的 研究背景 下 , 我们决定 采用 PHP、 MySQL 等 开发环境来 实现 一个 动态新闻发布系统 。 研究意义 新闻 的 网络 化发展 在很大的程度上代替了原有的传播模式, 给人们 对于新闻有了 全新的体验。 系统使 新闻 有序化 , 简洁化 ,让 用户 在 短 时间内 得到自己所要的 新闻信息。 而且 网络新闻将不再 是原有的新闻发布模式 , 用户也不会受到 原有的新闻发布 模式 单方面 发布者制约,被动接受发布者的新闻。 同时 用户 可以 通过此系统 发布自己的新闻, 使得新闻更有实时性 , 传播速度快,浏览新闻直观,而且方便查询和管理。不仅如此 用户还可以通过此新闻发布系统进行相互交流。因此新闻的发布系统同时也是个交流的平台。 现在 网络新闻 已经得到了很大的发展 ,网络上的新闻信息量已经相当庞大。 为了使 网站管理人员 管理网站更快捷方便, 我们利用动态技术创建一个新闻发布管理信息系统, 这正是我们研究动态网页的意义。 毕业设计(论文)专用纸 第 10 页 第一章 概述 1.1 实验环境搭配 1.1.1 动态网页编程语言的比较 动态网页编程 的 语言 有很多种我们以最常用的三种为例它们 分别是: PHP、 ASP、JSP, 三者之间的 技术性的比较 如下: PHP( Hypertext Preprocessor) 是一种服务器端 HTML 嵌入式脚本 描述 语言 。其最强大和最重要的特征就是跨平台,面向对象。 它大量地借用了 C 语言、 Java 等 语言的语法 , 并有自己的书写规范 ,简单便于书写程序脚本。 PHP 所有的源码都是开源的 。使用 PHP 是完全免费的, 用户 可以从 PHP 官方站点 获得 PHP 的 源码 。因此,使用 PHP可大大的减少开发所用的成本。 ASP( Active Server Pages) , ASP 的文件就是在普通的 HTML 文件中嵌入 VBScript或是 JavaScript 脚本语言。当客户 请求一个 ASP 文件的时候服务器 就会运行 ASP 中的脚本代码,并转换成标准的 HTML 的文件发送给客户端。 ASP 提供了几个非常有用的内部对象和内部组件,利用他们可以轻松地实现表单上传,存取数据库等功能。因此, ASP几乎可以实现任何功能。 JSP( Java Server Pages) , 它是 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。 JSP页面由 HTML代码和嵌入其中的 Java代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面 返回给客户端的浏览器。 Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成。 JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 综上 可知, ASP、 PHP、 JSP 三者各有利弊。但是总体的工作原理大致相同,都是服务器先接受一个请求,然后服务器找到了相应动态网页,接着执行程序的代码生成静 毕业设计(论文)专用纸 第 11 页 态网页,最后将网页发送给客户端浏览器。 三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加软 件支持。 只要一个浏览器就可以完成。 三者中, PHP 的语言优势有很多:安全性高, 支持广泛的数据库,跨平台特性,执行速度快免费,内嵌 Zend 加速引擎,性能稳定快速。因此, PHP 被很多网格开发者选择学习和使用。 1.1.2 PHP 简介 PHP 已经成为 全球最普及的互联网开发语言之一, PHP 在 2004 年获得了最佳编程语言的称号,到 2010 年, PHP 发展一直呈现稳步上升趋势。 至今已被 2000 多万个网站采用 。 在 TIOBE 世界编程语言排行 调查报告中, PHP 技术在全球互联网领域的应用 将会位居 第一。 PHP-Hypertext Preprocessor,是一种易于学习和使用的服务器端脚本语言,是生成动态网页的工具之一。它是嵌入 HTML 文件的一种脚本语言。 PHP 是完全免费的,官方网站就可以轻而易举的获得源码。而且它们支持的平台也很多。综合分析,我们总结 PHP 的优点有: ( 1)安全性高 ; ( 2)支持广泛的数据库 ; ( 3)跨平台特性 ; ( 4)易学性 ; ( 5)执行速度快; ( 6)模块化; ( 7)支持面相对象过程。 1.1.3 MYSQL 数据库技术简介 MySQL 是瑞典的 MySQL AB 公司开发的一个 小型 关系 型 数据库系统。 它 适用于网络开发 , 其 数据库可在因特网上 随时共享。 MySQL 功能强 大 、 运行速度快、可靠性高、安全 等优点。 经过分析总结我们总结了 MySQL 数据库特性如下: 毕业设计(论文)专用纸 第 12 页 ( 1)使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 ; ( 2)支持 AIX、 FreeBSD、 HP-UX、 Linux、 Mac OS、 Novell Netware、 Solaris、Windows 等多种操作系统 ; ( 3)为多种编程语言提供了 API; ( 4)支持多线程,充分利用 CPU 等硬件 资源 ; ( 5)优化的 SQL 查询算法, 查询速度 高 ; ( 6) 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持 。 ( 7)提供 TCP/IP、 ODBC 和 JDBC 等多种数据库连接途径 ; (8) 提供用于管理、检查、优化数据库操作的管理工具 ; (9) 可以处理大型数据库 。 1.1.4 PHP+MySQL+Apache 组合 接下来我们采 用 PHP+MySQL+Apache 组合 ,它稳定性 好 、功能 强大 、 硬件资源占用小等特点。占用很小的资源却能 承受大量用户同时浏览的压力,满足 新闻发布 系统的需求 。 Mysql 支持多线程、多用户的关系数据库管理系统 。而且和 PHP 一样源代码开放、高性能、跨平台等特性。因此,它和 PHP 是一个很好的组合 ,在接下来的新闻发布系统的开发中我们将采用这一个黄金组合。 1.2 B/S系统结构 及工作原理 新闻发布系统 是基于 B/S 结构下的 WEB 信息系统。客户端只需要安装浏览器,即可通过 HTTP 协议向 Apache 服务器提出请求 , 服务器站点收到请求后, 解析 PHP 文件,然后连接数据库,执行指定的 SQL 语句。查询到的结果后返回到 Apache 服务器。 Apache服务器根据数据 库中返回来的数据生成 HTML 文档的形式返回给浏览器。 用户的浏览器的到的是个静态的网页。 详细的 结构如图 1-1 所示: 毕业设计(论文)专用纸 第 13 页 图 1-1 B/S 结构原理图 B/S 结构比 C/S 有着更好的优势 , 是对于客户端用户要求低。用户的 操作系统 只要有浏览器即可。在 B/S 系统 工作 中,用户可以通过浏览器向网络上的服务器发出请求。B/S 结构 使得客户端更简化 , 甚是简化到比手机还小的终端。大部分的工作都是在服务器上完成。综合 B/S 体系 各个方面我们总结一下几个 优点: (1) B/S 相对于 C/S 的维护工作量大大减少了。 (2) B/S 相对于 C/S 总体拥有成本降低 了。 综上所述,无论从硬件、软件及维护工作等方面权衡, B/S 结构都能降低整个网络结构体系的总体 成本。 因此,我们采用 B/S 结构 进行开发新闻发布系统。 毕业设计(论文)专用纸 第 14 页 第二章 需求分析 2.1 设计构思 新闻发布系统 (News Release System or Content Management System)又叫做内容管理系统 CMS( Content Management System),是一个基于 网络的 新闻 发布和 管理的管理系统 ,它 是基于 B/S 模式的系统 ,本系统可以 几乎完成新闻发布的所有功能 。 随着网络 新闻发布系 统的 使用 , 网络充当了一个 比电视报纸更 重要的新闻媒介的功能。 我们对此系统的设计便是实现这个系统功能的前提。 首先是 提供一个发布的功能和新闻 分类 管理 。 其次 ,实现用户交互 ,用户可以参加一些 问卷 调查和 对 新闻的评论 。 最后,要实现对这个新闻发布的综合管理,方便管理员的管理。 要实现这个庞大的功能, 我们先对用户权限进行划分,不同的用户有着不同的权限。 游客 浏览者(没有注册 为会员 ) 进入到 新闻发布系统的主页面, 可以浏览 所有的相关新闻。 但是没有任何特殊的特权。 对于 已经 注册的浏览者(会员)不仅拥有 游客 浏览者的全部功能, 还可以 对某个新闻进行发表评论 ,查看他人的评论等。最后是管理员,他拥有 权限 最高 ,他可以管理所有的新闻, 以及新闻分类 。 可以增加和修改新的新闻分类,也可以增加和修改新的新闻内容。 2.2 功能设计 新闻发布系统分为 前台和后台 两个部分。 对于前台操作者来说, CMS 系统的前台页面是他们 可以看见 的部分,所以要求前台的操作尽可能 直观方便 。 用户 打开 前台的页面就可轻松地 浏览相关新闻 ,可以进直接对新闻进行查询,直接浏览所查询的相关新闻。同时可以针对新闻的不同分类,浏览不同类型的新闻 。 会员 用户可以通过 登陆界面 登陆 。 会员成功登陆 后,将有 评论 权限 和查看评论权限 , 当用户浏览一些新闻以后需要对新闻进行评论时,只要进入新闻相应的评论版中添加自己要评论的内容,即可成功添加。同时返回可以继续浏览其他人的评论。 前台的基本功能如图 2-1 所示: 毕业设计(论文)专用纸 第 15 页 图 2-1 前台功能图 对于后台 管理 , 管理员 不仅拥有操作前台所有功能的权限,还可以进行 网站的全面 管理 。 具体来说,在新闻 管理中, 管理员可以设定和添加没有的新闻分类,以便在前台的网页中显示新闻的分类,同时也可以对已有的新闻分类进行修改。保证网站的动态性。其次,管理员就是对新闻的文章进行 综合管理 。 后台的基本功 能如图 2-2 所示: 图 2-2 后台功能图 毕业设计(论文)专用纸 第 16 页 第三章 数据库设计 数据库设计是 CMS 系中数据库 设计的核心 。 数据库设计直接决定 CMS 系统的 功能流程和运行系统的效率。因此,数据库的设计则需要深思熟虑 。 务求做到兼顾新闻发布系统的各项功能。 3.1 数据库需求分析 3.1.1 功能 流程 游客 浏览主页 选择 要浏览新闻游客浏览新闻游客浏览返回 会员 登录 系统会员浏览新闻 会员 发表 评论 会员查看评论会员退出系统 3.1.2 需求总结 经上述业务流与 数据库需求总结, 数据库设计如下的数据项: ( 1) 新闻 发布 :新闻 ID、题目、内容、 发布时间、作者、 来源 、 点击次数 、 新闻分类 。 ( 2) 会员信息:会员账户 、 登录密码 、 真是 名字 、 性别 、 年龄 、 电话 。 ( 3)管理员信息:管理员 ID、 登录 账户 、 密码 。 ( 4) 评论信息:评论 ID、 新闻 ID、评论内容、 评论人 、 评论时间。 ( 5)新闻类别:类别 ID、 类别名称。 3.2 数据库概念设计 3.2.1 数据库实体 ( 1)新闻实体: 对于新闻实体我们根据需要对其设计了: 新闻 ID、题目、内容、发布时间、作者、 来源 、 点击次数 、新闻分类 这 8 个字段。 如图 3-1 所示: 毕业设计(论文)专用纸 第 17 页 图 3-1 新闻实体图 ( 2) 会员 实 体: 对于会员实体我们设计了会员账户 、 登录密码 、 真是名字 、 性别 、年龄 、 电话这个 6 个字段。 如图 3-2 所示: 毕业设计(论文)专用纸 第 18 页 图 3-2 会员 实体图 ( 3) 管理员 实体: 对于管理员实体,我们根据需求设计了管理员 ID、 登录账户 、密码这个 3 个字段。 如图 3-3 所示: 图 3-3 管理员 实体图 ( 4) 评论 实体: 对于评论实体我们根据用户需求设计 评论 ID、 新闻 ID、评论内容、评论人 、评论时间 这个 5 个字段。 如图 3-4 所示: 毕业设计(论文)专用纸 第 19 页 图 3-4 评论 实体图 ( 5) 新闻类别 实体:对新闻类 别的实体分析后,我们设计了新闻类别 ID 和新闻类别的名称这 2 个字段。 如图 3-5 所示: 图 3-5 新闻类别 实体图 3.2.2 数据库实体 E-R 图 如下图 3-6 所示数据库实体 E-R 图, class, article, comment 三个表存在一定的关系,他们分别是一对多的关系。其中 article 和 comment 两个表之间存在外键约束。 详细如图所示。 毕业设计(论文)专用纸 第 20 页 图 3-6 数据库实体 E-R 图 3.3 数据库逻辑设计 3.3.1 表 article 字段名 类型 长度 是否为空 主键 外键 备注 描述 Id BIGINT 10 No Yes No +1 新闻编号 Title CHAR 200 No No No 作者 标题 Content VARCHAR 4000 No No No 新闻内容 Time CHAR 60 No No No 发布时间 Writer CHAR 50 Yes No No 作者 Come CHAR 50 Yes No No 新闻来源 Clicktime BIGINT 10 No No No 点击次数 Classname CHAR 50 No No No 类别名称 3.3.2 表 user 字段名 类型 长度 是否为空 主键 外键 备注 描述 毕业设计(论文)专用纸 第 21 页 Username CHAR 50 No Yes No 会员账户 Password CHAR 50 No No No 登录密码 realname CHAR 50 No No No 真实 姓名 Sex CHAR 10 No No No 性别 Age INT 10 No No No 年龄 Tel INT 10 No No No 电话 3.3.3 表 admin 字段名 类型 长度 是否为空 主键 外键 备注 描述 Id BIGINT 10 No Yes No +1 账户 id username CHAR 50 No No No 账户 Password CHAR 50 No No No 登录密码 3.3.4 表 comment 字段名 类型 长度 是否为空 主键 外键 备注 描述 cid INT 20 No Yes No +1 评论 编号 aid BIGINT 20 No No Yes 新闻编号 Author CHAR 20 No No No 评论人 Content VARCHAR 400 No No No 评论 内容 Date DATE No No No 评论时间 3.3.5 表 class 字段名 类型 长度 是否为空 主键 外键 备注 描述 Classid BIGINT 10 No Yes No +1 分类编号 Classname CHAR 50 No No No 分类名称 毕业设计(论文)专用纸 第 22 页 第四章 功能模块设计 4.1 功能 模块划分 根据新闻发布 系统应具有 的 基本 功能以及 参考 用户 对新闻发布系统 的要求我们将这个新闻发布系统进行功能模块上的划分 , 以方便逐个功能的实现。同时用户在使用中也非常方便,直观 。因此 经过 我们反复的 分析 和设计,我们将这个新闻发布系统分为 7大功能模块。详细的功能模块名称如下 : ( 1) 新闻 分类 浏览模块 ( 2) 新闻检索模块 ( 3) 会员登陆后 发表 新闻 评论模块 ( 4) 管理员 后台 新闻发布模块 ( 5) 管理员 后台 新闻管理模块 ( 6) 管理员 后台 新闻 类别添加 模块 ( 7) 管理员 后台 新闻 类别 管理模块 4.2 系统模块功能 描述 4.2.1 新闻 分类 浏览 模块 浏览新闻 是所有用户都具有的最 基本 的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论