已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全日制本科生毕业设计题 目: 基于thinkPHP的校园博客设计学 院: 计算机与信息科学学院 专业年级: 计算机科学与技术2011级学生姓名: 周宏宇 学号: 20110514308 指导教师: 戴政国 职称: 副教授 2015年 5 月 8 基于thinkPHP的校园博客设计计算机与信息科学学院 计算机科学与技术 2011级 周宏宇指导教师 戴政国 摘 要:本系统是使用thinkphp框架制作的校园博客网页,有前端和后台两个模块。本次设计还利用了Css+Div、Jquery、MySQL等技术和Dreamweaver、xampp、Navicat for MySQL等软件,实现该网页前端博客展示、博客评论、搜索和后台的博客发布、用户信息的管理、修改、管理员操作等功能。完成网页的交互。关键词:thinkphp;MySQL;Jquery;动态网页设计;博客Abstract:This system is made using a framework thinkphp campus blog page, there are two front-end and back-end module.The design also makes use of Css + Div, Jquery, MySQL technology and Dreamweaver, xampp, Navicat for MySQL software, realize that the front page shows blog, blog comments, search and backstage blog publishing, management of user information, modify, administrator operations and other functions. Complete interactive web pages.Key words:thinkphp; MySQL; Jquery; dynamic Webpage Webpage design; blog 1 研究背景 博客(Blogger)的出现,使我们在互联网世界,第一次有了知识积累和文化指向。使人类由粗放的数字化生存,过渡为个人化的精确的目录式生存。博客们将工作、生活和学习融为一体,通过博客日志(Blog),将日常的思想精华及时记录并发布,萃取并链接全球最有价值、最相关、最有意思的信息与资源。校园博客是建立在校园网络中,学生之间的信息分享平台。同学梦通过校园博客这个平台,可以分享自己学习经验、文学创作和影片推荐等。把个人所好传播出去,传播知识和文化,供其他同学学习和欣赏,方便同学的学习交流,分享多一些快乐。在大学中同学都是在学习各类知识,正好利用这个特点建立校园博客,学习交流可以使同学在校园中学习了解到各方面的知识。2 开发环境简介为了方便系统的开发,由于自己安装Apache 服务器是件不容易,并且还需添加 MySQL、PHP 和 Perl等应用,更加困难。所有使用XAMPP,XAMPP。XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache。这样能更有效的提高系统开发都效率。2.1 开发框架THINKPHP3.2ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。ThinkPHP可以支持windows/Unix/Liunx等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite以及PDO等多种数据库,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。2.2 MySQL数据库MySQL 是一种关联数据库管理系统,MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。在此项目中对MySQL的使用,通过Navicat for MySQL此软件来完成。Navicat for MySQL1 是一款强大的 MySQL 数据库管理和开发工具,对于新用户仍然易于学习。提供类似于 MySQL 的用管理界面工具,解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。3 课题分析3.1 博客结构分析此网站为校园博客设计,使用THINKPHP框架来实现博客各项功能。首先要分析博客所需要的各项功能,前台有博客的显示、博客搜索、博客的评论,和后台管理的,普通用户的博客发布和本人信息的管理,管理员的对所有普通用户的个人信息、评论信息和博客信息的管理。3.2 网页用户需求分析此博客对不同的访问者有不同的权限:l 游客:只能对博客前台的已发布博客浏览,博客关键字搜索;l 普通用户:可以在博客下进行评论,发布博客和修改个人信息;l 管理员:除以上权限还可以对普通用户的博客进行修改;所有普通用户信息修改、添加普通用户,评论信息修改。4 网站总体设计4.1 前台博客设计前台网页是为了给每个访问者浏览的,一般没有任何权限设置。并且前台页面要提供访问者访问的方便,让访问者更加快捷的找到满足其需求的功能;同时也展示所有用户的浏览喜好。l 博客首页:此页面是展示所有最近发布的博客;l 博客版:此网页为各类型博客的版块;l 博客搜索:为了更方便找寻博客的功能;l 博客:当点击所需要访问的博客的展示页面;l 热门博客、博主其他博客:此为点击量大的部分博客,和你访问某一博客作者其他博客,方便浏览;l 博客评论:在博客展示页面下方有用户对此博客的相互评论和提问回答下图4-1为前台博客的功能描述:前台页面博客首页博客版博客搜索博客访问热门博客博客评论更多博客4.2 后台博客设计博客后台是针对注册过的用户提供的功能,后台提供对前台博客的发布,和用户个人的管理,并且有管理员对普通用户所有信息:博客、评论和个人信息的管理。l 注册、登录:注册和登录是实现后台必要功能;l 博客发布:每个用户可以发布自己编辑的博客;、l 用户信息:包含每个用户的博客中的昵名,博客空间名和性别等信息;l 修改密码:对已注册的用户个人的密码的更改;l 用户添加:此为管理员的权限,管理员自行添加新的普通用户;可以对所有普通用户的用户信息进更改;超级管理员则可以对管理员也可以进行信息管理,并可以更改所有用户的权限;l 博客修改:此为管理员对普通用户已发表的博客进行查看和修改;超级管理员则可以对管理员的博客进行管理;l 用户评论:此为管理员对前台所有博客评论进行查看和修改;超级管理员则可以对管理员的评论进行更改;下图4-2为后台博客的功能描述:后台页面博客发布普通用户管理员登录用户信息修改密码添加用户博客修改用户评论4.3 整体的架构 博客系统是使用THINKPHP3.2框架,在THINKPHP的基础上进行的设计和功能实现。而THINKPHP3.2是使用MVC的设计流程来实现网页的,MVC是模型(model)视图(view)控制器(controller),使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。l Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。l View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。l Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。下图4-3-1位MVC是模型关系:入口文件控制器数据库操作视图5 数据库设计5.1 创建数据库此博客网站是使用MySQL数据库的图形化管理软件Navicat for MySQL后台数据库blog。根据对博客网站的需求分析和遇到的实际情况,建立的数据库blog主要包含了一下几个数据表,分别为blog_blog(所有已发发布的博客信息)、blog_ping(所有博客的评论信息)、blog_type(博客的分类)和blog_user(所有用户的信息)这些4张表。(1) 表blog_blog存储所有用户发布的博客信息,如表5-1所示。表5-1 blog_blog表字段名称数据类型宽度主键否必填字段说明idint8是是博客编号,自增blognamechar32否是博客名称blogtext0否是发布的博客信息useridint8否是博主的编号typeint8否否博客的分类timeint10否是博客发布的时间dianint10否是博客的浏览次数(2) 表blog_ping为所有的用户对每个博客的评论信息,如表5-2所示。表5-2 blog_ping表字段名称数据类型宽度主键否必填字段说明idint8是是评论编号,自增thingtext0否是博客评论信息blogidint8否是评论博客编号useridint8否是评论者编号pidint8否是评论的级别timeint16否是评论发表时间(3) 表blog_type为博客的的不同分类,如表5-3所示。表5-3 blog_type表字段名称数据类型宽度主键否必填字段说明idint8是是分类编号,自增namechar16否是分类的名称(4)表blog_user为所有注册用户、管理员和超级管理员的信息,如表5-4所示。表5.1 user表字段名称数据类型宽度主键否必填字段说明idint8是是用户编号,自增usernamechar16否是所有用户IDpasswordchar16否是用户密码sexchar8否否用户性别namechar32否否用户显示昵名blognamchar32否否用户空间名didint4否是用户权限5.2 数据库E-R图由于网站的功能是属于多个数据库相互联系,因此使用E-R图来表示功中实体间的关系。下图为博客发布、评论发表、用户管理等E-R图5-2:1普通用户管理员博客发布管理11n管理评论1n116 详细功能设计6.1 前台评论功能在每篇博客下用户都可以进行评论,每篇博客在加载时,也要同时加载所有对于该博客的评论。并且在每条评论下,还可以对该评论进行下一级的评论。在加载一篇博客的评论时,对所有的该篇评论进行无限级分类的操作,实现评论的分级。功能实现流程图6-1所示,详细功能代码请看附录。是开始读取数据无限级分类评论加载进行评论是否登录发表评论写入数据库登录否加入评论中图6-1 用户评论流程图6.2 后台更改信息功能对于管理员有对所有普通用户的所有信息进行管理,如用户个人信息、所有博客信息和用户评论信息。可以对信息做不同的添加、删除、修改和查询的基本管理功能的操作。以管理用户信息为例,功能实现流程图6-2所示,详细功能代码请看附录。判断是否有权限登录用户信息添加用户修改用户显示信息修改信息写入数据库更新数据库读取用户信息数据图6-2 用户评论流程图该流程图是管理员对用户信息的修改和添加功能的实现。首先,在用户登录是会先判定是否有管理员权限,有管理员权限才能进行用户信息管理。其次,用户信息管理分为两块:第一为添加用户,添加用户只是向blog_user数据库添加用户的账号和密码信息;第二位修改用户信息,此功能用先读取原本用户已填写的用户信息,并显示出来,再在此基础上进行修改。7 系统测试在博客系统完成后,需要对该网站的每个功能进行测试。通过测试来确定每个功能是否完成了相应的效果,并对未达到理想效果的功能进行问题分析,从中找出问题所在并加以修改,修改后在测试直到达到正确结果为止。7.1 网站页面的测试网站页面样式的测试是最直观的,在运行博客系统每个功能时,测试网页样式的是否达到相应的样式效果,是否在测试功能时部分样式发生未设计中的变化。Jquery事件测试是否会正常执行,消除冒泡事件的发生。7.2 各权限用户的测试由于博客系统是对不同种类的用户同时开发的,会面对不同权限用户会有不同效果,避免产生不同权限用户权限的错乱。1. 未注册用户的测试未注册的用户主要测试未登录就可浏览的功能,测试博客前台首页博客的显示是否正常,前台的搜索功能是否可以搜索到正确的结果,测试搜索结果较多时搜索的分页也是否正常。测试对于未注册的用户进行的注册,注册的账号已经存在是否会还能注册等不正常结果。测试未注册的用户和未登录的用户直接进入后台界面,是否会出现此问题。2. 注册的普通用户测试普通用户的测试是测试仅为普通用户权限的用户能使用的功能。最基本的用户登录测试,用户的发布博客功能的测试,用户修改个人信息时个人信息显示是否正确,登录后用户在博客下进行的评论是否可行。普通用户界面是否会出现管理员用户的功能,直接进入管理界面必须遇到权限受限。3. 管理员用户的测试管理员用户测试是测试管理员对普通用户管理功能的测试。在管理员登陆后,后台页面中会比普通用户多出管理功能,管理员在执行管理功能时不会受到权限的影响,而管理员管理的对象只限于权限低一级的普通用户,对于管理员和超级管理员的信息不可操作。其中的超级管理员还有对所有用户的权限可以进行更改。8 实际效果的展示8.1 后台实际效果的展示整体后台功能布局的展示,如图8-1-1所示:图8-1-1 后台页面效果图8-1-1展示了超级用户登录后台撰写博客的界面和整体功能,整体功能包括:blog发布、博客列表、用户信息和密码修改的用户基本操作,与用户添加、博客修改和用户评论的管理员操作。后台管理员博客修改功能的实际展示,如图8-1-2所示:图8-1-2 博客修改功能图8-1-2展示了管理员的修改博客的管理操作,可以对比管理员权限低的用户的所有博客进行审核和修改,为方便大量博客信息的查找加入了,信息分页搜索的功能。登录界面的实际效果,如图8-1-3所示:图8-1-3 登录界面用户登录页面基本功能,账号填写、密码输入和验证码的检验。8.2 后台实际效果的展示前台首页的实际效果,如图8-2-1所示:图8-2-1 前台首页界面前台首页包括了,按时间发布倒叙的博客展示,热门博客的推荐和博客的搜索。博客内用户评论样式的效果,如图8-2-2所示:图8-2-2 用户评论界面评论界面首先展示了该博客下,所有各级评论,并且可以在各级评下在进行评论。9 总结该博客实现了博客的基本功能,但还可以有更好的方案,这需要更长的时间进行完善。使博客的功能更加的人性化,内容更加的丰富。该校园博客网站,还使用到了Ajax异步传输技术,此方法运用在用户评论中;还在博客撰
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二年级数学计算题专项练习1000题汇编
- 【初中物理】密度(教学课件) -2024-2025学年人教版(2024)八年级物理上册
- 河南省信阳市普通高中2024-2025学年高一上学期期中考试语文试卷(无答案)
- 封塑料用电动装置包装用产业规划专项研究报告
- 刮面石收敛剂市场发展预测和趋势分析
- 医用踝部支具产业深度调研及未来发展现状趋势
- 划艇产业规划专项研究报告
- 人教版八年级英语上册 Unit 3 暑假基础练习
- 动物用维生素市场需求与消费特点分析
- 卫生用消毒剂市场发展预测和趋势分析
- 粉丝见面会策划方案
- 主机改造方案图解
- 红外物理与技术(第2版)杨风暴课后习题解答
- 小说阅读的方法和技巧课件
- 入户申请审批表(正反面,可直接打印)
- Unit7大单元整体教学设计人教版英语八年级年级上册
- 9.1+创新是引领发展的第一动力(高效教案)-【中职专用】中职思想政治《哲学与人生》(高教版2023基础模块)
- 倒数的认识分层作业设计
- 盾构法施工超前地质预报初探
- 列管式换热器的设计计算
- 23秋国家开放大学《植物病虫害防治基础》形考任务1-4参考答案
评论
0/150
提交评论