




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汕头职业技术学院计算机系 题 目: 个人博客的设计与实现 专 业: 09计算机应用一班 年 级: 09级 计算机应用班 学 号: 0930502138 姓 名: 贺朝阳 指导教师: 郑麟老师 完成日期: 2012 年 5 月 9日 汕头职业技术学院计算机系毕业设计指导教师评语专业:计算机应用技术 年级: 09计应一班 姓名:贺朝阳 题目:个人博客的设计与实现 指导教师评语:(包括对论文写作、作品和答辩情况的评语)评定成绩: 指导教师(签字): III摘 要目前Internet早已深入我们的生活,而这工程真正的开始时间是1962年。发展至今已经变的异常庞大,而近段时间发展最快的当数电子商务系统。互联网经过各种高潮低谷起伏后,各种类型的网站如雨后春笋般突军崛起。然而随着计算机的发展和普及,Blog得到了极大的发展Blog是Weblog(网络日志)的简称,即个人博客系统。Blog是即E-mail、BBS、ICQ之后的第四种网络交流方式。它以个人为中心传播出版有影响力的消息、新闻、事件等,鲜明的个人特色引人瞩目,它以独特的视角、敏锐的观察力,不断的冲击传统媒体。传统的Blog已经满足不了社会的需要,拥有更多更新功能的Blog急需走上舞台。为了方便广大朋友沟通交流,特此开发了个人博客系统。本系统是根据网络需求而设计的一款个人博客软件,本文主要介绍了个人博客系统中的前台查看日志,留言,评论,相册和后台管理的设计与实现。本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合jquery框架,以及JavaScript和HTML脚本语言,并采用了templates模板技术,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台个人博客系统。本设计后台主要包括四大模块:基本设置模块、日志管理模块、博客管理模块、相册管理模块,同时该系统又实现多用户权限管理功能,系统管理员可以查看到整个系统的所有模块,而普通用户只能查看到日志管理模块,这种多元化的权限管理真正的实现了人人都可以博客,人人都需要博客,让更多的朋友都可以参与到博客中来,成为博客日志中的作者。【关键词】博客 PHP MySQL 动态网页 B/S模式目录第一章 绪论11.1、个人博客系统开发背景11.2、个人博客系统开发意义11.3、个人博客系统可行性分析21.3.1、可行性研究21.3.2、技术可行性21.3.3、经济可行性21.3.4、操作可行性2第二章 相关技术概述22.1、B/S结构简介22.2、Zend Studio简介32.3、PHP简介32.4、Apache简介42.5、MySQL数据库简介42.6、Jquery简介4第三章 需求分析53.1、用户需求分析53.2、组织机构和角色53.2.1角色视图53.2.2角色说明63.2.3游客功能模块63.2.4用户功能模块73.2.5管理员功能模块73.3、数据分析83.3.1日志数据分析83.3.2说说数据分析83.3.3分类数据分析93.3.4页面数据分析93.3.5链接数据分析93.3.6用户数据分析103.3.7相册数据分析10第四章 系统设计114.1、系统功能模块概要设计114.2、系统功能模块详细设计114.2.1、系统功能结构图114.2.2、系统活动图134.2.3、用例分析134.3、数据库设计144.3、数据库结构设计144.3.2、数据库物理设计15第五章 系统实现175.1、系统主要功能后台代码175.1.1、会员登录175.1.2、后台页面195.2、系统前台代码205.2.1、前台页面205.3、系统测试235.3.1、用户修改密码235.3.2、添加日志235.3.3、添加用户235.4、系统配置24第六章 总结25参考文献25致谢26第一章 绪论1.1、个人博客系统开发背景个人博客(Blog)主要应用于3个方面:一是新的人际交流方式;二是以个人为中心的信息摘选和知识管理;三是以个人为中心的传播出版。blog作为个人的一种学习工具,简单易用,吸引人的兴趣。Blog在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。它是应时代的需求而兴起的,也是应时代需求不断进步的。 因此,我决定选择个人博客系统作为本人的毕业设计,力求开发出一套界面友好,功能强大,为广大的博友们提供高效、稳定,且在使用上又极其简单、舒适的博客服务。1.2、个人博客系统开发意义“博客”一词是从英文单词Blog翻译而来。随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台。系统加入聊天功能可以更加方便大家的交流。1.3、个人博客系统可行性分析1.3.1、可行性研究与个人主页相比较,博客的使用更方便、交互性更强。与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。BBS公共匿名性很强,而个人性很弱,因此缺乏约束。电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。1.3.2、技术可行性本系统使用Zend Studio工具开发,数据库使用Mysql数据库,服务器是Apache。本人通过大学的学习,已经熟练掌握了这几种软件的开发技术,再加上指导老师的悉心帮助,因此技术上是可行的。1.3.3、经济可行性本系统的开发需要资金甚少,系统开发运行后,任何一个人都可以向博客管理者申请成为博客的会员,审核通过后即可在博客上发表日志成为博客系统的作者。因此在经济上是绝对可行的。1.3.4、操作可行性本系统直观易懂,使用方便,用户可以直接上手。对于管理员,只要经过简单的培训,也可轻松管理本系统。第二章 相关技术概述2.1、B/S结构简介B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。2.2、Zend Studio简介Zend Studio是当今最伟大的PHP集成开发环境 。Zend Studio包括了PHP开发所有必须的部件,通过一整套编辑、调试、分析、优化和数据库工具,使用Zend Studio 缩短了开发周期,并简化了复杂的应用方案,无容置疑,其已经是当今世上最强大的PHP集成开发环境。 Zend Studio的强大之处,除了一般编辑器所具有的代码高亮,语法自动缩进,书签功能外,它内置的调试器更是无可挑剔,支持本地和远程(debug server)两种调试模式,支持诸如跟踪变量、单步运行、断点、堆栈信息、函数调用、查看实时输出等多种高级调试功能。另外,最新版(Zend Studio 5.5.1)对中文的支持也是非常稳定的。2.3、PHP简介PHP(Hypertext Preprocessor超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。2.4、Apache简介Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 2.5、MySQL数据库简介MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。2.6、Jquery简介Jquery是继prototype之后又一个优秀的Javascrpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。 这个就是我们网站的jq,这里面的代码不要深究,其实就是用js封装的。自己也能封装。jquery提供了很多便利的函数,如each(fn),但是使用这些函数的前提是:你使用的对象是Jquery对象。使一个Dom对象成为一个Jquery对象很简单,通过下面一些方式(只是一部分): 代码 第三章 需求分析3.1、用户需求分析过去很多人都喜欢写文章写日记以及交流自己的文章和作品,以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。现在的网络已经成为人们生活中不可或缺的一个元素,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片,音乐而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。个人博客现在已经成为很多人生活中必不可少的一个部分,方便了人与人之间的沟通和交流。用户模型如图3-1所示软件面向用户模型日志管理博客管理系统设置相册管理图3-1面向用户模型图3.2、组织机构和角色3.2.1角色视图如图3-2:用户管理员游客图3-2角色模型图3.2.2角色说明1)游客:可以查看到博客前台的所有内容,并可以对相关信息进行回复,游客可以联系管理员申请成为本系统会员。1)用户:成为会员后可以在博客随意发表日志和管理自己的日志,用户是系统的使用者之一。2)管理员:管理员是通过本系统进行日志管理,博客管理,相册管理的的高级人员,权限最高。3.2.3游客功能模块游客可以查看博客的日志、相册、博主和用户们的心情说说,以及回复留言板和评论日志及说说等功能。游客功能模块如图3-3.游客查看相册查看回复说说回复留言板查看评论日志图3-3游客功能模块用例图3.2.4用户功能模块用户登录到博客后台可以修改个人信息、管理评论,发布日志和说说,也可以存日志草稿并且管理日志。用户功能模块如图3-4.用户管理评论说说功能日志草稿管理日志写日志用户登录个人信息图3-4用户功能模块用例图3.2.5管理员功能模块管理员权限最高,可以进行该系统的所有操作。包括对日志信息、博客信息、用户信息和相册信息的管理,同时还可以修改博客的基本设置。管理员功能模块如图3-5.管理员基本设置相册管理博客管理日志管理登录图3-5管理员功能模块用例图3.3、数据分析3.3.1日志数据分析 日志模块包含标题,内容,标签,分类,以及高级设置等功能,其中高级设置选项包含日志摘要、日志访问密码以及日志置顶和允许评论等选项。日志数据设定概图如图3-6,3-7。日志标题内容标签分类高级设置图3-6日志数据设定概图高级设置日志摘要访问密码日志置顶允许评论图3-7高级设置设定概图3.3.2说说数据分析用户和管理员都可以登录后台输入心情文字,进行说说设置。说说数据设定概图如图3-8说说内容数据图3-8说说数据设定概图3.3.3分类数据分析该项只有管理员可以操作,分类数据包括序号,名称,别名等数据。分类数据设定概图如图3-9分类数据序号名称别名图3-9说说数据设定概图3.3.4页面数据分析该项只有管理员可以操作,页面数据包括标题、内容、转向地址、新窗口打开、页面接受评论等数据。页面数据设定概图如图3-10页面数据标题内容转向地址页面接受评论新窗口打开图3-10页面数据设定概图3.3.5链接数据分析该项只有管理员可以操作,链接数据包括序号、名称、地址、描述等数据。页面数据设定概图如图3-11链接数据序号名称地址描述图3-11链接数据设定概图3.3.6用户数据分析用户数据包括用户名、昵称、密码、电子邮件、头像、个人描述等数据。页面数据设定概图如图3-12用户数据昵称密码电子邮件用户名个人描述头像图3-12用户数据设定概图3.3.7相册数据分析相册数据包括图片名称,上传名称、上传时间,相薄、权限的数据分析如图3-13相册数据上传名称上传时间相簿图片名称权限图3-13相册数据分析概图第四章 系统设计4.1、系统功能模块概要设计本阶段设计的基本目标是解决系统如何实现问题,本阶段的主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由那些子系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。4.2、系统功能模块详细设计4.2.1、系统功能结构图经过对系统的需求分析,将前台子系统分为六部分:会员登录、日志显示、说说、相册、留言板、以及侧栏功能模块的展示。将后台子系统分为日志管理、博客管理、相册管理以及基本设置管理。其中日志管理包括写日志、草稿,日志、说说、标签、分类、评论;博客管理包括模块、页面、链接、用户。系统的功能结构模块图如图4-1所示。会员登录个人博客前台日志显示说说个人博客管理个人博客后台相册留言板侧栏栏目博客管理日志管理相册管理基本设置写日志草稿日志说说标签分类评论模块页面链接用户图4-1个人博客系统功能结构模块图4.2.2、系统活动图活动图用以描述一个过程或者插座的工作步骤,管理过程中的每一步或每一个工作步骤成为一个活动,每个活动都有一个活动名换成来表示,说明活动的主要内容,代表工作过程中的一步或一个步骤。本系统中的管理员活动图,其流程为管理员首先进入登录界面,输入用户名和密码,系统进行身份验证,若系统没有检索到用户名,则不允许登录,否则进一步比较用户密码,若登录成功则进入说管理模块。本系统活动图如图4-2。图4-2 管理人员登录活动图4.2.3、用例分析UML提供了用例图用于了解用户需求,用例图强调系统的整体性,强调系统外在的功能,强调系统对使用者有什么帮助和好处,强调系统与外部的交互。本文中采用用例技术进行需求分析的获取和分析。为了能正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。本系统的用例图如图4-3所示。管理员查看日志评论日志查看说说查看相册写日志说说管理评论标签日志分类博客管理相册管理博客设置游客用户图4-3个人博客管理系统用例图4.3、数据库设计4.3、数据库结构设计ER模型直接从现实世界抽象出实体类型及实体间的联系,然后用ER图来表示数据模型。它又两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER模型只能说明实体间予以的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。本系统的ER图如图4-4。图4-4 ER图4.3.2、数据库物理设计本系统采用的数据库管理系统是Mysql数据库。数据库名称为blogsnew,数据库中表分别为日志表、评论表、说说表、相册表、设置表。表4.1日志(blog_blog)表名称类型说明是否为空备注gidmediumint(8)编号否主键titlevarchar(255)日志标题否datebigint(20)日期否contentlongtext内容否authorint(10)用户否sortidtinyint(3)分类ID否typevarchar(20)日志名称否excerpt longtext日志摘要否viewsmediumint(8)浏览次数否comnummediumint(8)评论次数否topenum(n,y)置顶否allow_remarkenum(n,y)允许回复否passwordvarchar(255)日志密码否表4.2评论(blog_comment)表名称类型说明是否为空备注cidmediumint(8)评论编号否主键gidmediumint(8)日志编号否与日志表关联pidmediumint(8)回复编号否datebigint(20)日期否postervarchar(20)用户否commenttext评论内容否mailvarchar(60)电子邮件否urlvarchar(75)URL地址否ipvarchar(128)IP地址否hideenum(n,y)是否隐藏否表4.3说说(blog_link)表名称类型说明是否为空备注idint(11)说说编号否主键contenttext内容否authorint(10)作者否datebigint(20)日期否replynummediumint(8)回复数否表4.4相册(blog_ kl_album)表名称类型说明是否为空备注idint(10)相册编号否主键truenamevarchar(255)真实名称否filenamevarchar(255)上传名称否descriptiontext描述否albumvarchar(255)相簿否addtimeint(10)时间否表4.5设置(blog_options)表名称类型说明是否为空备注option_idint(11)设置编号否主键option_namevarchar(255)设置名称否option_valuelongtext值否第五章 系统实现5.1、系统主要功能后台代码5.1.1、会员登录 用户和管理员可以通过此模块登录到博客后台管理系统。博客登录页面如图5-1。图5-1- 登录页面调用function.login.php登录方法:function checkUser()代码如下: function checkUser($username, $password, $imgcode, $logincode = false)session_start();if (trim($username) = | trim($password) = )return false; else $sessionCode = isset($_SESSIONcode) ? $_SESSIONcode : ;$logincode = false = $logincode ? Option:get(login_code) : $logincode;if ($logincode = y & (empty($imgcode) | $imgcode != $sessionCode)return false;$userData = getUserDataByLogin($username);if ($userData = false)return false;$hash = $userDatapassword;$check = checkPassword($password, $hash);return $check;角色验证:function getUserDataByLogin()代码如下: function getUserDataByLogin($userLogin)$DB = MySql:getInstance();if ( empty( $userLogin ) )return false;$userData = false;if ( !$userData = $DB-once_fetch_array(SELECT * FROM .DB_PREFIX.user WHERE username = $userLogin)return false;$userDatanickname = htmlspecialchars($userDatanickname);$userDatausername = htmlspecialchars($userDatausername);return $userData;5.1.2、后台页面 管理员登录到后台页面如图5-2。图5-2 管理员后台首页5.2、系统前台代码5.2.1、前台页面博客前台页面分为四个部分,头部,尾部,中间日志输出以及侧栏功能模块。页面如图5-4,5-5图5-4前台首页图图5-5前台相册图页面加载代码: a href= lia href=首页 lia href=t/ lia href=首页 $val):if ($valhide = y)continue;if (empty($valurl)$valurl = Url:log($key);? lia href= target=?php doAction(navbar, , ); ? a href=admin/write_log.php写日志 a href=admin/管理 a href=admin/?action=logout退出 a href=admin/登录 a class=plus1 href= title=返回首页首页 a class=plus2 href=rss.php title=订阅博客最新文章 target=_blank订阅 收藏 a class=plus4 href=admin/ title=管理博客管理 5.3、系统测试5.3.1、用户修改密码1)用户名输入有误时系统提示如图5-6图5-6修改密码图2)用户密码错误时如图5-7图5-7用户名密码错误图5.3.2、添加日志1)用户添加日志时如果没有输入标题,系统会提示错误如图5-8图5-8添加日志错误示图5.3.3、添加用户1)添加用户时如果没有输入用户名,系统会提示错误如图5-9图5-9添加用户错误示意图2)添加用户时如果输入的两次密码不一致,系统会提示错误如图5-10图5-10密码不一致错误示意图5.4、系统配置服务器端:WindowsXP服务器,Apache服务程序,MySQL数据库以及Zend Studio开发工具。WindowsXP中文全称为视窗操作系统体验版。是微软公司发布的一款视窗操作系统,比较稳定,目前是用户使用最多的系统。Zend Studio是Zend Technologies开发的PHP语言集成开发环境,优点是可以快速代码开发与配置本地和远程调试器,开发效率很高。MySQL是一个精巧的SQL数据库管理系统,它具有强大的功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,为建立基于数据库的动态网站提供了强大动力。因此选择Mysql数据库作为后台数据库。Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用。综上所述,系统选用Windows xp 、Apache、Mysql、Zend Studio为软件配置方案。第六章 总结本系统开发的目的是提供一种个人文章发表、交流和展现的平台。系统继承和发扬了目前网络上比较流行的博客系统的特点,实现了较为完整的个人博客系统的各项功能,包括用户登录和退出;日志的添加、浏览和分页删除;图片的添加、分页浏览和删除,以及日志的分类管理和多元化的用户管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)广深签署协议书
- (2025年标准)广告品牌协议书
- (2025年标准)广场维护协议书
- (2025年标准)光伏钻孔协议书
- (2025年标准)管理股份转让协议书
- 《气候资源开发与利用方法研究》
- 2026届山东省济宁第二中学化学高三上期末教学质量检测模拟试题含解析
- 危险化学品经营企业经营许可证申请书
- 农村社区农业综合服务项目协议
- 企业管理创新孵化器建设和运营指南
- 勉县一中小升初数学试卷
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 第1课 中国古代政治制度的形成与发展 课件 统编版高中历史选择性必修1
- 药师考试历年真题综合测试试卷(含答案)
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- GB/T 14273-1993旋转轴唇形密封圈性能试验方法
- GB/T 12247-2015蒸汽疏水阀分类
- 期权风险管理课件
- 《护理伦理学》教学大纲(本科)
- 板带轧机刚度对热轧板形的影响
评论
0/150
提交评论