基于PHP的校园论坛论文

上传人:1666****666 文档编号:36350881 上传时间:2021-10-30 格式:DOC 页数:51 大小:403.50KB
返回 下载 相关 举报
基于PHP的校园论坛论文_第1页
第1页 / 共51页
基于PHP的校园论坛论文_第2页
第2页 / 共51页
基于PHP的校园论坛论文_第3页
第3页 / 共51页
点击查看更多>>
资源描述
职场大变样社区():下载毕业设计成品全套资料,全部50元以下太原科技大学华科学院毕业设计(论文)任务书专业: 计算机科学与技术 时间: 2015年 6月 1日学 生 姓 名指 导 教 师设计(论文)题目基于PHP的校园论坛主要研究内容 基于PHP的校园论坛主要有前台管理和后台管理两大部分。前台管理包括用户注册、登陆以及注销,发帖和删帖,以及评论;后台管理包括管理员对帖子和用户的管理。研究方法 利用eclipse开发工具和wamp集成环境和MysQL数据库实现完整的系统开发。主要技术指标(或研究目标)1、数据库的搭建;2、完善系统与数据库之间的数据交流,实现系统日常的工作; 3、系统功能分为前台管理和后台管理两个部分用户和管理员都可 以使用该系统。主要参考文献1 张海藩软件工程清华大学出版社20092 邱加永PHP基础与案例开发详解清华大学出版社20093 庞永庆JavaScript网页编程从入门到精通科学出版社20084 张金霞HTML网页设计参考手册清华大学出版社社20065 王珊 萨师煊数据库系统概论高等教育出版社2006说明:一式两份,一份装订入学生毕业设计(论文)内,一份交学院(直属系)。摘 要 当今社会正处在网络时代,信息化大潮席卷全球,网络正以前所未有的速度在我国普及开来。网站以其独特的优势在信息化的过程中占有重要的一席。为了方便信息的交流,在结合HTMLDIVCSS技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,师生可以自由地提出问题以及帮助他人解决问题,或者交流经验。 论坛在HTML+DIV+CSS设计的基础上,用当今比较流行的网站开发技术PHP语言进行开发,用当今世界上最流行的Apache作为本站开发的服务器。论坛将采用B/S体系结构,人们通过浏览器就可以访问论坛网站的所有页面,保证的服务器的安全。数据库采用免费,小巧,易用的MySQL数据库。该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。该论坛还有一些特殊的功能,如在线人员显示、强大的搜索功能。本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计以及对网站的测试与维护都有详细的论述和实现过程。 本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合校园师生使用的校园网论坛! 关键词:Apache,PHP,MySQL,HTML+DIV+CSSSummaryTodays society is in the Internet age, information technology wave sweeping the world, the network is at an unprecedented rate in our popularity. Web site with itsunique advantages in the process of information plays an important seat. In order to facilitate the exchange of information,when combined with HTML + DIV + CSStechnology under development in this fast, user-friendly communication system,implements a function relatively complete forum system, students can freely ask questions and help others solve problems, or exchange of experience.Forum HTML + DIV + CSS design, based on the more popular with todaystechnology, PHP web development language for development, with the worlds mostpopular site development as a Apache server. The Forum will use B / S architecture, the people through browser access to the forum all your pages to ensure the security of the server. Database using free, compact, easy to use MySQL database. The forum features a more complete, where you can freely express their views andcomments on the theme of the forum, we can also solve the users problem in a timely manner, to obtain useful knowledge for their own. The forum there are somespecial features, such as online staff show that a powerful search function. This sitein strict accordance with the project development process for software development,web site development for the feasibility analysis, requirements analysis, preliminary design, detailed design and site testing and maintenance are discussed in detailand implementation process.The set of forums is that it has strong scalability and maintainability, is ideal forteachers and students use the campus network forum!Keywords: Apache, PHP, MySQL, HTML + DIV + CSS目录摘 要 ISummary II目 录 III第1章 系统概述11.1 总体概述 11.2 开发背景 11.3 开发目的 3第2章 系统分析42.1 可行性分析 42.2 相关技术分析 52.2.2 MySQL数据库的选用 52.2.3 Apache服务器介绍 7第3章 需求分析93.1 概述 93.2 功能需求 93.3 数据需求103.4 系统实体联系图(E-R图) 103.5 数据流图13第4章 总体设计 144.1 系统功能模块划分 144.2 系统业务流程图 14第5章 数据库设计 155.1 数据库分析 155.2 数据库设计 15第6章 系统详细设计 206.1 前台设计 206.1.1 前台页面设计与实现206.1.2 前台首页显示概述216.1.3 查看首页面的区域类别216.1.4 查看某版块中贴子列表236.1.5 查看帖子和回复贴内容256.1.6 发表帖子模块设计286.2 后台设计 316.2.1 后台页面设计与实现316.2.2 用户管理模块设计与实现33【用户列表】 33【用户添加】 35【用户查看】 39【用户修改】 40【用户删除】 44第7章 系统总结 467.1 系统的优缺点 477.2 个人感想 47致 谢 48参考文献 49第1章 系统概述1.1总体概述进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的C/S结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器服务器的B/S结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间, 影响和改变着我们的生活。1.2开发背景1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago (Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系统。之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统(Peoples Message System)2种BBS系统。1981年IBM个人计算机诞生时,并没有自己的BBS系统。直到1982年,Buss Lane 才用Basic语言为IBM个人计算机编写了一个原型程序。其后经过几番增修,终于在1983年通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。大约是从1991年开始,国内开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为2种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者都更乐意加入。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平国内的BBS站,大多数还是大型综合性BBS站。随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨。但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。尽管BBS站台的数量在不断增长,但BBS的发展过程,也出现了一些问题。由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。 而国内自己开发的BBS基本上都是处于最原始的JSP MODEL1模式, 这种模式是控制层与表示层合二为一,虽然开发简单,但是拥有很差的扩展性,可维护性,这样极大的限制了BBS站点的扩展。于是在这种情况下,本文提出了目前比较流行的,基于PHP+MySQL+Apache的BBS论坛(例如,国内比较流行的论坛管理系统),本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛!1.3开发目的综上所述,本文提出了目前比较流行的,基于PHP+MySQL+Apache开发的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合学生使用的中小型校园网论坛!第2章 系统分析2.1 可行性分析可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。2.1.1 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该BBS论坛管理系统采用了流行的PHP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用MySQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。2.1.2 经济可行性主要是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。2.1.3 社会可行性随着Internet技术的快速发展,BBS论坛已成为人们彼此沟通、交流信息的主要方式。在论坛上,人们可以对某一领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。BBS论坛接近了人们之间的距离,它早已成为人们网上生活的必备工具。所以说BBS论坛对当今社会是相当重要的。2.2 相关技术分析2.2.1 PHP程序设计语言介绍及特点PHP 于1994年由Rasmus Lerdorf创建,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。 PHP 的简称原本为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。 在1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为PHP: Hypertext Preprocessor。经过几个月测试,开发团队在1997年11月发布了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在1998年6月正式发布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写。PHP 的核心,这个在1999年发布的剖析器称为 Zend Engine,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。 在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。 2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。 PHP的特性包括 : 开放的源代码:所有的PHP源代码事实上都可以得到。 PHP是免费的。和其它技术相比,PHP本身免费。 php的快捷性程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。 跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。 效率高:PHP消耗相当少的系统资源。 图像处理:用PHP动态创建图像 面向对象:在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。 专业专注:PHP支持脚本语言为主,同为类C语言。2.2.2 MySQL数据库的选用MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费的,可以在Internet上免费下载到,并可免费使用,对于一般中小型,甚至大型应用都能够胜任。MySQL具有以下优点:1使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。3为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4支持多线程,充分利用CPU资源。5优化的SQL查询算法,有效地提高查询速度。6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。7提供TCP/IP、ODBC和JDBC等多种数据库连接途径。8提供用于管理、检查、优化数据库操作的管理工具。9可以处理拥有上千万条记录的大型数据库。10支持多种存储引擎。2.2.3 Apache服务器介绍Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。 Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。 Apache web服务器软件拥有以下特性: 支持最新的HTTP/1.1通信协议 拥有简单而强有力的基于文件的配置过程 支持通用网关接口 支持基于IP和基于域名的虚拟主机 支持多种方式的HTTP认证 集成Perl处理模块 集成代理服务器模块 支持实时监视服务器状态和定制服务器日志 支持服务器端包含指令(SSI) 支持安全Socket层(SSL) 提供用户会话过程的跟踪 支持FastCGI 通过第三方模块可以支持Java Servlets 第3章 需求分析3.1 概述软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。3.2 功能需求为了系统的个模块能够正常使用、系统更加人性化,还为了满足系统的实用性及安全性,本系统包含5个角色:游客,普通会员,版主,管理员,超级管理员。游客的各项功能:1、 可以看帖2、 不能发帖3、 不可以回帖4、 只有注册了以后成为本论坛的以后,才可以执行完整的普通会员功能。普通会员的各项功能:1、用户登录2、发贴3、查看帖子4、发表评论5、修改个人资料版主的各项功能:1、修改本版块2、查看版主信息3、修改版主信息4、查看帖子5、管理本版块的帖子6、版主拥有普通会员所有功能管理员的各项功能:1、用户管理2、新闻管理3、板块管理4、帖子管理5、评论管理6、其他所有功能超级管理员的各项功能:1、用户管理2、新闻管理3、板块管理4、帖子管理5、评论管理6、添加用户7、其他所有功能3.3 数据需求普通会员可以不登录进入系统,系统用户的数据包括用户名、用户密码、用户类型等等。用户ID在整个系统中是唯一的。用户浏览帖子时,数据应当包括用户名、帖子主题。用户根据某一主题可以发表帖子,发表帖子需要的数据包括用户名、Email、版块分类名、发表帖子标题、发表帖子内容。用户回复帖子的数据包括用户名、Email、回复帖子序号、回复的内容、版块分类名。管理员进入后台管理时,需要数据包括管理员ID、管理员密码。用户只有登录了才能发帖,回帖,管理等等。3.4系统实体联系图(E-R图)E-R模型的基本概念:ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间(1)实体:现实世界中的事物; (2)属性:事物的特性; (3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。E-R模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的E-R模型。现在划出本系统所使用的数据库实体,它们分别为帖子实体、回复贴实体、版面实体、类别实体和用户实体。下面将介绍几个关键实体的E-R图。1帖子实体根据实体包括编号、所属版面、标题、内容、发布者、发布时间、表情、对贴子进行操作的时间、是否为置顶贴子、被置顶的时间、是否为精华贴子和被设置为精华贴子的时间等属性。其中是否为置顶贴子与是否为精华贴子属性分别用来标识贴子是否被设置为置顶或是精华贴子,1表示“是”,0表示“否”。帖子实体的E-R图如图4.1所示。贴子内容标题所属版面编号表情发布者发布时间阅读次数回复次数图4.1 贴子实体E-R图2回复贴实体回复贴实体包括编号、帖子ID 、标题、内容、回复者、回帖时间和表情属性。回复贴实体的E-R图如图4.2所示。回复贴内容原帖号楼层编号回复IP回复者回帖时间间4.2 回复贴实体E-R图ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:n,m:n,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。3.本系统的ER模型如图4.5所示:主题帖子所属回复帖子对应版块1nm1用户管理员浏览管理mnmn图4.5 ER模型图3.5数据流图普通用户新闻类型新闻浏览模块新闻内容分类搜索页面进入板块首页区域目录修改成功页面修改模块用户登录图3.4用户流程图D1管理员帖子增删改查登录管理员D2帖子管理后台模块用户分类信息D2分类管理D2网站管理网站内容图3.5管理员数据流程图第4章 总体设计4.1 系统功能模块划分图4.1 系统功能模块图4.2 系统业务流程图浏览者用户注册登录搜索管理版块浏览版块管理用户发帖浏览帖子回帖管理帖子管理员第5章 数据库设计5.1 数据库分析数据库的设计,在程序的开发中起着至关重要的作用,它往往决定了在后面的开发中进行怎样的程序编码。一个合理、有限的数据库设计可降低程序的复杂性,使程序开发的过程更为容易。本系统是一个中型的供求信息网站,考虑到开发成本、用户信息量客户需求等问题,决定采用MySQL作为项目中的数据库。5.2 数据库设计根据数据库概念设计,可以创建与实体对应的数据表。本系统中所包含的数据表的结构图如图4.6所示。 图4.6 db_luntan 数据库所包含的数据表结构图本系统共包含8个数据表,下面分别介绍这些表的结构。1block(板块表)板块表用来记录板块信息,该表的结构如表4.1所示。表4.1 block 表的结构字段名数据类型是否为空是否主键默认值描述Block_idint(2)NoYes板块ID(自动递增)Block_namevarchar(30)YesNULL板块的名称user_idint(10)YesNULL板块的版主Block_numberint(10)YesNULL板块帖子数Block_bulletinvarchar(200)YesNULL板块公告Block_explainvarchar(200)YesNULL板块说明Block_iconvarchar(100)YesNULL板块图标2collection(收藏表)收藏表用来据库用户收藏帖子的信息,该表的结构如表4.2所示。表4.2 collection 表的结构字段名数据类型是否为空是否主键默认值描述collection_idint(10)NoYes收藏ID(自动递增)post_idint(10)YesNULL收藏帖子的ID值user_idint(10)YesNULL收藏者ID3count(计数表)计数表用来存储访本站问次数的信息,该表的结构如表4.3所示。表4.3 count 表的结构字段名数据类型是否为空是否主键默认值描述Countint(10)NoYes收藏ID(自动递增)4news(新闻表)新闻表用来保存论坛新闻信息,该表的结构如表4.4所示。表4.4 news 表的结构字段名数据类型是否为空是否主键默认值描述news_idint(10)NoYes新闻ID(自动递增)news_numberint(10)YesNULL新闻条数news_titlevarchar(50)YesNULL新闻题目news_contentvarchar(5000)YesNULL新闻内容news_timedatetimeYesNULL新闻发布时间new_kindint(1)YesNULL新闻类型news_viewsint(10)YesNULL新闻浏览次数user_idint(10)YesNULL新闻发布者5online(在线用户信息表)在线用户信息表用来保存在线用户的信息,该表的结构如表4.5所示。表4.5 online 表的结构字段名数据类型是否为空是否主键默认值描述Online_idint(10)NoYes在线ID(自动递增)user_idint(10)YesNULL在线用户IDOnline_timedatatimeYesNULL上线时间Online_ipVarchar(20)YesNULL在线IP6post(帖子表)帖子表用来保存论坛帖子信息,该表的结构如表4.6所示。表4.6 post 表的结构字段名数据类型是否为空是否主键默认值描述post_idint(10)NoYes帖子ID(自动递增)post_topicvarchar(50)YesNULL帖子主题post_contentvarchar(5000)YesNULL帖子内容post_timedatatimeYesNULL发帖时间user_idint(10)YesNULL帖子作者Block_idint(2)YesNULL帖子所属板块post_attachmentint(100)YesNULL附件post_ipvarchar(20)YesNULL帖子发布者IPpost_viewsint(10)YesNULL浏览次数post_repliesint(10)YesNULL回复次数7reply(回复表)新闻表用来保存论坛新闻信息,该表的结构如表4.4所示。表4.7 reply 表的结构字段名数据类型是否为空是否主键默认值描述reply_idint(10)NoYes回复ID(自动递增)reply_contentvarchar(200)YesNULL回复内容reply_timedatetimeYesNULL回复时间post_idint(10)YesNULL帖子IDreply_ipvarchar(20)YesNULL回复IPuser_idint(10)YesNULL回复者ID8user(用户表)新闻表用来保存论坛新闻信息,该表的结构如表4.4所示。表4.8 user 表的结构字段名数据类型是否为空是否主键默认值描述user_idint(10)NoYes用户ID(自动递增)user_namevarchar(10)YesNULL用户名user_passwordvarchar(50)YesNULL密码user_sexvarchar(2)YesNULL性别user_birthdayDateYesNULL生日user_identityint(1)YesNULL身份user_realnamevarchar(10)YesNULL真实姓名user_emailvarchar(50)YesNULL邮箱user_regtimeDateYesNULL注册时间user_avatarvarchar(100)YesNULL头像user_avatar_smallvarchar(100)YesNULL小头像user_levelint(3)YesNULL等级user_signaturevarchar(200)YesNULL个性签名user_addressvarchar(100)YesNULL地址user_zipcodeint(6)YesNULL区号user_qqint(10)YesNULLQQuser_zodiacint(2)YesNULL生肖user_constellationvarchar(2)YesNULL星座user_bloodtypevarchar(2)YesNULL血型user_phoneint(11)YesNULL电话user_professionvarchar(20)YesNULL专业user_xuelivarchar(20)YesNULL学历user_experienceint(10)YesNULL论坛经验第6章 系统详细设计6.1 前台设计由于前台功能模块较多,而各模块的实现过程都是类似的,所以对于系统前台,现在只介绍系统重点设计。6.1.1 前台页面设计与实现本系统中所有页面都采用了一种页面框架,该页面框架采用一分栏结构,分为4个区域:页头、功能栏、内容显示区和页尾。网站前台首页面的运行结果如图5.1所示。图5.1 前台首页面的运行结果实现前台页面的设计需要分别创建实现各区域的PHP文件,如实现页头的head.php、实现左侧板块的left.php、页尾文件foot.php和首页面有半部分的等PHP文件。下面主要介绍前台框架页面index.php的实现,实现页面显示代码如下:6.1.2 前台首页显示概述论坛的前台显示主要包括:首页面的论坛首部显示、某板块下基本信息显示、底部显示、右侧边框显示、搜索框表显示和新闻列表显示、活跃会员显示、热帖显示、广告列表显示。其中在板块的列表显示系列中,最终都是生成一个查询SQL语句,并通过执行该SQL语句获取到的列表集合,然后返回首页面进行显示。列表显示热贴,要执行的是一个固定、已知的SQL语句。现在介绍首页面论坛类别显示、某版面下帖子的列表显示和帖子与回复贴内容的详细显示。6.1.3 查看首页面的区域类别该页面的实现效果是:分类显示论坛区域,并以超链接形式显示属于该论坛区域中所有板块名称并显示当前板块的版主和一些帖子的相关信息, 在页面中实现输出论坛区域的关键代码如下:?php/初始化sessionsession_start();/包含数据库连接文件require (conn.php);/提取首页显示的板块信息$sql1=select * from block where block_id=1;$query1=mysql_query($sql1);$data1=mysql_fetch_object($query1);/省略了大量HTML代码img src=block_icon?a href=block.php?block_id=block_id?block_name?帖子:block_number? | 动态:125img src=block_icon?a href=block.php?block_id=block_id?block_name?帖子:block_number? | 动态:125img src=block_icon?a href=block.php?block_id=block_id?block_name?block_number? | 动态:125img src=block_icon?a href=block.php?block_id=block_id?block_name?帖子:block_number? | 动态:125?6.1.4 查看某版块中贴子列表该显示实现的效果是:显示某个版面中所有的贴子。该显示方式将单独显示版块中的所有帖子。对于置顶帖子的显示,将按照帖子被置顶的时间进行降序排列;对于其他帖子的显示,将按照帖子被操作的时间进行降序排列。每条贴子显示其标题、回复次数、浏览次数、发表者和发布时间信息,当在首页面中单击以超链接形式显示的某个版块的标题时,将列表显示该版面中的贴子,该显示要将置顶帖子与其他帖子分类显示。实现该功能,首先需要获取当前版面中的贴子,这可通过当前版面的ID值查询数据表获取,然后分别从POST表中将帖子的信息循环输出。下面给出在PHP页面中列表显示某版块中贴子的关键代码:?php/初始化sessionsession_start();/包含数据库连接文件require (conn.php);$user_id=$_SESSIONuser_id;/接收首页传递过来block_id值$block_id=$_GETblock_id;/提取板块详细信息$sql2=sele
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!