基于PHP的个人博客系统的设计与开发_(含源程序)

基于PHP的个人博客系统的设计与开发_(含源程序)
基于PHP的个人博客系统的设计与开发_(含源程序)

毕业设计(论文) 题目基于PHP的个人博客系统的设计与开发

完成日期年月日

摘要

博客作为一种新的生活方式,工作方式和学习方式已经被越来越多的人所接受,并且正在改变着传统的网络社交的形式。个人出版变成了人人都可以实现的梦想,因此以博客为主的社交网络越发流行,越来越多的人选择写博客,博客正在影响和改变着我们的生活。因此开发一款功能强大,人性化的个人博客系统,必定会有很大的发展。

本网站采用了PHP+Mysql+Apache进行开发,前台用HTML嵌入PHP进行页面开发和优化,提示信息完善,界面友好有亲和力;后台采用Mysql开发和管理数据库。开发环境为Apache服务器。

经过需求分析、概要设计、详细设计、实现和测试等阶段的不断完善,最终实现了用户体验良好、界面设计美观、功能完善的个人博客系统。该系统会实现用户对日志、相片、微博、好友圈等常用的功能。

关键词:PHP技术MySQL 常用功能个人博客系统。

ABSTRACT

Blog as a new way of life, work and learning method has been accepted by more and more people, and is changing the working process of traditional network. And Personal publishing has become everyone's dream that can be easily realized, so the social media network mainly constituted by blog has become more and more popular. People choose to user personal blog and blog system is affecting and changing our lives. So, if we can develop a user-friendly Blog website with powerful functions, the perspective of it must be very bright.

This website is developed using PHP+Mysql+Apache, foreground using PHP embedded with HTML to do page development and manage user interface, perfect prompt information, friendly interface with affinity; Background is developed and managed using Mysql. Apache server is used for development environment.

After the procedure of software designing, coding and software testing, a user-friendly personal blog website, with beautiful UI and many useful functions has been built.

Keywords: PHP Technology MySql Common functions Blog Management System

目录

第一章绪论 (1)

1.1课题来源及研究意义 (1)

1.2国内外发展现状 (2)

1.3本论文的结构 (2)

第二章开发工具及相关技术 (4)

2.1开发工具 (4)

2.2运行工具 (4)

2.3 相关技术 (4)

2.3.1 PHP的工作原理及相关技术 (4)

2.3.2 MySQL数据库 (5)

2.3.3 Apache服务器 (5)

2.3.4 XHTML概述 (5)

2.3.5 CSS概述 (5)

2.3.6 JavaScript语言 (6)

第三章系统的需求分析 (7)

3.1可行性分析 (7)

3.2需求分析 (7)

第四章系统的概要设计 (11)

4.1系统总体结构 (11)

4.2系统数据库设计 (11)

第五章系统的详细设计与实现 (18)

5.1系统的流程设计 (18)

5.2系统模块设计 (19)

5.3系统的编码实现 (29)

第六章系统的测试 (33)

6.1测试简述 (33)

6.2系统的测试 (34)

6.3系统的分析 (37)

总结 (38)

谢辞 (39)

参考文献 (40)

第一章绪论

博客管理系统是一个给人们提供抒发个人情感、人与人之间进行良好沟通的平台,博客拥有真实的内容,人们可以通过博客记录下工作、学习、生活和娱乐的点滴以及发表文章和评论,从而在网上建立一个完全属于自己的个人天地,供朋友们浏览和分享,成为当今网络最为个性化和平民化的个人展示空间。对于博客用户,只要拥有博客,拥有不同以往的全新网上生活;对于博客服务商,则必须从功能提供转型到全方位社会服务的提供,建立虚拟社会,并负责维护运行,保证博客日常生活,所以开发一个简易的个人博客系统就显得尤为重要。

1.1课题来源及研究意义

本次毕业设计的题目是基于PHP的个人博客的设计与实现,调研主要在网络、相关期刊和大学校园内进行,并在大学校园内对一些学生进行了随机访问。

在网络技术逐渐渗入社会生活各个层面的今天,传统的交流方式也面临着变革,而网络博客则是一个很重要的方向。基于Web技术的社交网络可以借助于遍布全球的Internet进行,因此交流既可以是本地进行,也可以是异地进行,大大拓展了沟通与交流的灵活性。博客在现如今这个飞速发展的网络时代已经成为人们不可或缺的一部分,博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。一个典型的博客结合了文字、图像、其他博客或网站的链接、及其它与主题相关的媒体。能够让读者以互动的方式留下意见,是许多博客的重要要素。大部分的博客内容以文字为主。博客是社会媒体网络的一部分。Blog是继Email、BBS、ICQ之后出现的第四种网络交流方式,是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记代表着新的生活方式和工作方式,更代表着新的学习方式。

1999年末,软件研发商Dave Winer向大家推荐Edit This Page网站,Jeff A. Campbell发布了Velocinews网站。所有的这些服务都是免费的,他们的目的也很明确:让更多的人成为博客,来网上发表意见和见解。

网络作为21世纪信息传递的巨大载体,在信息社会中扮演者一个不可或缺的角色。随着互联网技术的高速发展,生活节奏的加快,博客也被越来越多的人选择作为交流的工具。博客是目前Internet上最流行、最时尚的应用。其内容有时效性,并且一般是分类,可通过评论等形式实现作者与读者的交流,同时提供有符合标准的内容摘要。作为一种新的生活方式、新的工作方式和新的学习方式以及被越来越多的人接受,并且正在改变着传统的网络和社会结构。网络信息不再是虚假的不可验证的;交

流和沟通更有明确的选择和方向性;个人出版变成了人人都可以实现的梦想。博客正在影响和改变着我们的生活。

在网络高速发展的今天个人博客给人们提供了良好的互动沟通的平台。使用博客的网民人数众多,博客的内容丰富多样,人们可以通过博客讨论工作、学习、生活和娱乐以及对个人近期状况有所了解,任何人都可以参与的互动,博客已成为当今网络最为多元化和平民化的互动交流的空间和平台。对于网民,只要有博客,就可以超越现实生活,拥有不同以往的全新网上生活

本网站基于B/S架构,使用PHP技术、MySQL数据库和Apache服务器。MySQL 数据库搭配PHP和Apache服务器可组成良好的开发环境,完全可以满足此次设计的需要。

1.2国内外发展现状

随着Internet的迅速发展,人们的学术交流已经不再局限于面对面的语言交流或学术报刊的文字交流,而是开始利用Internet上各种方便快捷的方式。如:专业学术系统、专门的BBS或者电子邮件等来进行交流和传播。在上亿的中国博客用户中平均每6~7天更新一次博客,活跃的博客用户数(一周内有更新的博客)达到上千万,约15%的用户每周更新博客,同时,大约有4%的用户每天都在更新博客。在更新的博客中,约45%的博客文章在500个汉字以内,500~1000汉字的博客文章约占16.5%,越是长篇大论的文章在博客中所占比例越少。

欧美和日本的Blog业起步比中国早,哪里有一些非常成熟的托管站。如推特(Twitter)就很有名,因其创新的时间轴,而受到用户的热烈追捧。推特(Twitter)发起于2006年7月,他的主要竞争对手就是Facebook,Facebook是一个社交网络服务网站,于2004年2月4日上线。Facebook是美国排名第一的照片分享站点,每天上载八百五十万张照片。

而国内的博客起步较晚,但在基于BBS和QQ空间的用户基础上,新浪博客与搜狐博客发展迅速,短短几年内已有数千万的用户基础。

1.3本论文的结构

本次课题主要研究对象是个人博客席通风。主要是针对解决目前微博管理中存在的问题,为顾客提供更便利服务的同时也为经营者带来更多的效益而进行了各项研究。系统采用目前网站开发的主流技术PHP技术,基于Windows 7操作系统开发,并采用了MySQL数据库。

本次开发按照软件工程的瀑布模型进行,与之相应的,论文结构如下:

第一章:绪论。包含内容有,介绍课题来源、国内外发展情况、以及论文结构。

第二章:开发工具及相关技术。介绍本系统开发所用的所有工具及技术。

第三章:系统的需求分析。包括系统的可行性分析,大致的功能模块。

第四章:系统的概要设计。包括系统的总体结构,主要功能模块设计以及数据库设计。

第五章:系统的详细设计与实现。包括系统的总体流程,以及主要功能模块的详细设计。

第六章:系统的测试与分析。

第二章开发工具及相关技术

2.1开发工具

Zend Studio是Zend Technologies开发的PHP语言集成开发环境,也支持HTML 和JS标签,但只对PHP语言提供测试支持。因为是同一个公司的产品,所以提供的Zend Framework方面的支持比其他软件好。Zend Studio是屡获大奖的专业PHP集成开发环境,具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,语法自动填充,书签,语法自动缩排和代码复制等功能,内置一个强大的PHP代码调试工具,支持本地和远程调试模式,支持多种高级调试功能。

2.2运行工具

XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建XAMPP 软件站集成软件包。这个软件包原来的名字是LAMPP,但是为了避免误解,最新的几个版本就改名为XAMPP 了。它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言:英文、简体中文、繁体中文、韩文、俄文、日文等。

2.3 相关技术

2.3.1 PHP的工作原理及相关技术

PHP,一个嵌套的缩写名称,是超级文本预处理语言的英文缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

PHP独特的语法混合了C、Java、Perl以及PHP自创语法。它可以比CGI或者Perl更快速的执行动态网页。PHP是将程序嵌入到HTML文档中去执行,做出的动态页面与其他的编程语言相比,执行效率更高;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码即可,这也是PHP高效率的体现之一。

PHP具有非常强大的功能,所有CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

2.3.2 MySQL数据库

MySQL 数据库MySQL技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。即:数据库技术是研究、管理和应用数据库的一门软件科学。数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun 公司收购。而2009年,SUN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2.3.3 Apache服务器

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将PHP/Perl/Python等解释器编译到服务器中。Apachehttp server是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。

2.3.4 XHTML概述

XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写。HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的标记语言,看起来与HTML有些相象,只有一些小但却重要的区别,XHTML是一个扮演着类似HTML的角色的XML。所以从本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。

2.3.5 CSS概述

CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现HTML或XML等文件样式的计算机语言。

CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的

能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS 能够根据不同使用者的理解能力,简化或者优化写法,针对不同人群有较强的易读性。

2.3.6 JavaScript语言

JavaScript-Sun公司的注册商标,是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初是由网景公司(Netscape)Brendan Eich设计的,是一种动态、弱类型、基于原型的语言,内置支持类。

Ecma国际以JavaScript为基础来制定ECMAScript标准。JavaScript也可以用于其它场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript、文档对象模型、字节顺序记号。

第三章系统的需求分析

需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂的过程。简言之,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。需求分析之所以重要,就因为它具有决策性,方向性,策略性的作用,它在软件开发的过程中具有举足轻重的地位。

3.1可行性分析

可行性分析(Feasibility Analysis),是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容:

1、经济可行性

由于开发此博客管理系统所需的硬件(计算机及相关硬件)和软件环境(PHP+MySQL),市场上都容易购买到或从相关网站下载,系统成本主要集中在本管理系统的开发与维护上,对用户不造成过重的经济负担,而且,目标系统不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本管理系统的开发成本,所以从经济方面讲开发此系统是可行的。

2、技术可行性

本系统采用PHP+Mysql+Apache进行开发,其中前台用HTML嵌入PHP进行页面开发和管理用户界面,提示信息完善,界面友好有亲和力;后台采用Mysql数据库开发和管理数据库。本系统的开发环境使用现在特别流行的开源Apache服务器,使用方便、运行稳定、安全可靠。PHP+Mysql+Apache这个国际公认的网站开发黄金组合,在博客系统开发上,得到广泛的应用。如网易博客、百度空间、新浪博客等大型博客网站。综上所述,本系统在技术方面是可行的。

3、运行可行性

本软件是为个人用户开发的,使用本软件的用户对象是个人,由于本网站要设计成友好的界面,用户只需懂得上网,就能轻松使用本博客的功能,所以从以上几个方面的分析来看,开发本博客是完全可行的。

3.2需求分析

本系统是一个基于Web的网上博客管理系统,系统基于Web的工作界面,使网络爱好者无论身处何地,都能在浏览器中直接对新闻进行录入、浏览、修改、删除、

查阅等新闻管理工作。在操作使用上十分方便,通过Web浏览器就可使用本系统,同时所有的操作都是基于Web的的操作方式,如:链接、按钮、文本框等等。所有的操作通过浏览器完成。

3.2.1系统定义

本系统是针对注册用户个人开发的基于PHP的个人博客系统,系统用户为注册用户。

考虑到个人博客的实用性,本系统采用分栏布局,将常用的博客导航栏(包括首页、个人主页、好友、在线游戏等按钮)、全站搜索引擎、头像设置模块、每日推荐和人气之星作为分模块嵌入至每一个主模块的相应位置,方便用户在任何界面可以对以上各项进行方便快捷的操作。博客的主模块分为注册登录、首页、日志、相册、好友圈、在线游戏等。可以基本实现对日志、相册、微博和用户好友的增删改查。3.2.2功能需求分析

个人博客系统主要需要实现以下基本功能:

(1)用户注册和登录

这部分功能又分为用户注册、用户登录、用户退出三个部分。

用户注册:游客将个人的信息存储到博客网站的数据库中,注册时要求填写用户的各种详细信息,包括id、真实姓名、Password、性别、生日、其它辅助信息。凡是符合要求的游客都可以注册成功,成为本博客的正式用户。系统接受这些信息并存储在服务器端的数据库中。

用户登录:主要用于验证博客网站用户信息的真实身份,以便对博客网站进行管理和维护。通过注册后的用户用个人注册的用户名,密码登录到网站。网站检测用户的用户名,密码并给予其相应的权限对博客网站进行操作。

用户退出:已经登陆的用户可以退出,释放自己所占有的各种信息资源。

(2)微博状态管理

用户可以发布、修改、删除自己的状态,好友们可以针对此条状态进行回复和分享。

(3)文章管理

文章管理主要有文章的发表、查询、浏览、评论和删除功能。

文章的发表:注册用户可以发表自己的文章,文章包括主题、正文、表情、图片等信息,作者通过各种元素来展示自己的想法和思想。系统接受这些信息并且存储在服务器端的数据库中。

文章的删除:注册用户可以删除自己已经发表的文章内容和各项信息,系统自动在服务器端数据库中删除这些记录。

文章的浏览:访客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息,包括标题、正文、表情、图片以及其它读者的留言评论。

文章的评论:文章的读者可以评论和回复所阅读的文章,发表自己的看法。系统自动将这些评论存储在服务器端的数据库中,并且可供博客作者以及其它读者浏览。

文章的查询:注册用户可以按文章题目或作者来查询想要查的文章。

(4)图片管理

图片管理主要分为两个部分:相册管理和相片管理

相册管理:用户可以通过相册管理模块来新建、删除、修改和浏览相册

图片管理:当用户点击相应相册时,进入该相册的图片管理模块,可以添加,浏览、删除和浏览相片。注册用户可以添加自己喜欢的图片描述,还可以查询和浏览系统中的所有图片信息。而访客只能浏览博客系统中的所有图片。

(5)留言板管理

注册用户在登录的情况下可以在他人的博客留言,留言在博主的审核通过后发布,同时博主也可以对已发布的留言进行删除操作。

(6)朋友圈管理

注册用户可以添加自己的朋友信息到朋友圈,可以再浏览和查询朋友信息的前提下,进行删除朋友信息操作。

(7)在线游戏

内置了很多网上热门游戏,并链接到相关游戏页面,当用户点击游戏是,跳转至相对应界面。

(8)头像管理

用户可以通过该模块上传、修改自己的博客头像。

(9)好友活跃度排名

通过查询相关数据库,该模块可以显示用户好友的活跃度排名以及博客的访问量。

3.2.3系统用例图

用例图中包含的元素除了系统边界、角色和用例,另外就是关系。关系包括用例之间的关系,角色之间的关系,用例和角色之间的关系。由于角色实质上也是类,所以它拥有与类相同的关系描述,即角色之间存在泛化关系,泛化关系的含义是把某些角色的共同行为提取出来表示为通用的行为。下面的用例图描述了本系统各个角色以及角色和用例之间的关系,如图3-1所示。

图3-1 用户用例图

第四章系统的概要设计

4.1系统总体结构

根据个人博客系统本设计主要实现用户注册、文章管理、微博管理、留言管理、评论管理相册管理和搜索引擎等功能。

根据需求分析,设计出个人博客系统的总体结构。系统功能结构图如图4-1所示。

图4-1 系统功能结构图

4.2系统数据库设计

4.2.1实体-联系图(E-R图)

实体联系图:简记E-R图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。根据以上各节对系统所做的需求分析和系统设计,规划出了本系统中使用的数据库实体及实体间的联系。

本系统设计规划出来的实体共有11个,它们分别是注册用户、微博、微博评论、朋友圈、最近访客、相片、相册、相片评论、日志、日志评论和留言板,下面对几个

主要的实体进行说明

注册用户实体属性图如图4-2所示。

图4-2 注册用户实体属性图日志实体属性图如图4-3所示。

图4-3 日志实体属性图留言板实体属性图如图4-4所示。

图4-4 留言板实体属性图

根据个实体之间关系可知,整个系统的E-R 图如图4-5所示。

图4-5 系统总E-R 图

4.2.2系统数据库关系

根据E-R 图,建立系统各个数据库之间的关系,如图4-6所示

图4-6 系统数据库关系

4.2.3数据库表结构设计

根据总体的E-R图,可以设计出如下表结构。数据库中共11张表格,表明分别为:USRE,MICROBLOG,MICROBLOG_COMMENT,FRIEND,LATEST_GUEST,PHOTO,PHOTO_LIST,PHOTO_COMMENT,ARTICLE,ARTICLE_COMMENT,BLOG_COMMENT。分别对应:注册用户表,微博表,微博评论表,朋友圈表,最近访客表,相片表,相册表,相片评论表,日志表,日志评论表,留言板表。

注册用户表的主键是会员号,存储了通过登陆主页注册的用户信息,作为系统使用者中的一个主要角色,会员号也是其他表的外键。其详细表结构设计如表4-1 所示。

表4-1 注册信息表

微博表的主键是微博号,存储了微博发布的内容、时间、发布者等信息。详细表结构设计如表4-2所示。

表4-2 微博信息表

微博评论信息表的主键是评论ID,存储了微博评论的内容、评论者与被评论者、发布时间等信息。其详细表结构设计如表4-3所示。

好友圈信息表的主键用户ID,存储了注册用户好友的详细信息。其详细表结构设计如表4-4所示。

表4-4 好友圈信息表

最近访客表的主键是用户ID,该表存储了最近9个好友来访。详细表结构设计如表4-5所示。

相片信息表的主键是相片ID,该表存储了一张相片的详细信息,详细表结构设计如表4-6所示。

表4-6 相片信息表

相片评论表表的主键是用户ID,此表存储了注册用户每一张相片的评论详细信息。详细表结构设计如表4-7所示。

表4-7 相片评论表

相册信息表的主键是相册ID,此表储存了注册用户新建相册的所有信息。其详细表结构设计如表4-9所示

表4-8 相册信息表

日志信息表的主键是日志ID,储存了日志发布者、内容、发布时间、阅读量等信息。其详细表结构设计如表4-9所示。

表4-9日志信息表

日志评论信息表的主键是用户ID,存储了日志评论的内容、评论者与被评论者、发布时间等信息。其详细表结构设计如表4-10所示。

相关主题
相关文档
最新文档