基于PHP和Mysql的博客系统方案_第1页
基于PHP和Mysql的博客系统方案_第2页
基于PHP和Mysql的博客系统方案_第3页
基于PHP和Mysql的博客系统方案_第4页
基于PHP和Mysql的博客系统方案_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、 PAGE27 / NUMPAGES31摘 要随着时代的进步、互联网的高速发展,人与人之间的交流也在技术进步的基础上发生着日新月异的变化。Blog(博客)是继Email、BBS、ICQ之后出现的第四种网络交流方式,它的出现改变了人们生活、工作和学习的方式。近几年,博客在国以势不可挡之势高速发展,它可以作为人们分享文章、照片和思想的绝佳平台。博客已成为新兴的网络媒介,并延伸至销售、商业推广等主流应用。Blog的前台就是一个简单的网页,它一般都是由容简单、更新频繁的文章所构成。这些发布的文章通常都是按照年份和日期倒序排列。Blog的容根据目的的不同可以分为很多种,常见的有行业新闻、个人思想和作品集

2、锦等容的博客。琴院博客管理系统的开发目的是建立一个以PHP与MySQL为基础,使用apache服务器,基于Windows操作系统,功能简单、结构灵活而且轻量、容精致的管理系统。该系统主要包括用户注册登录和注销模块、文章模块、评论模块、站搜索、标签模块、主题模块、归档模块等,各个模块都利用了模板处理系统,这样可以使逻辑控制代码与结构代码分开,使得代码更容易维护和重用。由于web2.0的兴起,本博客系统在用户体验方面也做了充分的工作,用到了Ajax技术,做到了不用刷新也能更新页面的人性化功能等。该博客系统综合了目前其它相关博客的技术,基于校园沟通基础上设计实现的,具有功能强大、操作简单、界面清新、

3、运行快捷、维护简单等优点。关键词:PHP,Mysql,Apache,博客,Ajax。AbstractWith the progress of era, the rapid development of Internet, the communication between people is also on the basis of technological progress changing with changing.A blog is the fourth kind of network communication, after the Email,BBS, ICQ,it change

4、d the way people live, work and study.In recent years, blog in the domestic development at high speed,it can be used as a good platform for people to share articles, photographs, and ideas.Blog has become an emerging Internet media, and extends to the sales, business promotion and other mainstream a

5、pplications.Blog at the front desk is a simple web page, it is generally by the content simple, frequently updated posts.These articles are usually released in accordance with the date and year arranged in reverse chronological order.The content of the Blog according to different purpose can be divi

6、ded into a lot of kinds, such as industry news, personal ideas and works of the content such as blogs.Qindao blog management system development goal is to create a based on PHP and MySQL, using apache server, based on the Windows operating system, functionality is simple, flexible and lightweight st

7、ructure, elaborate content management system.This system mainly include user login and logout registration module, articles module, comments module, on-site search module, tag module , theme file module and so on, every module using the template processing system, this can make logical control code

8、and structure separately, makes the code easier to maintain and reuse.Due to the rise of the web, this blog system in terms of user experience has done a good work, use the Ajax technology, and do not refresh the humanized function can also update the page.The blog system integrated the current rela

9、ted technology, based on the campus communication to design, has the powerful function, easy operation, interface and pure and fresh, fast operation and simple maintenance etc.Keywords: PHP, Mysql, Apache, blogs, Ajax.目 录TOC o 1-3 h u HYPERLINK l _Toc10450 1绪论 PAGEREF _Toc10450 1 HYPERLINK l _Toc463

10、0 1.1 研究背景、目的和意义 PAGEREF _Toc4630 1 HYPERLINK l _Toc17988 1.2 国外研究现状 PAGEREF _Toc17988 2 HYPERLINK l _Toc14199 1.3 主要使用开发工具 PAGEREF _Toc14199 2 HYPERLINK l _Toc24983 1.3.1NetBeans PAGEREF _Toc24983 2 HYPERLINK l _Toc13629 1.3.2 Navicat PAGEREF _Toc13629 2 HYPERLINK l _Toc8876 1.3.3 其他使用工具与技术 PAGEREF

11、 _Toc8876 2 HYPERLINK l _Toc17897 2 系统分析 PAGEREF _Toc17897 3 HYPERLINK l _Toc27519 2.1 可行性分析 PAGEREF _Toc27519 3 HYPERLINK l _Toc5895 2.1.1经济可行性 PAGEREF _Toc5895 3 HYPERLINK l _Toc8451 2.1.2 技术可行性 PAGEREF _Toc8451 3 HYPERLINK l _Toc30982 2.2 需求分析 PAGEREF _Toc30982 4 HYPERLINK l _Toc31753 2.2.1性能需求 P

12、AGEREF _Toc31753 4 HYPERLINK l _Toc19212 2.2.2功能需求 PAGEREF _Toc19212 4 HYPERLINK l _Toc10835 2.3 用例分析 PAGEREF _Toc10835 5 HYPERLINK l _Toc27194 2.3.1 确定系统参与者 PAGEREF _Toc27194 5 HYPERLINK l _Toc2366 2.3.2 游客用户用例 PAGEREF _Toc2366 6 HYPERLINK l _Toc26682 2.3.3 注册用户用例 PAGEREF _Toc26682 7 HYPERLINK l _T

13、oc20129 2.3.4 系统管理员用例 PAGEREF _Toc20129 8 HYPERLINK l _Toc11020 2.4 小结 PAGEREF _Toc11020 9 HYPERLINK l _Toc23003 3 概要设计 PAGEREF _Toc23003 10 HYPERLINK l _Toc26732 3.1 系统设计原则 PAGEREF _Toc26732 10 HYPERLINK l _Toc30250 3.1.1面向用户原则 PAGEREF _Toc30250 10 HYPERLINK l _Toc16719 3.1.2标准化、规化原则 PAGEREF _Toc16

14、719 11 HYPERLINK l _Toc24754 3.1.3 成本效益优化原则 PAGEREF _Toc24754 11 HYPERLINK l _Toc9790 3.2 系统功能模块设计 PAGEREF _Toc9790 11 HYPERLINK l _Toc14316 3.3 数据库设计 PAGEREF _Toc14316 14 HYPERLINK l _Toc13213 3.3.1 数据库的概念结构设计 PAGEREF _Toc13213 14 HYPERLINK l _Toc26446 3.3.2 数据库的逻辑结构设计 PAGEREF _Toc26446 15 HYPERLIN

15、K l _Toc27936 4界面设计 PAGEREF _Toc27936 17 HYPERLINK l _Toc31080 4.1 前台页面设计 PAGEREF _Toc31080 17 HYPERLINK l _Toc14849 4.2 后台页面设计 PAGEREF _Toc14849 18 HYPERLINK l _Toc19414 4.3 各页面的跳转关系 PAGEREF _Toc19414 19 HYPERLINK l _Toc20394 5详细设计 PAGEREF _Toc20394 20 HYPERLINK l _Toc15271 5.1 博文显示模块的实现 PAGEREF _T

16、oc15271 20 HYPERLINK l _Toc26356 5.2 评论模块的实现 PAGEREF _Toc26356 21 HYPERLINK l _Toc22067 5.3 标签模块的实现 PAGEREF _Toc22067 23 HYPERLINK l _Toc14384 5.4 搜索模块的实现 PAGEREF _Toc14384 23 HYPERLINK l _Toc14715 5.5 模块的实现 PAGEREF _Toc14715 25 HYPERLINK l _Toc23691 5.6 登陆管理模块的实现 PAGEREF _Toc23691 26 HYPERLINK l _T

17、oc26741 5.6.1 登陆模块的实现 PAGEREF _Toc26741 26 HYPERLINK l _Toc26517 5.6.2 管理模块的实现 PAGEREF _Toc26517 26 HYPERLINK l _Toc15111 总结与致 PAGEREF _Toc15111 29 HYPERLINK l _Toc25070 参考文献 PAGEREF _Toc25070 301绪论1.1 研究背景、目的和意义博客(Blog)系统1997年开始出现在美国,2002年进入我国。作为网络信息发布的一种特殊平台,博客系统与我们传统的BBS论坛具有明显的不同。一是博客系统是一个简单的个人网页

18、,它以网络作为载体,将本人的心得感受,生活片段以与个人喜好等通过不断更新的帖子与其他人进行交流以与展示。博客己经变成了一个为用户服务的个性化信息展示平台。二是博客系统具有极强的个性化,可以根据博客所有者的喜好设计不同的风格和版式,定义不同的功能,比BBS更加自由。三是博客中蕴含着大量丰富的信息。由于博客系统能够很好的和他人进行交流,大量的博客所有者将自己日常工作生活的感受,对事情的看法,自己喜爱的文章、音乐、电影等通过帖子的形式与他人进行共享,从而在整个博客系统中拥有庞大的信息。博客是继Emal、ICQ、BBS之后出现的第四种网络交流方式。通过博客,用户可以方便地使用各种多媒体技术建立起个性化

19、的私密空间,并将该空间的容选择性的和他人进行交流、沟通。通过不断的交流,使得用户能够更好的自我学习,自我发展。可以说,博客是一种新的生活方式、工作方式以与学习方式。它在商业、教育、政治、经济、政务等领域中已经产生了巨大的影响和作用。根据有关专家的调查,学校与老师、老师与学生之间缺乏有效的交流是我国整个教育体系存在的一个重大问题,如何使得学校与老师、老师与学生之间能够更好的进行交流成为目前一个严峻的课题。博客系统的出现,从交流方式方面很好的解决了这个问题。通过博客系统,可以使得学校与老师、老师与学生之间得到更好的交流。学校可以了解老师和学生们的心理状态,老师和学生也可以了解学校信息和最新动态,老

20、师和学生还可以在博客上自由的学习和交流,很好的改善和发展师生间的关系,为学校与老师。老师与学生之间的交流提供了一个有效的平台。由此可见开发校园博客系统将有着非常重要的意义。1.2 国外研究现状由BfogHerald分析的2010年全球博客圈状况显示,全球博客总数达到146,625,599,这些博客中,4%是专业人士开办的,9%是企业博客,15%是兼职,因为业余爱好而开通博客的多达72%。博客的发展离不开互联网的发展,目前在互联网上的博客所能提供服务主要包括以下三种类型:1)专业型:该类以提供专业的博客服务为主,比如中国校园博客网,青青校园博客网,教师博客网等。2)附属型:博客服务在该类中只是对

21、其他的业务系统起辅助作用,是整个Web应用程序的一个子系统,如新浪、搜狐等。3)私人型:该类博客的使用者必须自己提供服务器空间,博客运行程序和域名,但给予用户的自由度也最大。1.3 主要使用开发工具1.3.1NetBeansNetBeans是一个开源的集成开发环境,自带Apache+MySql服务,能够在Windows环境下运行,支持PHP语言,可以帮助开发人员利用Java平台快速创建Web、企业、桌面以与移动的应用程序。1.3.2 NavicatNavicat是一套快速、可靠并价格相宜的数据库管理工具,是专为 MySQL 设计的高性能数据库管理开发工具,是以直觉化的图形用户界面而建的,符合数

22、据库管理员、开发人员的需要。1.3.3 其他使用工具与技术HTML、CSS、JS、AJAX、Dreamweaver、Fireworks等。2 系统分析2.1 可行性分析可行性研究的目的是用最小的代价在尽可能短的时间确定问题是否能够解决。但可行性研究的目的不是解决问题,而是确定问题是否值得去解。因此,可行性研究实质上是在较高层次上以较抽象的方法进行的系统分析和设计的过程。2.1.1经济可行性博客广告是网络广告的一种特殊形式,博客和传统网络媒体相比具有自身的突出特点,正是这些特点成为个人博客广告发展的优势所在。博客的受众是一群特定的人,成员通常具有某些相似的特点。不同类型的博客,细分程度高,定向相

23、对准确,广告商可根据相关类型的博客来投放广告,因此单位受众的广告价值就比较高。博客广告实现了“个人对个人”的人际传播。博客既是“媒体”又是“人”,同时由于博客上的广告通常被潜在的认为是博客个人在不同程度上予以认同的,因此也就有了博客个人与看博客的网民之间潜在的人际传播。博客广告相对传统网络广告来说参与性、互动性更强。另外组成博客主体和浏览者的通常是部分先觉大众,这部分人有比较强烈的表达欲和表现力,因此对于广告的参与意识相对来说也更强。博客广告的投放方式、付费标准多样,且成本相对低廉。博客广告能通过定位技术准确锁定人群,直接发布到目标人群面前。可以锁定广告商指定的目标人群所在区域(可具体到城市)

24、,投放到指定区域的网民面前;也可以通过分析网民的阅读习惯、访问历史等因素,锁定对之感兴趣的网民,直接投放到他们面前。2.1.2 技术可行性系统使用PHP语言进行实现。PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。PHP支持几乎所有流行的数据库以与操作系统,跟Apache服务器能够紧密的结合。所以经论证,该系统的实现在技术上可行。2.2 需求分析2.2.1性能需求性能需求指定系统必须满足的时间约束或容量约束,通常包括速度(响应时间),信息量速率,主存容量,磁盘容量,安全性等方面的需求。本需要满足短时间响应用户的操作,应该将响应时间控制在较短的时间,数据

25、会实时更新,本站还只是个小站,还不需要占用太多资源,当然如果有较大存和处理能力较强的服务器和硬件支持,速度上肯定有提高。而在安全性上,由于还是处在测试和完善阶段,此方面考虑稍微低一些。2.2.2功能需求1)前台要实现的功能:(1)简约的界面,色调柔和,以黑白红为主。(2)浏览博客的人可以自由发表评论,注册用户可以发表文章和评论,并且可以对已有的评论进行回复。刚发表的评论有预览效果。(3)博客有分类、归档功能,可以浏览特定类别和年月的文章。(4)搜索功能,能够对站所有的文章进行关键字搜索。(5)前台提供一些常用友情,可以通过用途和性质进行分类。2)后台要实现的功能:(1)能够对文章进行管理,包括

26、置顶、推荐、删除、分类修改、隐藏等操作。(2)能够对评论进行管理,包括编辑、审核、删除等操作。(3)能够对标签进行管理,包括添加、删除、合并等操作。(4)能够对用户和用户组进行管理,包括删除用户和用户组、更改用户的所在组、更改用户组所具有的权限、添加用户和用户组。(5)能够对连接进行管理,包括添加、删除、更改连接所属的组、添加组等操作。(6)能够对的主题进行管理,实现一键更改系统的主题风格。(7)能够对的大多数显示信息实现动态改动,包括博客名称、博客副标题、博客地址、博客关键字、博客描述等。另外能够对博客的显示格式进行改动,包括每页文章显示数、每页评论显示数、评论显示顺序等进行修改。2.3 用

27、例分析系统建模是对软件进行描述、可视化处理、构造和建立软件系统的一种方法。本博客系统采用国际上通用的RationalRose建模工具设计系统模型。2.3.1 确定系统参与者在功能性需求中首先要做的就是确定参与者(Actor)。博客系统和一般的Web网络应用系统没有很大的区别,业务逻辑功能和用例参与者都比较简单。经过分析,最后我们确定本系统参与者主要有以下三种:匿名用户、注册用户和系统管理员。本系统将采用当前比较流行的基于角色的权限管理模式,每个用户都属于某类角色,每个角色对应不同的权限。以上三类参与者各自的系统功能如下:(l)匿名用户这类用户在博客系统中权限最低,在还没有注册为系统用户的情况下

28、,这类用户作为普通的信息浏览者,只具备在进入该博客系统后进行日志浏览,查看自己喜欢的博客容,对某些感兴趣的博文进行评论这样的权限。当然这类用户也具备其他不限权限功能的使用,如博文的搜索、通过标签超找博文、通过博文归档查找博文、查看该博客的友情,注册成该博客的会员等等。(2)注册用户注册用户属于普通权限用户。除了具有游客用户所具有的的所有权限外,这类用户能够在自己的博客上发布博文、修改个人信息、查看自己在本博客中的权限,查看自己发表过的留言等,除此之外,还可以欣赏其他用户的博客日志,并且能够留言和对已有留言进行回复等权限。 (3)系统管理员系统管理员拥有的权限最高。首先系统管理员必须是注册用户,

29、除了具备注册用户的所有权限外,管理员还能够对整个博客系统进行全方位管理,比如:博文以与博文留言的管理、文章标签管理、博客主题管理、注册会员的管理、成员组权限的设定、优秀博文推荐、重要博文置顶、定义用户的权限、系统参数配置、系统的维护等等。2.3.2 游客用户用例通过互联网访问校园博客系统的这群人称为游客用户,游客用户具有以下功能:浏览日志和评论,进行博客浏览,查询日志发表评论,查看博客信息和会员注册等。2.1游客用户例图表2-1游客用户用例表用例名称游客用户功能简述游客用户所具有的权限前置条件进入后置条件无用户权限1)浏览博文和评论。2)发表评论。3)搜索博文。4)注册会员。2.3.3 注册用

30、户用例注册用户作为该系统的使用者,除了具备游客所具有的功能外,该类用户应具有以下主要功能:个人资料修改,个人权限查看,个人论评论查看。2.2注册用户用例图表2-2注册用户用例表用例名称注册用户功能简述注册用户所具有的权限前置条件已登录的注册用户后置条件无用户权限1)浏览文章和评论。2)发表文章和评论。3)更改自己的个人信息和密码。4)查看自己的权限和自己以前的回复。2.3.4 系统管理员用例系统管理员的权限最高,他们除了具有普通会员所具有的所有权限意外,还要负责整个系统的日常运行和维护工作,因此管理员应具备以下权限:管理文章、评论、用户、标签、主题、系统配置等等。2.3管理员用例图表2-3管理

31、员用例表用例名称管理员功能简述管理员所具有的权限前置条件已登录的管理员后置条件无用户权限1)浏览文章和评论。2)发表文章和评论。3)更改自己的个人信息和密码。4)查看自己的权限和自己以前的回复。5)管理文章、评论、标签、用户、连接、主题、系统设置。2.4 小结本章在技术可行性、经济可行性、操作可行性方面与对博客管理系统的各个功能需求和以后可能提出的需求进行了简要的分析。3 概要设计3.1 系统设计原则“博客系统”的开发和建设是一项复杂的系统工程,其建设的好坏将直接影响到博客的维护和更新,相对来说,博客系统的数据库设计要简单一点。因此,该系统在设计和建设中必须遵循以下几条原则。3.1.1面向用户

32、原则博客系统功能和界面设计遵循了以下几点原则:(1)功能结构的合理性 即系统功能模块的划分要以系统功能设计思想为指导,合理地进行模块化的开发,功能特点清楚、逻辑清晰、设计合理;(2)功能结构的完备性 根据系统应用目的要求,系统功能应适合各应用目的和围;(3)各功能模块的独立性 系统的各功能模块应该相互保持独立,各自具备一套完整的处理功能,且功能相对独立,重复度最小,即低耦合高聚;(4)功能模块的可靠性 模块稳定性好,操作可靠和方便,数据处理方法科学和实用;(5)功能模块操作的简便性 各子功能模块应操作方便,简单明了,对各种用户都便于掌握;(6)系统功能模块的易扩充性和开放性 系统应具有良好的接

33、口和方便的二次开发这就要为用户预留系统接口,以便用户在此基础上对其进行更新;(7)功能实用性 实用性是衡量软件质量中最重要的指标,它是软件成败的关键因素。因此,一个成功的应用型博客系统应该是非常复合用户需求,非常实用的。(8)界面美观性 在功能比较完善的情况下尽量做到操作简便,界面清晰美观。普通的互联网用户大多数都不是计算机专业人士,因此应尽量使用简单的界面看起来很直观而且具有良好的可操作性。3.1.2标准化、规化原则系统容、数据分类与编码、数据精度、作业规程等应采用或部分采用有关国家标准、行业标准和地方标准;对国家标准、行业标准和地方标准中没有包括但需规化的容,可补充制定临时规定。3.1.3

34、 成本效益优化原则(1)数据精度应满足应用需求为标准;(2)选择性能价格比最优的系统配置方案;(3)合理安排工作的优先顺序;3.2 系统功能模块设计所谓模块是指数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划分为若干个模块,每个模块完成一个子功能,把这些模块集中来组成一个整体,可以完成指定的功能满足问题的要求。根据系统设计原则,经过需求调查,确定本系统共6个完整的大功能模块,大模块的下面又分为几个子模块。各个模块结构如下图:图3.1系统模块结构图各模块功能介绍如下:1)文章显示模块:当用户进入首页时,系

35、统收线通过遍历数据库,以列表的形式依次显示文章的标题、摘要、作者、发表时间、文章分类、文章阅读次数、文章评论条数、文章所拥有的标签。当用户点击标题时,显示文章的详细容,并在文章的下面显示用户对本文的评论。2)评论模块:当用户点击文章标题时,在文章的下面显示该文章的评论。每条文章评论后面带有回复按钮,注册会员或者管理员用户可以对其他用户对文章的评价进行回复,实现良好的互动。评论的下方有发表评论编辑栏,用户可以在这发表对文章的新评论。3)标签模块:当用户点击文章标签时,系统会罗列出带有次标签的所有文章,这样可以有助于用户查看某一类的文章,节省了用户的超找时间。当用户点击导航栏上的标签栏时,系统会显

36、出所有文章的标签,用户可以通过不同的标签,只浏览拥有这一类标签的文章。4)文章搜索模块:用户既可以通过文章的标题进行搜索,也可以通过文章的容进行搜索。用户也可以对某一类文章进行搜索,缩小搜索的围,使超找出的结果更加精确。当然用户也可以根据文章发表的时间进行搜索,这样方便于用户超找某一个时间段发表的文章。用户还可以选择搜索结果的显示方式和顺序,结果可以以发表时间、阅读次数、评论次数进行升序或者降序的排列。5)模块:当用户点击导航栏的友情按钮时,为用户显示博主推荐的友情,可以分类显示,用户可以根据自己的需要到某一类里找到自己需要的;6)用户登陆模块:当普通注册用户成功登陆时,用户可以撰写文章进行发

37、表、查看自己的个人资料并进行修改、查看自己拥有的权限、查看自己发表过的留言。7)管理员登陆模块:管理登陆模块是后台管理主要模块的,要完成的模块如下:(1)文章管理,包括置顶、推荐、删除、分类修改、隐藏等操作。(2)评论管理,包括编辑、审核、删除等操作。(3)标签管理,包括添加、删除、合并等操作。(4)用户和用户组管理,包括删除用户和用户组、更改用户的所在组、更改用户组所具有的权限、添加用户和用户组。(5)管理,包括添加、删除、更改连接所属的组、添加组等操作。(6)的主题管理,实现一键更改系统的主题风格。(7)的大多数显示信息实现动态改动,包括博客名称、博客副标题、博客地址、博客关键字、博客描述

38、等。另外能够对博客的显示格式进行改动,包括每页文章显示数、每页评论显示数、评论显示顺序等进行修改。3.3 数据库设计3.3.1 数据库的概念结构设计概念结构设计就是将分析得到的用户需求转化为概念模型的过程。也就是在需求分析的基础上,能够设计出既满足用户需求的各种实体,又能反映出它们之间的相互关系的概念结构设计模型。概念结构设计是整个数据库设计的关键。系统总体E-R图如下:图3.2系统总体E-R图3.3.2 数据库的逻辑结构设计数据库中的表:博文表:该表的作用主要是为博文设置唯一的标示字段,记录博文的标题、描述、摘要、容、发布时间、标签、状态和来自于等基本信息,确定文章分类、作者,记录文章发表后

39、的访问量、回复量和是否被管理员置顶或者推荐等。其具体字段的详细信息如表3-1。表3-1博文表字段名称字段名数据类型长度备注博文ididint10主键分类idcidsmallint5用户iduidmediumint8用户名usernamevarchar20标题titlevarchar255url名字urlnamevarchar100状态statustinyint1密码passwordvarchar30来自于fromvarchar20来自于urlfromurlvarchar200描述descriptionvarchar150摘要excerpttext0容contentmediumtext0回复量c

40、ommentsmediumtext8访问量viewsmediumtext8发布时间datelineint10是否置顶istoptinyint1是否推荐iscommendtinyint1是否审核ischecktinyint1标签tagsvarchar2552)评论表:该表的作用主要是为评论设置唯一的标示字段,记录游客评论者的用户名、主页、email、其所在网络的ip地址,记录登陆用户评论者的id和用户名、其所在网络的ip地址,保存评论的容、发表时间、是否隐藏、文章是否审核、评论所属的博文等。其具体字段的详细信息如表3-2。表3-2评论表字段名称字段名数据类型长度备注评论ididint10主键博文

41、idadiint10归档idridint10用户iduidmediumint8用户名usernamevarchar20emailemailvarchar50主页homepagevarchar100容contenttext0时间datelineint10ipipvarchar15是否审核ischecktinyint1是否隐藏ishidetinyint13)用户表:该表的主要作用是为每个用户设置唯一的标示id,记录用户的用户名、密码、性别、主页、email、 、所属分组、注册时间等信息,记录用户最后一次登陆时间、登陆次数等。其具体字段的详细信息如表3-3。表3-3用户表字段名称字段名数据类型长度备

42、注用户ididmediumint8主键用户名usernamevarchar20密码passwordchar32性别sextinyint1主页homepagevarchar100emailemailvarchar50varchar15用户分组idgroupidsmallint5最后一次登陆时间lastloginint10注册时间regtimeint10登陆次数logincountint10ipipvarchar15日历表:该表的作用是记录根据博文发表时间进行的分类。其年月字段记录发表时间的年月,每个年月是一个归档;日字段记录文章的日期,博文id字段记录某年月某日所发表的所有博文的id。文章分类表

43、:该表的作用为文章的每一个分类确定一个唯一的标示id,记录该分类名字、描述、该分类所拥有的博文数等。配置表:该表主要用来记录博客系统的详细配置,其中有博客的名字、副标题、所属URL、描述、主题、页面大小、每页文章显示数等详细信息。表:该表的作用是记录模块所提供的超。起字段记录的容有该的标示id、所属的分组、名、的URL地址、的logo、的描述等基本信息。分组表:记录的分组。标签表:为标签提供唯一的标示id。记录标签的名字以与该标签下面所拥有的文章数。Session表:为用户登录后提供session功能。记录用户的id、用户名、用户密码、用户所属的组、用户所在网络的ip地址。用户分组表:为该分组

44、提供一个唯一的标示id,记录该用户组的组名,保存用户所拥有的权限等。4界面设计4.1 前台页面设计本系统的前台界面由文章容显示区、header区、footer区、sidebar区、评论区组成,这种界面设计参考了Opera的界面,简约明快,主色调以黑色、灰色、白色和红色为主。为保持各个页面的连贯性,采用分块设计。设计head.php作为各个网页的头部,设计foot.php作为网页的页脚,头部与页脚的色调以黑色调为主,醒目,突出重点。大背景色为灰色,博文显示区的背景色为白色,这样是使个页面看起来既简约又典雅,能够把容鲜明的体现出来,并且颜色过渡自然。博文的标题采用红色三号楷体,在白色背景下显得和谐

45、、醒目,直接映入浏览者视野。摘要,博文信息也采用灰色,呼应主题背景。sidebar区则采用黑色背景,白色六号楷体,体现了整个页面欢快,简约的风格。其界面具体布局如下图:图4.1前台布局轮廓图页面采用CSS+DIV的布局方式,CSS承载样式,DIV承载布局。将大部分页面代码写在了CSS当中,使得页面体积容量变得更小。相对于表格嵌套的方式,DIV+CSS将页面独立成更多的区域,在打开页面的时候,逐层加载。提高了加载速度。由于使用了DIV+CSS制作方法,在修改页面的时候更加容易省时。根据区域容标记,到CSS里找到相应的ID,使得修改页面的时候更加方便,也不会破坏页面其他部分的布局样式。4.2 后台

46、页面设计本系统的后台页面容由显示区、左侧边区、header区、footer区组成。颜色采用黑色,白色,浅蓝色。后台主体颜色采用冷色调,展示出管理界面的简约、严谨的氛围。其他技术方面与前台一样,只是色调与前台不同。起界面具体布局如下图:图4.2后台布局轮廓图4.3 各页面的跳转关系该博客系统页面采用框架式结构,整个系统页面的header区域和sidebar区域是不变的,当用户点击各个导航按钮时,只有content区域的容会进行更新。但是当用户点击“注册”、“登陆”,或者用户登陆后点击“用户中心”时,整个页面才会进行跳转。系统的前台页面跳转关系如下:1)当用户点击“博文标签”按钮时,页面将会在co

47、ntent区显示所有的博文标签。2)当用户点击“博文归档”按钮时,页面将会在content区显示所有的月份的归档与没个归档下的博文数。3)当用户点击“博文搜索”按钮时,页面将会在content区显示接收搜索关键字的出入框以与搜索限制的按钮。4)当用户点击“友情”按钮时,页面将会在content区显示所有的友情以与分类。5)当用户点击博文标题时,页面将会在content去显示该篇博文的详细信息、容以与用户对该片文章的评论。6)当用户点击“注册”按钮时,页面将会跳转至注册页面register.php页面。7)当用户点击“登陆”按钮时,页面将会跳转至登陆页面login.php页面。8)当用户登陆成功

48、后,用户点击侧边栏的“用户中心”按钮时,页面将会跳转至后台管理页面admin.php。系统的后台跳转关系如下:当用户点击“博文管理”按钮时,页面将会在content区显示管理博文的相关信息。当用户点击“评论管理”按钮时,页面将会在content区显示管理评论的相关信息。当用户点击“标签管理”按钮时,页面将会在content区显示管理标签的相关信息。当用户点击“用户管理”按钮时,页面将会在content区显示管理用户的相关信息。当用户点击“管理”按钮时,页面将会在content区显示管理连接的相关信息。当用户点击“主题管理”按钮时,页面将会在content区显示管理主题的相关信息。当用户点击“个

49、人管理”按钮时,页面将会在content区显示管理个人的相关信息。当用户点击“系统设置”按钮时,页面将会在content区显示系统设置的相关信息。5详细设计5.1 博文显示模块的实现博文显示模块是整个博客的主体容显示部分,如果将博文容也直接显示在该部分,容将会填充满整个屏幕,不利于用户浏览博文。所以默认情况下,博文显示模块只显示文章的标题、作者、发布时间、浏览量、回复数、标签、概要等基本信息,并且将所有博文通过列表的形式,逐次排列显示。当用户点击博文标题时,将博文的全部信息进行显示。当用户打开页面时,该模块首先进行用户权限的判断,通过一个check_purview()方法判断用户是否为管理员,

50、若为管理员,则对数据库中所用的博文进行查询;若不为管理员,则通过if ($rowishide = 0)判断语句,只查询不隐藏的博文。然后通过have_post()方法判断是否有符合条件的文章,如果有,再通过while( get_post() )语句,将文章进行遍历输出;若没有,则提示用户“抱歉,没有符合条件的文章”。当用户点击博文标题时,通过get_post_info(url)方法实现页面的重定向,显示该篇博文的详细容,并将博文浏览量进行+1操作。该模块的具体流程如图5.1。图5.1博文模块流程图5.2 模块的实现该模块的主要作用是为用户提供一些可用的友情。进行分类显示,用户可以根据不同的分类

51、,在这个分类中查找自己要找的。其实现主要是在显示页面调用get_friendlink()方法进行输出。get_friendlink()方法的具体实现代码如下:foreach ($_CACHElink as $gid = $group) $output.=$groupgroupname;if ( !empty($grouplinks) ) foreach ($grouplinks as $row) $text = (empty($rowlogo) & $showicon) ? $rowname : ;$output .= $textn;遍历link数组,将其容保存到$group变量。输出HTML

52、语句,显示组名$groupgroupname。判断组是否为空,若不为空,遍历该组中的,将的属性值当做HTML的容,输出该HTML语句。5.3 评论模块的实现评论模块分为两部分,一是评论的显示,二是评论的发表。评论作为博文的附属部分,依赖于博文的id字段,所以只有当用户点击博文标题,博文进行详细信息显示时,才会显示评论,并且在评论的下方给出编辑区,供用户进行博文评论和评论回复。当博文全部容显示完毕后,通过if ( have_comment() )语句判断该文章是否有评论,若没有评论,显示“暂时没有人发言”。若有评论,则需要先通过if ( check_purview(reply_comment)

53、)语句,判断用户是否为游客用户,若不为游客用户,将每条评论后面添加“回复”字样的超,以便其他用户对该条评论进行回复。通过while ( get_comment() )语句遍历输出评论。每输出一条评论,通过get_comment_info(content)判断评论回复是否为空,如果不为空则通过get_comment_reply(于,Y-m-d H:i, 回复:)函数依次输出评论回复。当评论全部容显示完毕后,通过if ( user_islogin() )语句判断用户是否已登录,若用户已登录,通过get_user_info(name)方法,告诉用户您已经用了哪个账户进行发言;若用户未登录,通过三个标

54、签,分别接收游客用户的昵称、主页。然后通过一个单选标签,让用户进行选择,判断用户要发表的是否是隐藏文章。最后通过标签接收用户发表评论容,提交表单。表单提交时,通过onsubmit触发javascript脚本,执行ajax_post_comment()方法。该方法可以判断用户权限,若用户为游客,判断用户输入的昵称、主页是否符合规。然后判断用户输入容是否为空,若不为空在判断评论是文章评论还是评论回复,根据分类进行数据库插入操作。最后进行实时显示回复信息。当用户点击一条评论后面的“回复”超时,通过href=#post_comment将页面转入评论编辑处,同时通过javascript脚本的reply_

55、name()方法,更改“发表新评论”标签,提示用户现在发表的是评论回复。这时虽然用户使用的是和发表博文同一个编辑区,但是当用户提交表单后,该条评论将会保存成某一条评论的回复,而不是博文评论。该模块的具体实现流程如下图5.2。图5.2评论模块流程图5.4 标签模块的实现标签模块是将所有博文的标签依次罗列,用户可以通过点击某个标签来显示拥有该标签的所有文章。标签的实现首先也要通过check_purview()检查用户的权限,若文章为隐藏文章,即使文章有标签,但是因为用户没有权限,也不予显示。然后调用get_tags()方法,依次显示数据库中的标签。get_tags()方法的定义包括遍历所有的标签,

56、对每一个标签添加超,实现当用户点击一个标签时,对页面进行重定向,调用博文显示模板,显示该标签下的所有博文。5.5 搜索模块的实现搜索模块也是该博客系统的核心模块,通过搜索,用户可以根据搜索条件快速的找到自己想要找到的博文,并按照自己的意愿进行排序输出。搜索模块的实现首先要定义一个搜索间隔变量$time_limit,该值可以任意给定,但需要适当合理,目的是防止恶意搜索使瘫痪。然后通过get_cookie(last_search)方法获得上次搜索时间,并将此值复制给$lasttime变量。将$lasttime + $time_limit的值与系统时间进行比较,若前者大于后者,则提示用户“对不起,X

57、秒只能进行一次搜索”。通过set_cookie(last_search, PHP_TIME)语句设置本次搜索时间,以供判断下次搜索是否合法。若用户搜索的字段只有一个字符,则搜出的容将很多,不具备分类性质,使搜索失去意义;若用户搜索的字段太多,则通过字段匹配又很难有完全符合情况。所以搜索时要检查搜索字符的大小,若字符过短或者字段过长,则不允许搜索,同时通过show_msg()方法提示用户,搜索的字符不能少于3字节或大于50字节。用户可以选择是通过标题或者容进行搜索。设置一个单选标签,根据该标签的值,通过一个if ($type = title)语句就可以实现两种不同的搜索。由于用户要搜索的时间可能

58、是近期,或者某一个时间段,再设置一个单选标签,标签的默认时间设置为全部时间,通过if ($time != all & is_numeric($time)语句来判断用户要对那个时间段进行搜索。由于用户可能需要对查询结果进行一定顺序的输出,再通过一个单选标签来接收排序的方式。然后检查用户权限,若用户不为管理员,根据文章是否隐藏字段,筛选掉隐藏文章。执行sql语句,按照以上要求进行查询。最后通过博文显示模板将查询结果进行输出。该模块的实现流程如下图5.4。图5.4搜索模块流程图5.6 登陆管理模块的实现5.6.1 登陆模块的实现登陆模块作为进入后台的入口,也是系统的一个重要环节。但是登陆模块不涉与复

59、杂的算法,所以将登陆信息的验证和界面的前台实现放在了同一个页面。因此,首先要通过check_submit(dosubmit)方法判断用户是初次打开登陆界面还是用户已提交表单。若为初次登陆,跳过后台处理,直接执行界面显示的HTML语言。若用户已提交登陆信息,则先要if ( strlen($username) 20 )语句判断用户名是否合法,若合法则继续通过elseif ( !is_username($username) )语句判断,用户名中是否有非法字符,然后通过if ( strlen($password) login($username, $password, $remember)语句,将登陆

60、状况赋值给一个标识变量$flag ,如果该标识变量为1,则通过goto_page(admin.php),将页面转入后台管理页面。若不为1,通过显示语句show_msg(登录失败,用户名或密码错误。, login.php)提示用户错误,并返回登录页面。5.6.2 管理模块的实现管理模块分为用户管理模块和管理员管理模块。用户管理的是用户的个人信息,其实是管理员模块的一个子模块,相当于管理员模块的个人管理,用户登录成功后,通过if ( is_superadmin() | check_purview(manage_login) )语句判断登录用户的权限,若用户为管理员,则显示全部管理模块,若为普通注册

温馨提示

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

评论

0/150

提交评论