1、PHP个人博客的设计与实现-毕业论文 作者: 日期:2 个人收集整理 勿做商业用途汕头职业技术学院计算机系 题 目: 个人博客的设计与实现 专 业: 09计算机应用一班 年 级: 09级 计算机应用班 学 号: 0930502138 姓 名: 贺朝阳 指导教师: 郑麟老师 完成日期: 2012 年 5 月 9日 汕头职业技术学院计算机系毕业设计指导教师评语专业:计算机应用技术 年级: 09计应一班 姓名:贺朝阳 题目:个人博客的设计与实现 指导教师评语:(包括对论文写作、作品和答辩情况的评语)评定成绩: 指导教师(签字): III摘 要目前Internet早已深入我们的生活,而这工程真正的开始
2、时间是1962年。发展至今已经变的异常庞大,而近段时间发展最快的当数电子商务系统。互联网经过各种高潮低谷起伏后,各种类型的网站如雨后春笋般突军崛起.然而随着计算机的发展和普及,Blog得到了极大的发展Blog是Weblog(网络日志)的简称,即个人博客系统。Blog是即E-mail、BBS、ICQ之后的第四种网络交流方式。它以个人为中心传播出版有影响力的消息、新闻、事件等,鲜明的个人特色引人瞩目,它以独特的视角、敏锐的观察力,不断的冲击传统媒体。传统的Blog已经满足不了社会的需要,拥有更多更新功能的Blog急需走上舞台。为了方便广大朋友沟通交流,特此开发了个人博客系统。本系统是根据网络需求而
3、设计的一款个人博客软件,本文主要介绍了个人博客系统中的前台查看日志,留言,评论,相册和后台管理的设计与实现。本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合jquery框架,以及JavaScript和HTML脚本语言,并采用了templates模板技术,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台个人博客系统。本设计后台主要包括四大模块:基本设置模块、日志管理模块、博客管理模块、相册管理模块,同时该系统又实现多用户权限管理功能,系统管理员可以查看到整个系统的所有模块,而普通用户只能查看到日志管理模块,这种多元化的权
4、限管理真正的实现了人人都可以博客,人人都需要博客,让更多的朋友都可以参与到博客中来,成为博客日志中的作者。【关键词】博客 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、
5、组织机构和角色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、系统主要功
6、能后台代码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在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开
7、放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。它是应时代的需求而兴起的,也是应时代需求不断进步的。 因此,我决定选择个人博客系统作为本人的毕业设计,力求开发出一套界面友好,功能强大,为广大的博友们提供高效、稳定,且在使用上又极其简单、舒适的博客服务。1.2、个人博客系统开发意义“博客”一词是从英文单词Blog翻译而来。随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构.它使交流和沟通更有明确
8、的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想.Blog正在影响和改变着我们的生活。Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台。系统加入聊天功能可以更加方便大家的交流.1。3、个人博客系统可行性分析1.3。1、可行性研究与个人主页相比较,博客的使用更方便、交互性更强。与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。BBS公共匿名性
9、很强,而个人性很弱,因此缺乏约束.电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。1。3。2、技术可行性本系统使用Zend Studio工具开发,数据库使用Mysql数据库,服务器是Apache。本人通过大学的学习,已经熟练掌握了这几种软件的开发技术,再加上指导老师的悉心帮助,因此技术上是可行的.1。3.3、经济可行性本系统的开发需要资金甚少,系统开发运行后,任何一个人都可以向博客管理者申请成为博客的会员,审核通过后即可在博客上发表日志成为博客系统的作者。因此在经济上是绝对可行的。1.3。4、操
10、作可行性本系统直观易懂,使用方便,用户可以直接上手.对于管理员,只要经过简单的培训,也可轻松管理本系统。第二章 相关技术概述2.1、B/S结构简介B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S
11、结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。2.2、Zend Studio简介Zend Studio是当今最伟大的PHP集成开发环境 。Zend Studio包括了PHP开发所有必须的部件,通过一整套编辑、调试、分析、优化和数据库工具
12、,使用Zend Studio 缩短了开发周期,并简化了复杂的应用方案,无容置疑,其已经是当今世上最强大的PHP集成开发环境。 Zend Studio的强大之处,除了一般编辑器所具有的代码高亮,语法自动缩进,书签功能外,它内置的调试器更是无可挑剔,支持本地和远程(debug server)两种调试模式,支持诸如跟踪变量、单步运行、断点、堆栈信息、函数调用、查看实时输出等多种高级调试功能。另外,最新版(Zend Studio 5。5。1)对中文的支持也是非常稳定的。2。3、PHP简介PHP(Hypertext Preprocessor超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。P
13、HP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。2.4、Apache简介Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 2。5、MySQL数据库简介MySQL是一个快速、多线程、多用户的小型关系型
14、数据库管理系统。它支持正规的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+)。jQuer
15、y使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择.jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。 a href=”?php echo blogname; ?span class=”description/span ul?php if(isset($curpage) ? lit/”?php echo Option::get(twnav
16、i);?/a/span?php else ? li?php echo empty($_GET) ? class=on : ; ?spana href=?php echo BLOG_URL; ?首页/a/span?php ? spana href=?php echo valurl; ? target=?php echo valis_blank; ??php endforeach;?php doAction(navbar, , /span/li); ? spana href=”?php echo BLOG_URL; ?admin/write_log。php写日志/a/span spana href
17、=admin/”管理/a/li admin/?action=logout退出/a/li spana href=”admin/”登录/a/span/li /ul /div /div ul lia class=”plus1 href= lia class=plus2 href=”订阅收藏/a/li lia class=”plus4 href=管理/li /ul /div5.3、系统测试5。3.1、用户修改密码1)用户名输入有误时系统提示如图5-6图5-6修改密码图2)用户密码错误时如图5-7图5-7用户名密码错误图5.3。2、添加日志1)用户添加日志时如果没有输入标题,系统会提示错误如图5-8图5
18、-8添加日志错误示图5.3。3、添加用户1)添加用户时如果没有输入用户名,系统会提示错误如图59图5-9添加用户错误示意图2)添加用户时如果输入的两次密码不一致,系统会提示错误如图5-10图5-10密码不一致错误示意图5.4、系统配置服务器端:WindowsXP服务器,Apache服务程序,MySQL数据库以及Zend Studio开发工具。WindowsXP中文全称为视窗操作系统体验版.是微软公司发布的一款视窗操作系统,比较稳定,目前是用户使用最多的系统。Zend Studio是Zend Technologies开发的PHP语言集成开发环境,优点是可以快速代码开发与配置本地和远程调试器,开发
19、效率很高。MySQL是一个精巧的SQL数据库管理系统,它具有强大的功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,为建立基于数据库的动态网站提供了强大动力.因此选择Mysql数据库作为后台数据库。Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用。综上所述,系统选用Windows xp 、Apache、Mysql、Zend Studio为软件配置方案。第六章 总结本系统开发的目的是提供一种个人文章发表、交流和展现的平台。系统继承和发扬了目前网络上比较流行的博客系统的特点,实现了较为完整的个人博客系统的各项功
20、能,包括用户登录和退出;日志的添加、浏览和分页删除;图片的添加、分页浏览和删除,以及日志的分类管理和多元化的用户管理,强大的相册功能以及简易的模块设置功能等。 相比于现在流行的个人博客系统,本系统还拥有以下特点:界面简洁,操作方便,界面美观实用,并且系统的后台管理功能相当强大,对于网站的大多属性都可以编辑修改,方便了管理员对系统的管理和设置。完成这个系统,我得到了很大的锻炼,从系统相关技术的资料搜集和学习,网站的可行性分析,需求分析,到架构设计,数据库设计,详细设计,再到具体的编码和开发、辅助工具的使用,全是在导师的指导和同班同学的帮助下由个人完成的,它涉及到了软件工程的方方面面。在之前所学知
21、识的基础上,这次毕业设计让我对开发一个工程有了更为深刻的认识。在系统的设计和开发过程中,我不断学习新的软件工程知识和开发技术,极大的高了我的编程水平和系统开发能力.通过对PHP动态网站相关知识的学习,使我对PHP的开发模式有了全新的认识,深刻感觉到自己知识的不足,使得自己查阅各种资料并学习,现在已经能够比熟练和灵活的运用这些技术.通过本次毕业设计,我学到了很多东西,例如:编程规范,PHP技术等。这次毕业设计是对我大学三年所学知识的一次综合应用,让我认识到了自己的不足,并不断的加强改进.在系统不断的完善改进中,我学到了很多新的知识,也懂得了很多。这使我对自己的未来充满了信心。参考文献1 屈喜龙,朱杰等.PHP开发动态网站实例荟萃.机械工业出版社,2011年3月2 明日科技,许登旺,邹天思等;PHP程序开发范例宝典,人民邮电出版社,2007年10月3 张志远。 JavaScript与客户端安全J. 东莞理工学院学报, 2011,(02)。 4 陶宏才.数据库原理及设计.清华大学出版社,2010年3月 5 王涌.PHP与相关数据库技术高级指南。电子工业出版社,2009年6 徐峰。 基于MySQL的PHP数据库访问技术 J. 计算机时代, 2011年02期7 陈军。PHP+MySQL经典案例剖析.清华大学出版社,2009年8月致谢