首页 2014届大学本科毕业设计毕业论文_精选100_基于PHP论坛的设计与实现

2014届大学本科毕业设计毕业论文_精选100_基于PHP论坛的设计与实现

举报
开通vip

2014届大学本科毕业设计毕业论文_精选100_基于PHP论坛的设计与实现2014届大学本科毕业设计毕业论文_精选100_基于PHP论坛的设计与实现 咔嚓大学 基于PHP论坛的设计与实现 The Design and Realization Based on PHP Forum 学生姓名 XXX 所在专业 所在班级 申请学位 指导教师 YYY 职称 副指导教师 职称 答辩时间 目 录 咔嚓大学本科生毕业论文(设计)课题申请表 (指导教师用表)(使用届别: 届) 课题名称 ?科研项目(?国家级 ?省部级 ?厅级 ?市局级 ?校级) ?生产或社会实际 ?教学 ?自拟...

2014届大学本科毕业设计毕业论文_精选100_基于PHP论坛的设计与实现
2014届大学本科毕业设计毕业论文_精选100_基于PHP论坛的设计与实现 咔嚓大学 基于PHP论坛的设计与实现 The Design and Realization Based on PHP Forum 学生姓名 XXX 所在专业 所在班级 申请学位 指导教师 YYY 职称 副指导教师 职称 答辩时间 目 录 咔嚓大学本科生毕业论文(设计)课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 申请表 (指导教师用表)(使用届别: 届) 课题名称 ?科研项目(?国家级 ?省部级 ?厅级 ?市局级 ?校级) ?生产或社会实际 ?教学 ?自拟 课题来源 课题 *说明: 情况 课题类别 ?论文 ?设计 第几次立项 ?1次 ?2次 ??3次 难易程度 ?较难 ?适中 ?简单 工作量 ?较大 ?适中 ?较小 面向 学院 专业 专业 同一课题多名学?主要内容不同 ?内容同参数不同 ?分别做课题的不同部分 生分工情况 指导教师姓名 所在单位(部门) 职称 主 要 研 究 内 容 目 标 和 要 求 指导 小组 审题 意见 学院 领导 小组 意见 选题 学生 *注:1、“说明”栏填写毕业论文(设计)课题所来自的科研项目名称、或企事业单位名称或教学内容。2、此表一式三份,指导教师、选题学生、学院各存一份; 目 录 咔嚓大学本科生毕业论文(设计)开题报告 (学生用表)(使用届别: 届) 毕业论文 (设计)题目 学 号 姓名 学院 专业 指导教师 所在单位、部门 职称 (1、内容包括:?研究的目的和意义;?国内外研究(设计)发展状况、发展水平与存在问题;?研究(设计)主要内容、预期目标及拟解决的关键问题;?研究(设计) 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 与技术路线;?研究(设计)方法;?参考文献。2、撰写要求:字体为5号宋体字,字数不少于1500字。) 目 录 工作 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 进程表 时 间 工 作 内 容 选题是否合适: ?是 ?否 选题是否合适: ?是 ?否 方案是否可行: ?是 ?否 方案是否可行: ?是 ?否 进程是否合理: ?是 ?否 进程是否合理: ?是 ?否 任务能否完成: ?能 ?不能 任务能否完成: ?能 ?不能 指导教师(签字) 指导小组组长(签字) 年 月 日 年 月 日 目 录 咔嚓大学本科生毕业论文(设计)中期报告 (学生用表)(使用届别: 届) 学号 姓名 学院 专业 论文(设 计)题目 简述开 题 以来所 做 的具体 工 作和取 得 的进展 或 成果 存在的 具体问 题 下一步 工 作具体 设 想与安 排 指导教 师 意见 指导教师签名: 年 月 日 目 录 咔嚓大学本科生毕业论文(设计)答辩小组意见 (答辩小组用表)(使用届别: 届) 学号 姓名 学院 专业 毕业论文 (设计)题目 答辩时间 答辩地点 答 辩 提 问 录 记录员: 年 月 日 答辩 小组 评语 及 成绩 评定 成绩(百分制): 答辩小组组长: 年 月 日 目 录 教师对本科生毕业论文(设计)评语的主要评价方面及评价内容 教师 评价方面 评价内容 类别 学生在论文(设计)过程中的治学态度、工作精神 学生掌握基础理论和专业知识的扎实程度 过程 学生综合运用所学知识和专业技能分析和解决问题的能力 研究方法的科学性;技术线路的可行性;设计方案的合理性 指 毕业论文(设计)期间的出勤情况;中期报告的撰写情况 导 教 论文(设计)的整体结构是否符合撰写规范, 师 论文(设计)质量 是否完成指定的论文(设计)任务(包括装订及附件), 论文(设计)的理论意义,对解决实际问题的意义 论文(设计)水平 论文的观念是否有新意,设计是否有创意, 论文书、设计 说明书 房屋状态说明书下载罗氏说明书下载焊机说明书下载罗氏说明书下载GGD说明书下载 所体现的整体水平 论文(设计)的整体结构是否符合撰写规范, 论文(设计)质量 是否完成指定的论文(设计)任务(包括装订及附件), 评 阅 论文(设计)的理论意义,对解决实际问题的意义 教 师 论文(设计)水平 论文的观念是否有新意,设计是否有创意, 论文书、设计说明书所体现的整体水平 毕业论文(设计)的基本要点和见解的叙述情况 答辩过程 对答辩问题的反应、理解、表达情况 学生答辩过程中的精神状态 答 论文(设计)的整体结构是否符合撰写规范, 辩 论文(设计)质量 小 是否完成指定的论文(设计)任务(包括装订及附件), 组 论文(设计)的理论意义,对解决实际问题的意义 论文(设计)水平 论文的观念是否有新意,设计是否有创意, 论文书、设计说明书所体现的整体水平 注:不同的专业(方向)、不同的研究(设计)课题,根据其特点和侧重,教师评价的内容可进行必要的补充和相应的调整。 目 录 咔嚓大学本科生毕业论文(设计)评阅教师意见 (评阅教师用表)(使用届别: 届) 学生学号 姓名 学院 专业 毕业论文 (设计)题目 评 阅 教 师 评 语 及 评 定 成 绩 成绩(百分制): 评阅教师签名: 年 月 日 目 录 咔嚓大学本科生毕业论文(设计)指导教师意见 (指导教师用表)(使用届别: 届) 学生学号 姓名 学院 专业 毕业论文 (设计)题目 指 导 教 师 评 语 及 评 定 成 绩 成绩(百分制): 指导教师签名: 年 月 日 目 录 咔嚓大学本科生毕业论文(设计)成绩评定表 (学院答辩委员会用表)(使用届别: 届) 学生学号 姓名 学院 专业 毕业论文 (设计)题目 总评 指导教师 评阅教师 答辩小组 等级 分数成绩 (X) (X) (X) 成绩 123( T ) 成绩评 定 学院答 辩委员 会 审核意 见 答辩委员会主席签章: 年 月 日 注:1、成绩评定一栏中,T= X1,X2,X3,X1=指导教师百分制成绩×25%;X2=评阅教师百分制成绩×25%; X3= 答辩小组百分制成绩×50%。 2、等级成绩:总评分数成绩四舍五入取整之后,90分及以上为“优秀”、80―89分为“良好”、70―79分为“中 等”、60―69分为“及格”、59分以下为“不及格”。 目 录 目 录 设计总说明 ............................................................................................................................ I INTRODUCTION .............................................................................................................. II 1 绪论 .............................................................................................................................. 1 1.1 设计的目的和意义 .............................................................................................. 1 1.2 设计的研究现状 .................................................................................................. 1 1.3 设计的主要内容 .................................................................................................. 2 1.4 设计的基本思路 .................................................................................................. 2 2 相关技术和平台概述 .................................................................................................. 3 2.1 WAMP 架构 酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf 简介 ........................................................................................................ 3 2.2 Web服务器软件Apache ......................................................................................... 3 2.3 PHP技术 .................................................................................................................. 4 2.4 MySQL数据库技术 .................................................................................................. 5 2.5 B/S三层架构 .......................................................................................................... 6 3 系统分析 ...................................................................................................................... 7 3.1 可行性分析 .......................................................................................................... 7 3.2 需求分析 .............................................................................................................. 7 4 系统概要设计 ............................................................................................................ 10 4.1 功能模块设计 .................................................................................................... 10 4.1.1 前台模块 ..................................................................................................... 11 4.1.2 后台模块 ..................................................................................................... 12 4.2 数据库设计 ........................................................................................................ 12 4.2.1 数据库分析 ................................................................................................. 12 4.2.2 数据库概念设计 ......................................................................................... 13 4.2.3 创建数据库和数据表 ................................................................................. 15 5 系统详细设计与实现 ................................................................................................ 19 5.1 数据库的连接 .................................................................................................... 19 5.2 论坛系统功能的实现 ........................................................................................ 19 5.2.1 用户注册的实现过程 ................................................................................. 19 5.2.2 论坛分类的实现过程 ................................................................................. 20 5.2.3 帖子浏览的实现过程 ................................................................................. 21 5.2.4 帖子发布的实现过程 ................................................................................. 22 5.2.5 帖子回复的实现过程 ................................................................................. 22 5.2.6 管理员权限的设置 ..................................................................................... 23 目 录 5.2.7 帖子顶贴的设置 ......................................................................................... 23 6 论坛系统测试 ............................................................................................................ 25 6.1 链接测试 ............................................................................................................ 25 6.2 功能模块测试 .................................................................................................... 25 6.3 验证功能模块测试 ............................................................................................ 26 7 总结 ............................................................................................................................ 26 鸣 谢 ................................................................................................................................. 28 参考文献 ............................................................................................................................. 29 设计总说明 设计总说明 进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件。 BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”,BBS在国内一般称作网络论坛。BBS作为一种新兴的网络版应用软件,在交友互动、商业、新闻报道上都有广泛的应用前景,1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago,此乃最早的一套BBS系统。国内大约是从1991年开始,开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。 现在互联网已经成为人们快速获取、发布和传递信息的重要渠道,论坛是 Internet 上最常用的交流工具之一,越来越多的人开始把论坛作为他们获取信息的段和交流的平台。 在计算机飞速发展的今天,BBS已经成为人们网上交流的重要平台,因此对BBS的研究是十分必要的。 在这个数字化时代,全世界有千千万万个网站昼夜不停地提供服务。PHP+MySQL 这一对 Web 应用开发的利器,在从电子商务到网络办公,从邮件服务 到大型综合网站的广泛应用,都显示了其强大的功能。 本毕业设计就是基于 PHP+MySQL 的论坛设计,以 PHP Expert Editor 作为开发基 础,采用 WAMP 架构,辅用 CSS 技术,并通过使用模板技术,在 Apache 本地服务器上实现了较完整的论坛功能。PHP 语言执行效率高并易于同数据库连接,MySQL 数据库 访问速度快、稳定性好。整个论坛采用基于Internet的三层模型,即常见的B/S(Browser/Server)结构,也可以称为B/W/S(Browser/Web/Server),服务器为Web服务器和数据库服务器。 该论坛主要用来为用户提供一个计算机程序语言的交流环境,学习资料的共享, 各类计算机程序技术的讨论,问题的求助都可以在论坛上发布,该论坛主要包括前台和后台两大部分, 前台主要实现用户管理和帖子管理, 前者包括用户注册、 用户登录、 用户密码找回、用户信息修改等;后者包括帖子内容显示、帖子发布和回复信息等。后台主要实现管理员对论坛系统的维护。 关键词:论坛;PHP;Apache;MySQL I INTRODUCTION INTRODUCTION stInto the 21 century, computer technology rapidly towards network based, integrated direction. Traditional stand-alone application software is gradually left the stage, replaced by support network to support multiple data (multimedia) version of a new generation of Web applications. BBS English full name is the Bulletin Board System, is the “Chinese translation of electronic Bulletin Board”, BBS in domestic generally called network BBS. BBS as one kind of emerging network version of the software application, in dating interactive, business, news reports and has wide application prospect, Chicago in the United States in 1978developed a set based on the 8080 chip CBBS/Chicago, this is the first of a set of BBS system. China is about to begin from 1991, began the first BBS station. Through the development for a long time, until 1995, along with the computer and its peripherals to depreciate considerably, BBS was gradually known by people. 1996 is developing at an amazing speed. Nowadays the Internet has become an important channel for people to gain, publish and transfer information on the Internet, BBS is one of the most common communication tools, more and more people make BBS as the platform to obtain information and communicate with each other. The rapid development of computer networks today, BBS has become an important platform for online communication, so BBS research is very necessary. This design is based on the BBS+MySQL, using PHP Expert Editor as exploited foundation, adopting WAMP architecture, complementary with CSS technique and through the use of template technology, it realized almost completely BBS functions in Apache local server. The efficiency of PHP language implementation is high and it is easy to connect with MySQL database access which is fast speed and good stability. This BBS is mainly used to provide users a computer programming language environment to exchange, share information and all kinds of discussion about computer program technology and questions can post on the BBS. This BBS includes two parts: forestage and backstage. Forestage is mainly used to realize user management, including the user registration, user login, user password retrieved and user information modification etc. Backstage mainly realizes the BBS system administrator for maintenance. KEYWORDS: BBS;PHP;Apache;MySQL;Template II 咔嚓大学2014届本科生毕业设计 基于PHP论坛的设计与实现 毕业设计说明书 1 绪论 1.1 设计的目的和意义 随着 Internet 技术的快速发展,人们己经不单单只从电视、报纸上得到需要的新闻报道,Internet 传播介质的出现使得人们能够从更加丰富的网络资源中得到自己想要的信息。 论坛是Internet上最常用的交流工具之一,越来越多的人开始把论坛作为他们获取信息的手段和交流的平台。 在论坛上,人会根据自己的学识、经验发表意见或提出解决问题的方法。通过论坛可以随时获得各种最新信息;也可以通过论坛与别人讨论 计算机软件、硬件、Internet、多媒体、程序设计以及生物学、医学等各种有趣的话题;还可以利用论坛系统来发布征友、廉价转让、招聘人才、求职应聘等启事;更可以召集亲朋好友到聊天室内高谈阔论。现在很多商务网站也开始对论坛重视了起来, 纷纷在自己的网站上开设论坛,作为与网民交流的空间,以此来吸引客户,服务客户。由此可见,研究论坛系统的开发具有重要的实践意义。 1.2 设计的研究现状 随着互联网技术的发展,现在的论坛系统功能越来越多,不但可以发帖回帖,还可以上传视频和提供下载等等。有的论坛系统为了达到更好的用户体验,在实现了基本的讨论功能后,设计了很多个性化的功能,比如在论坛中设置了“个人空间”“加好友”等功能,还有的论坛系统,通过提供免费的空间来增加论坛的发帖量。 当然有些论坛系统的个性化功能设计新颖,也非常有使用价值,但有些个性化功能的设计却既没有多 论坛都因盲目重视功能,忽略了性少使用价值,同时又大大的影响了系统的性能。很多 能,系统运行一段时间后都因性能问题不得不更换其他论坛系统,每更换一次,论坛的数据就会丢失。由此可见,实现一个论坛系统如果只重视功能而忽略性能,破坏的影响是非常严重的。去掉系统不必要的个性化功能,实现一个性能好、速度快、安全性高并且基本功能完善的论坛系统是很必要的。 1 咔嚓大学2014届本科生毕业设计 1.3 设计的主要内容 论坛系统的目的提供的是一个交流平台,为广大爱好者提供交流经验,探讨问题的社区。因此,论坛最基本的功能首先是发表主题。其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者的信息,系统还需要提供用户注册和登录的功能。 用户使用论坛有一定的流程:用户登录进入论坛(一般为游客,有时还要注册为会员),就某个话题(帖子的主题)展开讨论,通过发帖功能发布新的话题, 通过回帖功能回复已有的话题,通过搜索功能查找已有的话题。管理员通过管理功能创建、编辑、删除论坛的版面,管理注册的用户,管理帖子等。只有注册的用户登录后才能发表和回复主题,浏览者(游客)只能浏览主题信息。根据用户的需求及上面的分析,论坛应该具备以下功能:显示各论坛类别及版面,查看版面下的所有根帖、查看自己发表的帖子、搜索帖子、查看根帖 内容、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理、用户管理和用户注册。 1.4 设计的基本思路 首先,是进行系统可行性分析和系统的初步设计规划。其次进行需求调研,主要通过对国内外各种大型论坛进行亲身体验、现有开源论坛系统的研究及进行网上调查与提问等方式得到需求,在此基础上进行需求分析以确定需求是否值得设计开发,完成业务逻辑分析与设计,确定系统的功能模块等。接着准确地进行数据库设计、界面设计以实现系统 所要达到的规划目标。最后进行系统部署与测试,以改进系统性能。 2 咔嚓大学2014届本科生毕业设计 2 相关技术和平台概述 2.1 WAMP架构简介 1998年,Michael Kunze为德国计算机杂志写了一篇关于Free软件如何成为商业软件替代品的文章,创建了LAMP这个名词,Linux操作系统、Apache网络服务器、MySQL数据库和PHP(Perl或Python)脚本语言组合而成的—— LAMP(四种技术的开头字母组成),随之LAMP技术成为了开源软件业的一盏真正的明灯。 随着互联网开源潮流的迅速发展,全球IT业正迎来一个新的发展格局成长期, 而LAMP所代表的开源软件以其开放性、低成本、安全性、适用性以及可靠的性能,正对传统软件、硬件和系统集成商产生巨大的冲击,同时,也给创新型IT企业、程序开发者创造了前所未有的机遇。 中 )。国开源软件推进联盟主席陆首群说,LAMP也可以派生出WAMP(W代表Windows操作系统事实上,PHP与.Net是并存的,PHP也可以和Windows捆绑在一起,两者并没有冲突,可以因地致宜地使用开源与闭源混合架构。本系统就是采用WAMP架构进行论坛程序的 [1]设计与实现。 WAMP 架构易于开发、安全性高、适用性强、性能可靠、更新速度快、成本低, WAMP被许多开发者视为“黄金组合”。由于Apache是免费的,此外还有免费数据库MySQL服务器和开源语言 PHP共同构建了广受追捧的“WAMP(LAMP)”套件,性价比极高,因此赢得了网站开发人员 的广泛青睐。 在今天,全球已有2000万个网站使用PHP,包括最流行的雅虎、Google、百度,也包括像汉莎航空电子订票系统、德意志银行的网上银行、华尔街在线的金融信息发布系统,甚至军队系统这类五花八门和苛刻的环境。随着社区BBS及Web2.0应用的普及,以及国内PHP技术支持者的不断增加,据PHP China资料统计在中国前200名的网站中有61%的采用了WAMP技术。业内人士预计,在服务器平台及软件方面,WAMP市场占有率将在未来两年内取得更高的市场分额。 2.2 Web服务器软件Apache 随着网络技术的普及、应用和Web技术的不断完善,Web服务已经成为互联网上重要的服务形式之一。原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代。本章将重点介绍Web面临的主要威胁,并结合在Linux中使用最多的Apache服务器,介绍进行Web服务器安全配置的技巧。 Apache源自于NCSA(University of Illinois, Urbana-Champaign)所开发的httpd。在1994年中期,许多Web主管自行发展自己的外加功能及修正码。一小批的Web主管通过私人电子邮件聚集在一起来实现他们的改变(以“patches”,即补丁的形式出现)。在1995年2月底,八位核心贡献者成立原始的Apache组织(取自A PAtCHE),1995年 3 咔嚓大学2014届本科生毕业设计 4月,Apache 0.6.2公布。 在1995年5月到7月,一个新的服务器架构被开发出来(程序名为Shambhala),包含了模块结构及API。这个服务器架构是基于存储池的存储器配置及要调整的预设分支处理模式开发的。这个开发群体在7月份将此服务器架构转换到新的服务器上,并为Apache 0.7.x新增特色,于8月推出了Apache 0.8.8。在一年之内,Apache服务器超过了NCSA的httpd成为Internet上排名第一的服务器。 Apache的强项是极大的市场占有率:Apache是今天网际网络金字招牌第一号,远远将竞争者抛在后面。特别是,Apache市场占有率表现出几个使对方望尘莫及的优势: (1) 起源于HTTP协议——降低了用户加入协议来支援新的应用软件的门槛; 给UNIX/Linux带来生机——Apache走到哪里,UNIX/Linux就走到哪里; (2) (3) 支援厂商的支持,为Apache提供的工具/模块持续成长。 特别是IBM宣布将把Apache作为其WebSphere应用服务器的一部分,这一轰动的 [2]宣布被商业报纸称为是开放源代码软件的一次突破。 2.3 PHP技术 PHP是一种服务器端、跨平台、HTML嵌入式的脚本语言。其实,它和大家所熟知的ASP一样,是一门常用于Web编程的语言。PHP酝酿于1994年,1995年发布其第一个公开版本。PHP是一种免费软件,它能运行在包括Windows、Linux等在内的绝大多数操作系统环境中,常与免费Web服务软件Apache和免费数据库Mysql配合使用于Linux平台上,具有最高的性能价格比,号称“黄金组合”。也许PHP最强大和最重要的特征是它的数据库支持,目前其支持范围覆盖了包括Oracle、Sybase、MySQL、ODBC等在内的大多数常见数据库。使用它编写一个含有数据库功能的网页程序变得十分简单。 PHP发展到PHP 3.0的时候有相当长的一段稳定时期,因此很多PHP应用仍然以PHP3为扩展名,现在的系统大多已经逐渐升级到PHP 4.0以上,使用PHP作为扩展名;而PHP与Apache组合使用时,通常会使用PHTML为扩展名,因此,我们在网络上很容易辨别PHP系统。 PHP的功能特点: (1) 快速。PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页比CGI、Perl和ASP更快,这是它的第一个突出的特点。 (2) 具有很好的开放性和可扩展性。PHP属于自由软件,其源代码完全公开,任何程序员为PHP扩展附加功能非常容易。 (3) 数据库支持。PHP支持多种主流与非主流的数据库,如:、Adabas D、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、MySQL、Microsoft SQL Server、Solid、Sybase、ODBC、oracle、oracle 8、PostgreSQL等。其中,PHP与MySQL是现在绝佳的组合,它们的组合可以跨平台运行。 4 咔嚓大学2014届本科生毕业设计 (4) 面向对象编程。PHP提供了类和对象。为了实现面向对象编程,PHP4及更高版本提供了新的功能和特性,包括对象重载、引用技术等。 (5) 版本更新速度快。与数年才更新一次的ASP相比,PHP的更新速度就要快得多,因为PHP每几周就更新一次。 (6) 具有丰富的功能。从对象式的设计、结构化的特性、数据库的处理、网络接口应用、安全编码机制等,PHP几乎涵盖了所有网站的一切功能。 (7) 可伸缩性。传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。 易学好用。学习PHP的过程非常的简单。与Java和Perl不同,你不必把头埋进(8) 100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。 (9) 功能全面。PHP包括图形处理、编码与解码、压缩文件处理、XML解析、支持HTTP的身份认证、Cookie、POP3、SNMP等。你可以利用PHP连接包括Oracle,MS-Access, [3]。Mysql在内的大部分数据库 2.4 MySQL数据库技术 MySQL数据库概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB 公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体成本而选择了MySQL作为网站数据库。 MySQL的特性: (1) 核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活的为用户提供服务,而不用浪费过多的体统资源。 (2) 可运行在不同的平台上。 (3) 它有一个非常灵活且安全的权限和口令系统,当客户与一个服务器链接时,它们之间所有的口令传送被加密,而且它允许基于主机的认证。 (4) 它拥有一个非常快速的基于线程的内存分配系统,而且没有内存漏洞,所以可以 不断地使用而不用担心其稳定性。事实上,它的稳定性足以应付一个超大规模的数据库,如跨国公司的处理流程。 (5) PHP的强力支持。PHP中提供了一整套的MySQL函数,用来对MySQL进行支持。 5 咔嚓大学2014届本科生毕业设计 与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体成本。相对说来,MySQL内定最大连结数为100个使用者。但是,我们绝对不可以用一个程序的内建设定来判断它的效能。到目前为止,我 [4]们还没听说过使用MySQL的较大而且访问频繁的网站上的用户有任何抱怨。 2.5 B/S三层架构 在B/S系统中,用户可以通过浏览器向分布在网络上的服务器发出请求,B/S结构极大地简化了客户机的工作,客户机只要安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。 B/S三层体系结构下,表示层、功能层、数据层被割成三个相对独立的单元。 在 第一层(表示层)Web浏览器:在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后通过HTTP协议将数据传送给客户端,客户机接受传来的网页文件,并将其显示到Web浏览器中。 第二层(功能层)具有应用程序扩展功能的Web服务器:在功能层中包含系统的事物的处理逻辑,位于服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,等数据库服务器将处理结果提交给Web服务器后,再由Web服务器传回客户端。 第三层(数据层)数据库服务器:在数据层中包含数据处理逻辑,位于数据库服务器端。它的任务是接受Web对数据库操作的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。在B/S结构下,整个系统的管理、资源分配、数据库操作、业务逻辑部件的管理及动态加载等工作都集中于应用服务器。同时,由于工作集中,可以降低客户机的管理难度及客户机配置。仅仅提高应用服务器和数据库服务器的品质,就可以提高整个系统的运行效率,从而有效地降低了应用系统的部署与管理的 [5]难度。 6 咔嚓大学2014届本科生毕业设计 3 系统分析 3.1 可行性分析 可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。这是保证正确投资的必要工作,从项目的审批程序上看这也是必不可少的一步。信息系统开发项目是一项复杂的高科技系统工程,可行性分析也是必不可少的,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有一项三个可行性。 在经济可行性上,由于本系统是基于开源项目,在整个过程使用WAMP架构,而且是免费的,同时在设计过程我参照了相关系统来设计,比如用asp论坛或jsp论坛。当然,系统也将按照软件工程的步骤来完成。 在技术可行性上,该论坛网站的设计主要采用PHP、MySQL技术和工具,整体设计采用软件工程的技术和方法,经过需求分析、总体设计、文档 和代码的编制、模块测试和系统实现几个阶段。 在社会可行性上,论坛在当今非常流行,很大一部分是归结于社会的发展:从互联网最终用户角度来讲,论坛的出现,大规模实现了使用者从实在的世界到网络虚拟的世界;从网站角度来看,所有网站设计出来就是要有人访问和交流。而论坛系统完全符合网站的要求。从这两个方面上可看出,本系统的开发和应用能给互联网带来新的交流工具与Web应用,能促进网络的发展,因此具有很好的社会作用。 从以上三点可以得知,开发此论坛可行的。 3.2 需求分析 需求分析是指理解用户需求,就软件功能与客户达成一致,需求分析的任务就 解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户的需求,具有决策性、方向性、策略性的作用。 本论坛系统的目的是提供一个交流平台,为广大用户提供交流经验、探讨问题的社区。因此,论坛最基本的功能是发表帖子,其次是其他用户根据帖子内容发表自己的看法。此外,为了记录帖子的发表者和回复者的信息,系统还需要提供用户注册和登陆的功能。 用户使用论坛有一定的流程:用户进入论坛,就某个帖子的内容展开讨论,通过发帖功能发表新的话题,通过回帖功能回复已有的话题,通过搜索功能查找已有的帖子。管理员通过管理功能创建、删除论坛的版面,管理注册的用户,管理帖子等等。 只有注册用户在登陆后才能能够发表和回复帖子,浏览者即游客只能浏览帖子信 7 咔嚓大学2014届本科生毕业设计 息。根据用户的需求和上面的分析,论坛需要具备以下功能:显示论坛各个版面和分类、查看分类下所有的帖子、查看自己发表的帖子、查看精华帖、搜索帖子、查看帖子内容、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛分类管理、版面管理、会员管理等等。具体如下: (1) 用户注册登录功能,是针对服务器判定为游客身份的用户可以使用的功能。 (2) 修改个人信息功能,已登陆的注册用户可以在论坛中修改自己的个人信息。 (3) 基本帖子操作功能,基本帖子操作功能包括浏览帖子、发表帖子、搜索帖子和回复帖子。 (4) 论坛管理功能,这个功能主要是针对论坛的管理员,所包含的内容有修改版面信息、修改分类信息、修改用户权限、删除用户、发布公告、管理数据、置顶帖子、删除帖子等。 子类有浏览、发帖、回帖和管理四个方法,浏览方法又可分为列表和查看两个子帖 方法,管理方法又可分为编辑、删除、置顶三个子方法。如图 3-1 所示,只有管理 员可以管理帖子,一般用户没这个权限的。 图3-1 帖子对象关系用例图 用户类有注册、登入和管理三个方法,管理方法又可分为添加、删除和设置权限 三个子方法。如图3-2所示,用户的信息和权限是由管理员来设置管理的。 图3-2 用户对象关系用例图 8 咔嚓大学2014届本科生毕业设计 这样,当初列出的功能列表就分别有了各自的归属对象。 论坛一般存在两种用户,即注册用户和管理员。用户的权限是向下覆盖的,即上级权限包括下级的权限,在论坛中,管理员是上级权限。接下来,需要将不同类的对象及其方法分配给不同的论坛用户。 与注册用户相关的功能,就是论坛的前台的主要功能。论坛系统的前台,是用户讨论问题的平台,发帖、浏览、回帖一直贯穿用户的前台活动。同时,由于论坛系统的帖子管理是管理员在浏览帖子时进行的,所以编辑帖子、删除帖子和置顶帖子等功能也安排在前台实现、其他与管理员相关的功能,包括版面管理、用户管理等都需要管理员在后台进行操作。 通过以上的分析,论坛的基本功能就可以从众多需求中筛选出来。 (1) 发帖,论坛最初是为了相互讨论话题而诞生的,发表帖子就是表达自己的看法, 与他人进行讨论,因为发帖是论坛首要的功能。 (2) 浏览帖子,发表了帖子,就要供他人浏览查看, 使他人分享自己的想法和经验。 (3) 回帖,浏览了他人发表帖子,就要发表自己的想法,参与讨论,就可以回复这帖子。 发帖、浏览帖子和回帖的循环就构成了论坛,三大基本功能的相互关系如图3-4所 示: 发帖 帖子列表 回帖 浏览帖子 图3-4 论坛的基本功能 9 咔嚓大学2014届本科生毕业设计 4 系统概要设计 4.1 功能模块设计 当游客进入前台页面时可以进行浏览首页、查看帖子、搜索帖子和用户注册,如果用户想要发表帖子或者回复帖子,系统会判定用户是否已经登陆,如果没有则返回登陆界面,反正可以继续进行操作。如果用户想要进行置顶帖子等操作,首先判定用户是否登录,符合后判定用户的权限,符合权限才可以继续操作,不符合则提示无权操作,其前台系统流程图如图4-1所示: 图4-1 前台系统流程图 在进入后台系统时,要判断用户是否登录和是否有权限进入后台,成功后可以进行各种管理操作,否则提示用户无权操作,其后台流程图如图4-2所示: 图4-2 后台系统流程图 10 咔嚓大学2014届本科生毕业设计 按照论坛系统的功能可以将本系统分为前台和后台两大模块。 用户在前台注册、登录,以及编辑个人的注册信息组成登录注册模块;用户浏览版面、浏览主题帖列表、查看帖子以及按条件搜索组成浏览模块;用户发帖、回帖组成发帖回帖模块;用户编辑、删除、置顶帖子组成帖子管理模块。以上四个模块是前台模块。后台模块都是与管理员相关的,后台模块分为四个,删除会员和设置会员权限为会员管理模块、发布和删除为公告管理模块、创建和删除版面为版面管理模块、数据的备份和恢复为数据管理模块。如图4-3所示。 论坛系统 前台模块 后台模块 数发帖会公版登 浏据帖子员告面陆 管览回管管管管注 理模帖理理理理册 块模模模模模模模 块块块块块块块 图4-3 模块体系图 4.1.1 前台模块 (1) 登陆注册模块,包括以下的几个部分。 登录:一般网站都具有的功能,提供会员登录到论坛窗口的功能。 注册:提供游客成为会员的功能,这样可以享受更多的权限。游客只能浏览帖子,而会员不仅可以浏览帖子,还可以回复和发表帖子。 编辑会员信息:当注册的用户用其注册时使用的用户名和密码登录论坛系统后,可以对其注册时填写的资料进行编辑更改。 (2) 发帖回帖模块,包括以下几个部分。 发帖:论坛的基本功能之一。会员可以就某个感兴趣的话题发表自己的看法,即发帖。 回帖:论坛的基本功能之一。会员可以答复其他人提出的问题、看法等,即回帖。 (3) 帖子管理模块,包括以下几个部分: 11 咔嚓大学2014届本科生毕业设计 编辑:会员可以对自己发表过的帖子进行重新编辑修改。 删除:会员可以删除自己发表的帖子。 置顶:管理员除了可以编辑、删除普通会员的帖子,还可以对好的帖子进行置顶,以便让更多人看到。 (4) 搜索模块,包括以下几个部分: 浏览查找:浏览版块、浏览主题帖列表、查看感兴趣帖子。 关键字查找:按关键字搜索帖子,按照帖子相关的内容关键字搜索; 4.1.2 后台模块 (1) 会员管理模块,包括以下几部分: 设置权限:管理员可以更改会员的权限设定及指定管理员资格。 删除会员:对于太久没有登录或者恶意发帖的会员,管理员可以将其删除。 (2) 公告管理模块 管理员可以发布、删除公告。 (3) 版面管理模块 管理员可以分别对版面和分类进行编辑。管理员 可以对版面进行添加和删除操作,还可以对分区进行添加和删除操作。(一个论坛可以分成许多版面,一个版面又有许多分类,一个分类还可以分成许多主题。) (4) 数据管理模块,包括以下几部分: 备份数据库:管理员可以对本系统的所有资料数据进行备份,以防数据的丢失。 恢复数据库:在系统遭到攻击崩溃时,可以使用恢复数据库功能对系统的数据重新回复。 4.2 数据库设计 4.2.1 数据库分析 本论坛系统是一个小型的程序,考虑到开发的成本、搭配的合理性以及操作的灵活性等,使用了MySQl数据库。从成本考虑MySQL数据库是完全免费的,可以在网上免费下载;从匹配的角度讲PHP与MySQL数据库一直是公认的最佳搭档;MySQl数据库不但可以在命令模式下进行操作,而且还配备了一些比较流行的图形化管理工具,如phpMyAdmin等,可以轻松地对MySQL数据库中的数据进行操作。 12 咔嚓大学2014届本科生毕业设计 4.2.2 数据库概念设计 通过对论坛系统做的需求分析和系统设计,规划出论坛系统的实体关系E-R图。其中包括注册用户实体、发帖实体、回帖实体、版面实体、分类实体等。实体关系E-R图如图4-4所示: n 1 1 n 管理管理回帖 发帖 注册用户 理 理 1 n n 管理版面 分类 理 图4-4 实体关系E-R图 (1) 注册用户实体 注册用户实体用于储存用户注册信息,包括编号、用户名、密码、用户类型、邮箱、QQ号码、真实密码、注册时间、头像、积分、密码提示问题、密码答案、特长属性。注册用户实体的E-R图4-5所示: 注册时间 用户名 密码 编号 头像 用户类型 积分 注册用户 邮箱 密码提示的问题 QQ号码 密码答案 真实密码 特长 图4-5 注册用户实体E-R图 (2) 发帖实体 发帖实体用于储存登陆本论坛的会员在论坛中发布帖子的相关信息,包括编号、帖子标题、帖子内容、用户名、发帖时间、表情图、是否顶贴、是否精华帖、是否热帖、 13 咔嚓大学2014届本科生毕业设计 所属分类、是否结贴、附件属性。发帖实体的E-R图如图4-6所示: 帖子标题 编号 用户名 是否热帖 帖子内容 所属分类 发帖时间 发帖 是否结贴 表情图 是否精华帖 附件 图4-6 发帖实体E-R图 (3) 回帖实体 发帖实体用于储存登陆本论坛的会员在论坛中回复帖子的相关信息,包括编号、帖子标题、回复内容、用户名、回帖时间、回复次数、附件属性。回帖实体的E-R图如图4-7所示: 编号 回复内容 用户名 回帖时间 回帖 帖子标题 回复次数 附件 图4-7 回帖实体E-R图 (4) 版面实体 版面实体用于储存本论坛版面的相关信息,包括编号、版面名称、创建时间属性。版面实体的E-R图如图4-8所示: 14 咔嚓大学2014届本科生毕业设计 编号 版面名称 创建时间 版面 图4-8 版面实体E-R图 (5) 分类实体 分类实体用于储存本论坛帖子分类的相关信息,包括编号、分类名称、所属版面、创建时间属性。分类实体的E-R图如图4-9所示: 编号 所属分类 分类名称 创建时间 分类 图4-9 版面实体E-R图 4.2.3 创建数据库和数据表 论坛系统中应用的是db_forum数据库,其中包含8个数据表。具体如下: (1) tb_forum_user(注册用户信息表) 主要用于存储本论坛中会员的个人信息,主键为tb_forum_id。该数据表的结构如表4-1所示: 表4-1 注册用户信息表 字段 数据类型 约束 允许空 说明 tb_forum_id int(10) 主键 否 编号 tb_forum_user varchar(50) 否 用户名 tb_forum_pass varchar(50) 否 密码 tb_forum_type varchar(50) 否 用户类型 tb_forum_email varchar(50) 否 邮箱 tb_forum_truepass varchar(50) 否 真实密码 tb_forum_date datetime 否 注册时间 tb_forum_picture varchar(80) 否 头像 tb_forum_grade varchar(50) 否 积分 tb_forum_pass_problem varchar(50) 否 密码提示问题 tb_forum_pass_result varchar(50) 否 密码答案 tb_forum_qq varchar(50) 否 QQ号码 15 咔嚓大学2014届本科生毕业设计 续表4-1 tb_forum_speciality text 是 特长 (2) tb_forum_send(论坛发帖信息表) 主要用于存储登陆会员在本论坛中发表帖子的信息,主键是tb_send_id。该数据表的结构如表4-2所示: 表4-2 论坛发帖信息表 字段 数据类型 约束 允许空 说明 tb_send_id int(10) 主键 否 编号 tb_send_subject varchar(50) 否 帖子标题 tb_send_content mediumtext 否 帖子内容 tb_send_user varchar(50) 否 用户名 tb_send_date datetime 否 发帖时间 tb_send_picture varchar(70) 否 表情图 tb_send_type varchar(50) 否 是否置顶 tb_send_small_type varchar(50) 否 所属分类 tb_send_type_distillate int(10) 否 是否精华帖 tb_send_type_hotspot int(10) 否 是否热帖 tb_send_accessories varchar(80) 是 附件 tb_forum_end int(10) 否 是否结贴 (3) tb_forum_restore(论坛回帖信息表) 主要用于存储登陆会员在本论坛中回复帖子的信息,主键是tb_restore_id。该数 -3所示:据表的结构如表4 表4-3 论坛回帖信息表 字段 数据类型 约束 允许空 说明 tb_restore_id int(10) 主键 否 编号 tb_restore_subject varchar(50) 否 标题 tb_restore_content mediumtext 否 回复内容 tb_restore_user varchar(50) 否 回复者 tb_send_id int(10) 否 对应帖子编号 tb_restore_date datetime 否 回复时间 tb_forum_counts varchar(50) 否 回复次数 tb_restore_accessories varchar(80) 是 附件 (4) tb_forum_big_type(论坛版面信息表) 主要用于存储各个版面的名称和创建时间,主键为tb_big_type_id。该数据表的结构如表4-4所示: 表4-4 论坛板面信息表 字段 数据类型 约束 允许空 说明 tb_big_type_id int(10) 主键 否 编号 tb_big_type_content varchar(50) 否 版面名称 tb_big_type_date datetime 否 创建时间 16 咔嚓大学2014届本科生毕业设计 (5) tb_forum_small_type(帖子分类信息表) 主要用于存储所属版面下帖子的分类信息,主键为tb_small_type_id。该数据表的结构如表4-5所示: 表4-5 论坛分类信息表 字段 数据类型 约束 允许空 说明 tb_small_type_id int(10) 主键 否 编号 tb_small_type_content varchar(50) 否 分类名称 tb_big_type_content varchar(50) 否 所属版面 tb_small_type_date datetime 否 创建时间 (6) tb_forum_affiche(论坛公告信息表) 主要用于存储管理员在本论坛中发表的公告信息,主键为tb_affiche_id。该数据表的结构如表4-6所示: 表4-6 论坛公告信息表 字段 数据类型 约束 允许空 说明 tb_affiche_id int(10) 主键 否 编号 tb_affiche_subject varchar(50) 否 公告标题 tb_affiche_content mediumtext 否 公告内容 tb_affiche_user varchar(50) 否 发布者 tb_affiche_date datetime 否 发布时间 tb_affiche_type varchar(50) 否 所属版面 tb_affiche_counts varchar(50) 否 浏览次数 (7) tb_mail_box(会员邮箱信息表) 主要用于存储登陆会员在本论坛中收到其他会员发送的信息,主键为tb_mail_id。该数据表的结构如表4-7所示: 表4-7 会员邮箱信息表 字段 数据类型 约束 允许空 说明 tb_mail_id int(10) 主键 否 编号 tb_receiving_person varchar(50) 否 收件人 tb_mail_sender varchar(50) 否 发件人 tb_mail_date datetime 否 发送时间 tb_mail_subject varchar(80) 否 邮件标题 tb_mail_content mediumtext 否 邮件内容 tb_mail_type varchar(50) 否 已读/未读 (8) tb_my_collection(会员收藏信息表) 主要用于存储登陆会员在本论坛中收藏的帖子信息,主键为tb_collection_id。该数据表的结构如表4-8所示: 17 咔嚓大学2014届本科生毕业设计 表4-8 会员收藏息表 字段 数据类型 约束 允许空 说明 tb_collection_id int(10) 主键 否 编号 tb_collection_subject varchar(50) 否 帖子标题 tb_collection_address varchar(150) 否 帖子地址 tb_collection_label varchar(50) 否 标签 tb_collection_summary mediumtext 否 摘要 tb_collection_user varchar(50) 否 收藏者 tb_collection_date datetime 否 收藏时间 18 咔嚓大学2014届本科生毕业设计 5 系统详细设计与实现 5.1 数据库的连接 在进行程序开发的过程中,有很多地方都涉及到数据库的应用,在应用数据库之前首先要与数据库建立连接,因此可以将数据库的连接代码作为一个公共文件进行存储,在需要使用数据库连接文件的地方直接调用该文件即可,无需重复编写相同的代码,既减少了代码冗余,也便于数据库连接文件进行修改。在本设计中数据库我连接代码存储于conn.php中。conn.php文件的代码如下: 首先通过PHP的函数mysql_connect建立对数据库服务器的连接,然后通过 mysql_select_db函数从数据库服务器中选择本论坛系统的数据库,如果需要对数据库进行操作,可以用mysql_query函数向MySQL数据库发送SQL语句来实现。 成功创建conn.php文件后,在需要进行数据库操作的程序中,通过include或者其他包含语句调用conn.php文件即可,无需再编写连接数据库的连接代码。应用include语句包含conn.php文件的代码如下: 5.2 论坛系统功能的实现 5.2.1 用户注册的实现过程 在此模块中必不可少的就是要对用户输入的信息进行判断,首先判断用户注册信息中哪些是必须填写的,哪些可以不填写,然后进一步判断输入信息是否合理合法,在本模块中通过JavaScript实现表单提交数据验证。 操作原理是:在form表单中调用onsubmit事件,通过该事件调用指定的JavaScript脚本,执行check_input()自定义函数,实现对表单中提交数据的验证。在JavaScript脚本中,实现对表单中提交数据进行判断,判断输入的内容是否为空,判断内容的格式是否正确,如果正确则继续执行,否则将弹出提示对话框。 注册模块使用的数据表:tb_forum_user,实现过程很简单,首先连接数据库,然 19 咔嚓大学2014届本科生毕业设计 后获取表单提交的数据,并且判断提交的用户名是否被占用,如果未被占用则可以继续注册,填写详细的注册信息,将数据提交到表单处理页进行处理,最后将用户注册的信息保存到指定的数据表中。用户注册模块的实现过程主要由三个文件完成:register.php用于输出注册服务条款;registers.php文件用于填写详细的注册信息,并且在表单中应用数字验证技术;registers_ok.php文件用于对表单提交的数据进行分析处理,将数据保存到指定的数据表中。 在registers_ok.php文件中,首先连接数据库,然后获取到表单中提交的数据,并且判断提交的用户名是否被占用,最后将提交的数据进行处理,并将数据保存到指定的数据表中。 注册界面如图5-1所示: 图5-1 注册界面 5.2.2 论坛分类的实现过程 论坛分类使用的数据表:tb_forum_big_type、tb_forum_small_type 本论坛可以分为两类,一个是论坛中大的板块分区,管理员可以后台对板块分区进行编辑,其数据存储于tb_forum_big_type数据表中。另一个是对应不同的板块中不同的分类,管理员亦可对其进行编辑,其数据存储于tb_forum_small_type表中。 其实现原理为:首先从tb_forum_big_type表中读取各个板块的数据,进行循环输出,然后在板块真嵌套循环,从tb_forum_ small_type表中读取各个分类的数据,用于输出不同的分类数据。分类界面如图5-2所示: 20 咔嚓大学2014届本科生毕业设计 图5-2 分类界面 5.2.3 帖子浏览的实现过程 论坛分类使用的数据表: tb_forum_user、tb_forum_send、tb_forum_restore。 帖子查看主要输出指定帖子的详细信息,包括发帖人,用户级别和注册时间,以及帖子标题、内容和发帖时间,包括上传的图片。本模块块中是用户权限使用体现的最明显的地方,可以分为三种情况:第一是以游客身份进入论坛,只能是浏览帖子的内容,没有其他权限;第二以会员进行登录,可以对帖子进行回复,发表自己的看法;第三以管理员的身份登录,不但可以回复帖子,而且可以对任何人发布和回复的帖子进行删除和置顶的操作。浏览界面如图5-3所示: 图5-3 浏览界面 21 咔嚓大学2014届本科生毕业设计 5.2.4 帖子发布的实现过程 帖子发布使用的数据表: tb_forum_user、tb_forum_send。 论坛帖子发布通过两个文件来完成,一个是帖子发布信息的提交页send_forum.php,另一个是对提交的数据进行处理的send_forum_ok.php文件。 在发布信息的提交页中,显示当前用户的个人信息,设置添加数据表单元素。 在send_forum_ok.php页中对表单提交的数据进行处理,将数据存储到tb_forum_send表中,其中还应用了附件上传技术,将文件上传到服务器中指定的文件夹下。发帖界面如图5-4所示: 图5-4 发帖界面 5.2.5 帖子回复的实现过程 帖子发布使用的数据表: tb_forum_user、tb_forum_restore。 回复论坛中的帖子,必须是以会员或者管理员的身份登录,否则不能进行帖子的回复操作。 论坛帖子回复功能的实现主要通过send_forum_content.php和send_forum_content_ok.php两个文件完成。在帖子回复表单send_forum_content.php页中,在文本框中输入回复的主题和内容,最后将数据提交到表单处理页 22 咔嚓大学2014届本科生毕业设计 send_forum_content_ok.php中。表单处理页send_forum_content_ok.php将表单提交的数据存储到指定的数据库中。回帖界面如图5-5所示 图5-5 回复界面 5.2.6 管理员权限的设置 在前台为管理员设置特殊的权限,其实现是原理是:首先在数据库中设置不同的值代表不同的权限,“0”代表普通会员,“1”代表管理员;然后在论坛的页面中进行判断,当用户类型为“1”时,不但具有普通会员的权限,而且具有删除发布帖子、回复帖子和顶贴的权限;如果用户类型不是“1”,则不具有上述的权限,只能发布和回复帖子。 在页面中执行的判断语句判断登陆用户的类型,然后根据类型判断用户的权限。若是普通会员执行顶贴操作,则会出现如图5-6所示界面: 图5-6 普通会员操作界面 5.2.7 帖子顶贴的设置 所谓帖子置顶就是将某个指定的帖子在对应的版面中最为前面的位置显示,该权限只有管理员才拥有,普通会员不具备该权限。其实现的原理为:: 首先,在数据库中存储发布帖子信息的数据表中设置一个顶贴的字段,指定该字段为数字类型,其默认值为0。 23 咔嚓大学2014届本科生毕业设计 然后,在网页中判断登陆用户的权限,如果是管理员则具有帖子置顶的权限,否则将弹出提示对话框“您不具备该权限~”。 最后,如果是管理员则执行置顶操作,根据对应帖子的编号查找到发布帖子信息表中对应的数据,更新该条数据中置顶字段的值为1。 24 咔嚓大学2014届本科生毕业设计 6 论坛系统测试 在开发论坛系统过程中,需要面对很多复杂的问题,因此,在软件设计的过程不可避免产生错误。在每个设计阶段都要经过严格的测试,尽可能早地发现问题并解决。 6.1 链接测试 由于本论坛的页面不多,用户身份也不多,所以链接测试采取的是覆盖测试的方法,用所有的用户身份,逐个去测试链接跳转的正确性。测试结果如表6-1所示: 表6-1 连接测试表 用户身份 起始页面 链接 应当跳转页面 测试结果 游客 首页 注册按钮 注册页面 成功 游客 首页 登陆按钮 登陆页面 成功 游客 首页 帖子 帖子页面 成功 游客 首页 发帖按钮 注册页面 成功 会员 首页 个人信息按钮 个人信息修改页面 成功 会员 首页 帖子 帖子页面 成功 会员 首页 发帖按钮 发帖页面 成功 游客 帖子页面 回到首页 首页 成功 会员 帖子页面 回到首页 首页 成功 游客 帖子页面 回帖按钮 注册页面 成功 会员 帖子页面 回帖按钮 回帖页面 成功 6.2 功能模块测试 本论坛的功能模块较多,多数功能较简单,因此值列举几个重要的功能模块来描述整个测试过程。测试结果如表6-2所示: 表6-2 功能模块测试表 用户身份 测试页面 操作步骤 验证方法 预期结果 实际结果 游客 注册页面 用一个未被使用的 进行登陆验证 可以登陆 注册成功 用户名进行注册 会员 发帖页面 填写帖子名称、编查看是否有该帖出现该帖子 发表成功 辑帖子内容,点击子 发布 会员 帖子页面 编辑一条回帖,点在帖子页面查看可以看到自回帖成功 击发表 回复是否成功显己的回复 示 管理员 帖子页面 置顶一个帖子 查看是否置顶 显示“成功置顶成功 置顶” 会员 个人信息修改自己的头像,个人信息页面查可以看到自修改成功 页面 点击修改 看自己的信息 己的新信息 25 咔嚓大学2014届本科生毕业设计 6.3 验证功能模块测试 论坛有些地方对用户的行为有限制,比如不能注册已被使用的用户名、游客不能发帖回帖、普通会员不能进行置顶操作等等。测试结果如表6-3所示: 表6-3 验证功能模块测试表 用户身份 测试页面 操作步骤 验证方法 预期结果 实际结果 游客 注册页面 填写一个已被 看是否报错 程序报错,告显示“该用户名已 使用的用户名 知用户 被其他用户使用” 会员 发帖页面 发表一个内容是否报错 程序报错,告显示“内容不能为 为空的帖子 知用户 空” 会员 帖子页面 进行置顶操作 是否报错 程序报错,告显示“您不具备该 知用户 权限” 游客 帖子页面 进行回帖操作 是否报错 程序报错,告显示“请先登录或 知用户 注册” 7 总结 本文选择WAMP架构、PHP语言和MySQL数据库,并通过使用页面跳转算法和模板技术,实现了较完整的论坛功能,本文论坛系统由两个部分组成:面向系统管 理者的论坛管理系统和面向一般用户的论坛服务系统,本系统界面美观,达到了实际可用的程度。 26 咔嚓大学2014届本科生毕业设计 根据课题任务的要求,通过对本论坛系统的开发,更加深入的理解了网页开发技术和数据库的基本知识,熟练了开发工具和相关软件,熟悉了网站的建站过程,掌握了网络数据库的编程方法。 本论坛系统不是为一个特定用途来设计和实现的,而是作为通用论坛系统来设计的,用户可以通过管理员权限自行添加版块和分论坛。目前Internet上的论坛技术在不断的发展和完善,但本文的论坛系统还存在下列的局限性: (1)本文使用了MySQL数据库,与其他的大型数据库如Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限等; (2)本文系统以后的开发过程中可在论坛中加入Flash表情,在帖子中可以添加视频文件,甚至可以通过提供免费空间的服务来控制论坛的发帖量等。 27 咔嚓大学2014届本科生毕业设计 鸣 谢 本课程设计能够顺利完成,感谢所有关心和帮助过我的人。感谢我的亲人。他们一直关心着我的学习,给我提供了极大的支持与鼓励。在此对他们表示真诚的感谢。感谢这几年来教育和培养我的学院的老师们,将近四年的学习,为我打下了良好的理论基础,今后步入社会时更有自信,同时也更提高了我对IT行业的兴趣。感谢老师,她认真负责的工作态度,论文终于按时完成,使我的专业知识得到了进一步的巩固和扩展,同时也提高了自学能力。 除此之外,感谢所有一起生活、成长、学习的同学和朋友们,是你们的陪伴使我愉快地度过了大学生活。真诚祝愿所有帮助过我的亲人、老师和朋友们平安、快乐~ 28 参考文献 参考文献 [1]宝良.Java有能力抵挡LAMP的进攻吗[EB/OL]. ,2007.08.20 [2]曹江华.Linux 服务器安全策略详解(第2版)[M].电子工业出版社,2009.06 [3]邹天思,潘凯华.PHP网络编程标准教程[M].人民邮电出版社,2009.02.01 [4]罗骏.SQL实用简明教程(第2版)[M].清华大学出版社, 2007.11 [5]刘明军,刘悦,唐好魁.基于B/S体系结构的数据库技术研究[J].济南大学学报(自然科学版), 2001,(3) 潘凯华.PHP项目开发案例全程实录(第2版)[M].清华大学出版社,2011.01 [6]刘中华, [7]张海藩,倪宁.软件工程(第3版)[M].人民邮电出版社,2012.02 PHP Web程序设计教程与实验[M].清华大学出版社,2008.01 [8]徐辉. [9]王珊,陈红.数据库系统原理教程[M]. 清华大学出版社2005.05 [10]冯昊.ASP动态网页设计与上机指导[M].清化大学出版社,2007.07.02 29
本文档为【2014届大学本科毕业设计毕业论文_精选100_基于PHP论坛的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_633808
暂无简介~
格式:doc
大小:174KB
软件:Word
页数:48
分类:生活休闲
上传时间:2018-04-04
浏览量:34