基于PHP的个人博客的设计与实现_第1页
基于PHP的个人博客的设计与实现_第2页
基于PHP的个人博客的设计与实现_第3页
基于PHP的个人博客的设计与实现_第4页
基于PHP的个人博客的设计与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

371.2.3B/S结构在当前Internet/Intranet领域“浏览器/服务器简称B/S”结构是非常流行的客户机/服务器结构。在B/S体系结构系统中用户通过浏览器向分布在网络上的许多服务器发出请求服务器对浏览器的请求进行处理将用户所需信息返回到浏览器。B/S结构简化了客户机的工作客户机上只需配置少量的客户端软件。服务器将担负更多的工作对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求而其余如数据请求、加工、结果返回以及动态网页生产等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来由Web服务器单独组成一层来负担其他任务这样客户机的压力减轻了把负荷分配给了Web服务器。这种三次体系结构如图1所示。Web服务器数据库服务器互联网客户机1客户机2客户机3图1B/S三层体系结构这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器使客户机一下子“苗条”了许多不再负责处理复杂计算和数据访问等关键事务只负责显示部分所以维护人员不再为程序的维护工作奔波于每个客户机之间而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立任何一层的改变不会影响其它层的功能。1.2.4数据库技术数据库是数据和数据库对象的集合其中数据库对象指表Table、视图View、存储过程StoredProcedure和触发器Trigger等。数据库通过SQLStructuredQuery5Language来对数据进行操作和管理这里包括一些基本的操作如select、delete、insert、update语句。MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。它支持正规的SQL查询语言和采用多种数据类型能对数据进行各种详细的查询等。MySQL提供了一全套的数据库创建和访问机制通过很直观的方式就可以创建、访问、修改数据库的表和项并且能建立它们之间的各种数据关系。MySQL系列从90年代就发展起来经过了多年的反展它已经成为非常成熟的技术面向中小型企业级应用。MySQL数据库的特点是数据库文件小而简单不需要运行或者启动数据库服务进程就可以使用。通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中正是由于这些特点MySQL数据库通常被用来作为网站开发的数据库支持技术。对MySQL数据库的管理采用图形化管理工具phpMyAdmin。phpMyAdmin是一个用PHP编写的、基Web的、跨平台的MySQL管理程序支持简体中文使用Web浏览器作为管理界面。通过phpMyAdmin可以进行绝大部分的MySQL操作包括对数据库级操作表级操作,以及数据管理等。标准SQLODBC驱动程序管理器标准SQLODBC驱动程序管理器DBADBAODBCFororacleODBCForDB2ODBCFODBCFororacleODBCForDB2ODBCForMYsqlODBCForSQLserverDBMADBMAOracleSQLServermysqlDB2OracleSQLServermysqlDB2Data数据库应用DBA通过数据库管理系统DBMS数据库应用DBA通过数据库管理系统DBMS访问数据库标准SQL语言通过各种ODBC驱动程序管理器翻译成对应数据库命令来访问各种数据库图2数据库管理系统和接口的原理1.2.5Apache技术Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展Perl/Python解释器可被编译到服务器中完全免费完全源代码开放。Apache服务器拥有以下特性1支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程2支持通用网关接口3支持基于IP和基于域名的虚拟主机4支持多种方式的HTTP认证5集成Perl处理模块6集成代理服务器模块7支持实时监视服务器状态和定制服务器日志8支持服务器端包含指令(SSI)9支持安全Socket层(SSL)10提供用户会话过程的跟踪11支持FastCGI通过第三方模块可以支持JavaServlets。1.2.6JavaScript语言JavaScript语言是一种基于对象Object和事件驱动EventDriven并具有安全性能的脚本语言。使用它的目的是与HTML超级文本语言、JavaAppletJava小程序一起实现在一个Web页面中链接多个对象与Web客户交互作用从而达到开发客户端应用程序的目的。JavaScript是通过嵌入或调入在标准HTML语言中实现它的出现弥补了HTML语言的缺陷。在JavaScript语言的配合下能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来.。2系统可行性分析设计2.1开发的目的和背景这里首先简要介绍系统可行性分析的目的和系统开发的相关背景。1、编写目的可行性分析主要介绍开发项目的一些背景系统的各方面可行性从技术、本系统的前景以及当前个人博客的特点和需求等方面展示本系统的优势和限制主要对象是网络中的上网用户以便作出正确的后继设计与开发决策。2、项目背景写日记、文章一直以来都作为很多人表达自己感情展示自己才华以及与外人沟通的重要方式也成为了很多人生活中的重要部分。过去人们都是靠纸和笔来实现甚至到之后有了电脑也最多用文本编辑软件来写最后还是得通过人工交换自己所写的东西无论是纸张作为载体还是电子存储设备作为载体。这样极大缩减了交流的范围和速度以及交流的频度。随着网络的开速发展它已经走入大众生活所以自然而然诞生了个人博客这样一个新兴事物它不仅仅能取代前面所说的功能还能加入图片、音乐而且使得作者更能无所拘束地生动地写出自己想写的旁人也能非常便捷地阅读并且加以评论并且它还能作为展示个人个性的窗户。更重要的是网络个人博客利用网络的巨大优势可以非常快捷、广泛而没有界限地自由交流。交流速度快、交流范围广以及可以让网络中任何人浏览、评论是博客的最大特点正是有了这些特点个人博客现在已经成为很多人生活中必不可少的一个部分它让更多人了解作者的心声方便了人与人之间的沟通和交流。2.2系统目标和研究方法1、系统的目标该目标主要是结合与传统系统即传统以纸张或者磁盘、光盘为载体的写作模式的比较而定。人力和设备的节省传统系统主要是通过人力写作并且载体是纸张或者磁盘、光盘。而通过本系统可以节省一定写作人力并且利用网络存储方式节省了纸张资源和笔墨资源或者磁盘、光盘资源的使用。(2)界面美观和便捷的提升本系统相对传统系统而言利用了多媒体的各种视觉效果可以方便加入图片和背景以及表情有明显的界面美观和直观的优势。

(3)编辑修改的提升本系统可以使对文章或者一些图片背景等的编辑修改变得非常容易非常便捷和快速。只用修改局部不用返工并且不会留下视觉瑕疵。(4)交流广泛性和速度的提升通过网络这种媒介使得文章、日志的交流变得非常广泛不会受到地域和世界的限制世界各地任何人都可以享受交流的服务。并且交流的速度比传统更加快速方便不通过传统载体的传递。2.3传统系统的分析1、处理流程传统系统处理流程总体功能级数据流图所示该图给出了传统方式的写作文章以及交流的方式和流程途径。D1作者思维D1作者思维获取创作信息获取创作信息获取创作信息获取创作信息文章作者文章作者构思/写作文章文章作者文章作者文章作者构思/写作文章文章作者图3传统系统处理流程图3传统系统处理流程2、数据流图传统系统的数据流图如图4所示该图主要给出了传统的以纸张或者磁盘为载体的文章、日志写作和交流的数据流程D1文章载体D1文章载体获取文章内容写作/修改命令获取文章内容写作/修改命令交流处理文章写作文章事务事务写作事业文章作者交流处理文章写作文章事务事务写作事业文章作者文章交流记录文章交流信息D2文章交流记录文章交流信息D2文章交流信息文章交流信息交流处理文章作者交流处理文章作者日记日记图4传统系统数据交流图图4传统系统数据交流图2.4所要开发的系统的分析对所要开发的系统的分析是从系统的描述和优越性用开发的系统的处理流程和所开发系统的数据流图DFD来说明的。1系统的描述和优越性该系统是适应当前网络特点和个人个性的情况下开发的个人博客主要用于文章和系统的优越性主要体现在编辑的便捷和修改的方便以及文章的多媒体性和生动性还有就是交流的广泛性和快速。详细情况在绪论、背景以及在2.2.1已有介绍。2处理流程所开发的系统处理流程总体功能级数据流图如图5所示该图给出了所要开发系统的系统工作、写作文章和文章交流的方式以及流程途径。评论数据库D2文章数据库D2用户数据库D1评论数据库D2文章数据库D2用户数据库D1文章信息文章信息评论信息查询命令添加/评论信息查询命令添加/修改命令用户数据结果查询/修改命令文章作者权限事务文章文章作者权限事务文章事务读者事务阅读/评论事务发表文章事务登录/操作业务文章阅读/评论事务发表文章事务登录/操作业务文章作者图5所要开发系统处理流程图5所要开发系统处理流程3数据流图所开发系统的数据流图如图6和图7所示它们都是进一步分解后的数据流图。其10中图6是用户管理的功能分解数据流图而图7是文章管理以及评论的功能分解数据流图。图7涉及到用户文章和评论事务和数据库的频繁存储交互体现了个人博客中文章、日志发表和评论的功能是个人博客系统中比较主要的一项事务过程。登录信息登录事务登录信息登录事务事务用户D1D1登录事务处理接受事务用户D1D1登录事务处理接受事务成功失败信息用户注册信息账号事务权限事务接受事务用户管理事务处理事务注册事务事务操作结果接受事务D1成功失败信息用户注册信息账号事务权限事务接受事务用户管理事务处理事务注册事务事务操作结果接受事务D1注册事务处理注册事务处理系统系统管理员图图6系统数据流图用户权限/管理D2文章数据库事务编辑信息文章编辑信息接受事务编辑事务处理事务编辑信息文章编辑信息接受事务编辑事务处理事务文章作者操作结果信息操作结果信息文章数据库D2成功/文章数据库D2成功/失败信息文章内容信息文章内容信息阅读操作命令事务登录事务阅读操作命令事务登录事务文章作者接受事务阅读事务处理接受事务阅读事务处理文章数据库D3事务添加/文章数据库D3事务添加/编辑文章评论事务评论操作命令评论事务处理接受事务评论操作命令评论事务处理接受事务图图7系统数据流图文章发表/评论文章数据库2.5系统的其它可行性前面主要运用了系统流程图和数据流图通过对传统系统和要开发的系统分析了系统开发的可行性下面将从其它一些辅助可行性来进一步分析和说明。1技术可行性本系统主要由PHP作为主要开发技术PHP已经流行和发展了数年技术相对比较成熟开发系统稳定可靠。系采用优秀的关系型数据库管理系统MYSQL作为后台数据库能和Windows以及11当前各种系统很好的兼容搭配。其它辅助网站设计的技术相当丰富相应开发环境和工具也一应俱全比如用于网页界面设计的sublimetext3还有一些图形处理软件如PhotoshopCC等都是相当成熟和简便的开发工具。2性能效益可行性所开发的系统基本能满足个人博客的功能要求和展示博客的特点风格在处理运算速度、存储量以及响应时间上完全能满足系统要求。现在网络发展迅速上网人数众多博客作为个人个性和情感的展现舞台相信有非常广阔的发展和应用空间。3硬件可行性系统所采用的技术和平台都是比较成熟和已经发展数年的目前的硬件配置一般都足以满足系统的运行要求。系统的基本硬件要求网络中的服务器服务器要求能提供空间和支持动态网络技术以及MySQL数据库、客户端电脑具有基本多媒体功能和设备、支持PHP架构的工作和系统平台Windows8.1、支持PHP架构的能处理动态网页技术的浏览器IE8.0以上等具备解释PHP技术的浏览器。2.6可行性结论综上所述作为毕业设计的一个项目简要讨论分析了系统的各种可行性并且各项可行性上完全满足开发要求可以开始进一步的工作。3系统需求分析和概要设计一系统需求分析系统需求分析是现代软件工程应用于系统开发的一项重要环节通过需求分析可以明确系统的各项需求和功能根据这些需求和功能可以更好地指导下一步的系统开发和设计避免了在设计之后对需求的变更而导致的大量返工。1.开发背景过去很多人都喜欢写文章写日记以及交流自己的文章和作品以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。现在的网络已经成为人们生活中不可或缺的一个元素所以自然而然诞生了个人博客这样一个新兴事物它不仅仅能取代前面所说的功能还能加入图片而且使得作者更能无所拘束地生动地写出自己想写的旁人也能非常便捷地阅读并且加以评论并且它还能作为展示个人个性的窗户。个人博客现在已经成为很多人生活中必不可少的一个部分方便了人与人之间的沟通和交流。2.系统实现目标概述基于个人博客以上的特点本系统要实现个人博客的主要基本功能有主界面用户注册注册用户登录发表文章心情、日志用户登录/退出游客发表评论分页浏览文章和评论等。这里其中比较主要的是区分了个人博客的注册用户和游客。注册用户可以在任何时候写下自己的主张记录下自己的点点滴滴。而游客主要的权限是阅读博客所有注册用户写的文章阅读后可以发表评论和留言还可以分页浏览所有注册用户上传的图片。以上是个人博客的系统功能目标当然由于个人博客的网络流行特点以及个人个性的展示还适当要求界面比较漂亮轻快直观便捷操作方式简单以及人性化。3.系统功能需求根据对系统的特点和应用的分析可以得到本系统主要有如下功能(1)用户注册和登录这部分功能又分为用户注册、用户登录、用户退出三个部分。用户注册游客将个人的信息存储到博客网站的数据库中注册时要求填写用户的各种详细信息包括id、Password、Email、性别、生日、其它辅助信息。凡是符合要求的游客都可以注册成功成为本博客的正式用户。系统接受这些信息并存储在服务器端的数据库中。用户登录主要用于验证博客网站用户信息的真实身份以便对博客网站进行管理和维护。通过注册后的用户用个人注册的用户名密码登录到网站。网站检测用户的用户名密码并给予其相应的权限对博客网站进行操作。用户退出已经登陆的用户可以退出释放自己所占有的各种信息资源。(2)文章管理文章管理主要有文章的发表、查询、浏览、评论和删除功能。博客的系统管理员除了可以查询、浏览和评论文章外还可以对系统中的所有文章以及评论进行修改、删除操作。这些维护和管理拥有最高权限并且系统自动更新在服务器端数据库中的数据。文章的发表注册用户可以发表自己的文章文章包括主题、正文、表情、图片等信息作者通过各种元素来展示自己的想法和思想。系统接受这些信息并且存储在服务器端的数据库中。文章的删除注册用户可以删除自己已经发表的文章内容和各项信息系统自动在服务器端数据库中删除这些记录。文章的浏览游客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息包括标题、正文、表情、图片以及其它读者的留言评论。文章的评论文章的读者可以评论和回复所阅读的文章发表自己的看法。系统自动将这些评论存储在服务器端的数据库中并且可供博客作者以及其它读者浏览。文章的查询注册用户可以按文章题目或作者来查询想要查的文章。(3)图片管理图片管理有添加浏览、删除和查询功能。注册用户可以添加自己喜欢的图片还可以查询和浏览系统中的所有图片信息。游客只能浏览博客系统中的所有图片。系统管理员拥有以上的所有权限除此之外还可以删除图片。(4)朋友圈管理注册用户可以添加自己的朋友信息到朋友圈可以再浏览和查询朋友信息的前提下进行删除朋友信息操作。(5)管理员管理博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理包括修改用户所有的权限查询用户信息以及删除用户信息还可以对最新公告进行添加删除管理。4系统需求管理规划表根据以上对系统的需求分析我们可以得到一个更为简明扼要的系统需求管理规划14表本表罗列了系统的各项主要功能并且对其分类配有间断描述最重要的室给出了各个功能需求的优先级优先级的高低表示了功能实现的迫切程度和必要程度。优级高的代表该功能是系统很重要的功能需要重点实现。5系统性能要求(1)系统可靠性要求①系统对用户操作有相应提示并且可以检查用户输入的各种数据的合法性对于不合法的数据屏蔽并且提示用户以避免由于越界或者格式错误而造成的系统错误甚至崩溃。②系统在对于数据库操作时候数据库有一定的约束机制。特点是对于外键FK而言通过“级连”Cascade和“参照”Reference来保证数据的完整性。③系统能够应对各种特殊操作情况和出错情况并且给出相应提示。④系统能够有一定的安全和保护措施以保证网站的正常运行避免文件和数据库遭到意外事件的破坏而导致网站瘫痪。(2)系统时间要求在不考虑网络状况情况下系统的响应时间应该相当迅速数据的存储和处理以及返回过程应该满足用户的等待需求一般控制在0.2s以内。(3)系统适应性要求系统应该兼容Windows操作平台、MySQL数据库以及IE浏览器。(4)系统并行处理能力要求系统能够支持同时间多用户的访问需求并且保证运行的相对顺畅。(5)系统精度要求时间精度到达秒为单位其它数据精确到小数点后2位。3.2概要设计概要设计也是软件工程中一个重要的步骤和环节根据前面的需求分析所得到的系统所要实现的各种功能概要设计对其进行进一步的模块划分以确定各个功能由所设计的模块来实现这样可以构架出一个系统的机构框架便于后面的具体数据库设计详细设计的实现。3.2.1系统体系结构基于B/S结构的个人博客网站系统应由终端用户主机/浏览器、WEB服务器、数据服务器构成。个人博客网站的核心是中间的接入服务器和应用服务器部分。个人博客网站的总体结构图如图8所示图8博客网站总体结果Web服务器数据服图8博客网站总体结果Web服务器数据服务器3.2.2系统模块划分根据前面对系统的需求分析可以得到系统的模块划分如下(1)博客首页模块包括如下主要组成部分页整体布局对于博客的首页风格安排并且布局。日历方便用户看时间和日期。用户登录和注册区主要是用户注册和登录在成功登录以后列出用户所拥有的可操作模块。博客最新日志显示按时间顺序显示博客中最近的文章标题信息。最新推荐图片按时间顺序显示博客中最新上传的图片。最新公告上下滚动显示管理员发表的最新公告。(2)文章管理模块添加博客文章已登录的博客注册用户可以发表文章、随笔和日志内容包括标题、正文、图片、表情等信息。在此前提下只有以系统管理员身份登录的用户才可以删除博客中的任何文章系统自动更新服务器端的数据库。查看博客文章文章作者可以按搜索条件有选择的查看想要阅读的文章并可以对它进行评论但没有删除的权限。浏览我的文章只显示作者自己的全部文章在这个模块的前提下文章作者有删除文章和评的权限。(3)图片管理模块添加图片已注册用户可以本地上传图片。查询图片登录用户可以按搜索条件有选择的查看图片但没有删除的权限浏览图片分页显示系统中的全部图片。(4)朋友圈管理模块注册用户可以添加自己的朋友信息到朋友圈可以在浏览和查询朋友信息的前提下进行删除朋友信息操作。3.2.3系统功能划分组织结构图根据以上对系统功能模块的划分和设计可以得到系统功能模块图如图9所示该图给出了尽的模块划分和模块组织结构能够直观展现系统的功能结构关系。个人博客系统个人博客系统用户注册用户注册用户登录用户登录用户登录系统管理器用户登录系统管理器文章管理朋友管理图片管理文章管理朋友管理图片管理用户管理录广告管理录用户管理录广告管理录查询图片删除用户信息删除公告信息添加公告信息查询用户信息浏览用户信息删除朋友信息删除图片信息删除评论信息删除博客文章查询图片查询图片浏览我文章的添加博客文章查询博客文章的添加图片浏览图片查询图片查询图片查询图片删除用户信息删除公告信息添加公告信息查询用户信息浏览用户信息删除朋友信息删除图片信息删除评论信息删除博客文章查询图片查询图片浏览我文章的添加博客文章查询博客文章的添加图片浏览图片查询图片查询图片图图9系统功能结构图3.2.3运行环境(1)用户界面用户需要网页浏览器来使用该系统界面简洁、美观、友好具备人性化特点各种操作有提示信息和错误信息。(2)软件环境服务器端Windows8.1服务器Apache服务程序MySQL数据库以及其相应的ODBC。客户端Windows8.1系统以及IE8.0以上浏览器。(3)网络带宽服务器对外网络带宽8M以上客户端拥有连接互联网的设备和服务。4系统数据库设计4.1MySQL数据库简介MySQL数据库由瑞典MySql公司开发和维护的一个精巧的SQLStructuredQueryLanguag结构化查询语言关系型数据库管理系统DBMS。MySQL数据早在90年代中期就开始出现经过近10年的发展它已经成为一个功能相对强大技术非常成熟应用广泛的数据库。由于它的强大功能、灵活性、丰富的应用编程接口API以及精巧的系统结构受到了众多程序员和企业级用户的青睐特别是它的数据库文件小巧存放便捷数据库管理系统运行简为建立基于数据库的动态网站提供了强大动力并且得到了广大网站开发人缘的认可。MySQL数据库提供完善的SQL-92标准的结构化查询语言如select、delete、insert、update语句。通过MySQL在操作系统上建立的ODBC可以轻松将这些SQL语句翻译成为相应的MySQL数据库管理系统指令并对数据库进行管理。如图10所示。ODBC驱动程序管理器ODBCMySql标准SQL标准SQL语言通过ODBC驱动程序管理器翻译成对应的MySql数据库命令来访问MySql数据库图10MySQL数据库管理系统原理ODBCMySql标准SQLODBCMySql标准SQL标准SQL语言通过ODBC驱动程序管理器翻译成对应的MySql数据库命令来访问MySql数据库ODBC驱动程序管理器标准SQLODBCODBCSQLSQL图10MySQL数据库管理系统原理图10MySQL数据库管理系统原理当然MySQL数据库也完全支持ADOActiveXDataObjects数据库应用程序的数据库访问技术。ADO它被设计用来同新的数据库访问层OLEDBProvider一起协同工作以提供通用数据访问UniversalDataMySQL。OLEDB是一个底层的数据库访问接口用它可以访问各种数据源包括传统的关系数据库。ADO封装了OLEDB程序中使用的大量COM接口所以是一种高层访问技术。所以MySQL非常适合PHP技术开发动态网站。4.2数据库表的设计4.2.1概述根据第三部分的需求分析和概要设计可以设计出相应的系统所要使用的数据库表。博客系统所要存储的数据项和数据量相对比较复杂和庞大所以首先确定这些数据库表的设计一般是一个表存储一个实体或者对象的相关信息这样分析和设计数据库就相对简单。对于不同的对象或实体根据具体系统需要和未来扩展可以适当细分。另外扩充信息和动态变化的信息分开放置在不同的表里。当然重要的表都会设置一个唯一标识的主键这个主键不是实际运用中的任何信息项只用来唯一标识一个数据项一般用自动编号的数字。经过需求分析和概要设计在MySql数据库管理系统中建立名为db_tmlog的数据库系统所有应用的数据信息将存储在该数据库中数据库中建立以下5种不同专题的数据表分别为用户表tb_user、文章内容表tb_article、文章评论表tb_filecomment朋友圈表tb_friend、图片信息表tb_tpsc五个表。这些表基本上都是一表负责一个实体或者对象的各种信息存储它们协调工作以实现个人博客系统对数据存储的要求。注意下面各表中数据类型说标有*表示是主键。4.2.2用户表系统主要为了满足网络用户使用博客的需要由于网络的自身特点以及网络上联系工具众多所以用户的信息的设置相对较多这里主要的是用户的ID编号这个是用来唯一确定用户的标识是用户表的主键。管理员及用户标记主要用来设置管理员和用户的权限不同的权限能得到不同的应用功能。还有用户名、用户密码都比较重要。用户表结构如表2所示。表2用户表字段名称数据类型说明idInt(20)自动编号regnameVarchar(20)用户名regrealnameVarchar(20)真实姓名regpwdVarchar(20)用户密码regbirthdaydate用户生日regemailVarchar(100)所在城市regicoVarchar(50)人物表情regsexVarchar(4)性别regqqVarchar(40)QQ号reghomepageVarchar(100)个人主页regsignVarchar(200)个性化签名regintroducetext自我简介ipVarchar(20)用户IPfigint(1)管理员及用户标记4.2.3文章内容表本表主要用来存放文章的各种信息这也是博客系统中非常重要的一个表。其中文章ID编号为主键唯一标识一篇文章。其它信息详见表3所示。表3文章内容表字段名称数据类型说明idInt(10)自动编号titleVarchar(20)文章标题faceVarchar(20)人物表情contenttext文章内容autherVarchar(20文章作者nowdatetime发表时间5系统的详细设计详细设计是整个系统设计中最重要的一个步骤。下面对系统的主要功能模块进行详细的介绍。博客网站的流程图如图12所示。注册注册用户游客用户游客否登录否登录系统管理员是著名访问系统管理员是著名访问管理员中心管理员中心著名访问著名访问著名访问著名访问著名访问著名访问著名访问著名访问著名访问图12博客网站流程图图12博客网站流程图5.1首页面及主要页面设计1、博客网站的文件架设图如图13所示系统首页系统首页图13博客网站文件架设图浏览用户信息查询用户信息用户管理删除用户信息删除博客文章发表博客文章删除博客文章查询博客文章添加博客文章删除图片查询图片浏览图片浏览图片朋友圈管理图片管理文章管理添加博客文章用户注册相关博客评论全部博客文章图13博客网站文件架设图浏览用户信息查询用户信息用户管理删除用户信息删除博客文章发表博客文章删除博客文章查询博客文章添加博客文章删除图片查询图片浏览图片浏览图片朋友圈管理图片管理文章管理添加博客文章用户注册相关博客评论全部博客文章 5.2系统主要功能模块开发5.1.1首页模块1、博客的首页是相当重要的这不仅仅是整个博客的第一影响而且是展现个人博客系统的布局、美工、风格和个性的窗口。它包括博客最新日志区、日历和时钟区、最新图片上传区、最新公告区用户登录、注册区。把这几个界面区合理的组合是布局和美工的重要之处。如图14所示:个人博客首页首页模块index.php中包括了数据库连接文件conn.php首页的布局和美工设计使用到了sublimetext3网页开发工具作为辅助开发运用这个可视化开发工具VisualDevelopmentTool可以快捷地设计出Web的界面自动生成相应的HTML代码并得到的HTML代码直接嵌入到index.php文件中。5.1.2文章管理模块文章管理模块是本系统中最基础、最复杂的一个核心功能模块。文章管理模块可以分为添加博客文章、查询博客文章、发表文章评论、删除博客文章/评论4个功能部分。(1)添加博客文章发表博客文章主要是提供用户发表和张贴个人的文章或是对某些事物的独到见解等通过发表的其他用户可以发表相关的评论以便能够同来访者进行交流是一个展现自己的网络交流平台。这个功能主要由file.php完成。发表文章后提交博客文章信息到数据处理页check_file.php并保存在相应的数据库中。在保存过程中系统会在数据库中为该文章自动生成一个文章ID编号这个编号是自动递增的生成用来唯一标识一篇文章。(2)文章的查询发表文章子模块主要由query.php实现。在query.php页面中查询的功能区如图在”查询条件”后的下拉列表框中选择查询条件。在“关键字“后面的文本框中输入查询条件所对应的查询关键字既可快速检索到相应的数据信息。如果存在输出数据信息到浏览器否则弹出警告信息。注意只有系统管理员具备删除的操作权限如果是普通的博客用户在查询到的数据信息页面中是不会显示“删除“超级链接。文章查询的功能区(3)发表文章评论发表文章评论是在“查询博客文章“的前提下操作的。当页面显示查询的文章信息后可以点击“发表评论”超级链接既可跳转到comment.php页发表评论发表评论页面(4)删除博客文章/评论这功能若是在“查询博客页面”的前提下进行操作的删除权限都是系统管理员的操作权限。若是在“我的文章”的前提下进行的操作那删除权限是属于普通用户的操作权限。5.1.3图片管理模块图片管理主要实现对图片的添加、删除、浏览和查询操作。(1)添加图片单击【上传】按钮后图片将以文件的形式传到数据库并保存在images文件中的upload文件夹中。上传的设计流程和页面分别如图所示进入上传页面选择上传文件进入上传页面选择上传文件将图片保存到数据库中将图片保存到数据库中显示图片显示图片图片上传设计流程(2)浏览图片所有上传成功的图片文件循环显示在客户端的浏览器上并在每一条的记录后面分别加上用于查看图片文件信息的超级链接按钮在将所有记录进行分页显示。(3)查询图片图片的查询功能和文章的查询功能类似这里不再赘述。同样地只有系统管理员具备删除的操作权限如果是普通的博客用户在查询到的数据信息页面中是不会显示“删除“超级链接。具体流程图如所示。开始开始查询事务响应查询事务响应进入查询页面进入查询页面否查询条件是否要求否查询条件是否要求图片查询流程图结束进入查询界面是否服务器端响应请求并

且更新数据库是图片查询流程图结束进入查询界面是否服务器端响应请求并

且更新数据库是(4)删除图片只有以系统管理员的身份登录才会显示“删除图片”的功能。删除图片的功能是系统管理员在“查询图片”和“浏览图片”的功能模块的基础上实现的。5.1.4管理员管理模块管理员管理是对注册的用户信息进行管理的模块。当用户是以系统管理员的身份登陆网站后那么将有用户管理的权限这时菜单栏中的“管理员管理”处于显示状态如是普通用户该模块不会显示。该模块主要分为查询用户信息浏览用户信息和公告管理。其中用户的删除是建立在“查询用户信息”和“浏览用户信息”的基础之上实现的。6系统配置和发布运用PHP对系统进行开发和应用必须首先安装和配置好相应的开发环境和支持组件。本章主要介绍系统相关环境的配置和开发后系统的发布情况以及运行效果。6.1开发和应用环境配置下面简要从PHP架构的安装Apache服务器的配置以及MySQL数据的设置介绍了系统相关环境的配置和安装。6.1.1安装Apache2.2.6运行安装程序→安装协议选择接受协议→next→填写服务信息→前面的内容可填可不填安装类型选择自定义安装Custom→自定义安装设置如下图23修改安装目录可以放如“E:\Apache2”中→安装确认。自定义安装设置安装完毕后测试在浏览器地址栏输入http://localhost回车显示“Itworks”表示Apache安装成功。6.1.2安装PHP5.3.291解压php-5.2.5-Win32.zip到即将安装PHP的目录即“E:\php5”。这里主要是拷贝一些以后需要的组件。2,运行安装程序→接受安装协议→选择安装目录可以为“E:\php5”→选择Web服务设置这里选择Apache2.2.xModule因为装的Apache服务器为2.2.6→选择Apache配置文件目录即E:\Apache2→安装设置点Extensions尔后NEXT→准备安装3对Apache进行设置建立studyphp子目录即“E:\studyphp”目录→修“E:\Apache2\conf下的文件“httpd.conf”。搜索DocumentRoot"E:/Apache2/htdocs"把冒号中的E:/Apache2/htdocs替换成“E:/studyphp"搜索<Directory"E:/Apache2/htdocs">把冒号中的E:/Apache2/htdocs替换成“E:/studyphp"上面这两行可以不放在E:/Apache2/htdocs下面就是以这个目录作为根目录。搜索DirectoryIndexindex.html增加为DirectoryIndexindex.htmlindex.php上面这句为了能够运行缺省的页面这里增加了index.php作为缺省页面。修改完毕保存并重新启动Apache服务器也许会启动不成功这时要不按Ctrl+Alt+Del删除Apache相关程序要不重新启动计算机。4测试在“E:/studyphp”目录中可以使用笔记本编辑文件<?phpphpinfo();?>并在保存文件时改名为test.php。在浏览器地址栏中输入http://localhost/test.php显示如下图24表示安装Apache和PHP成功。安装Apache和PHP成功6.1.3安装MySQL6.0.31运行安装程序→安装选项选择custom自定义→修改安装目录放在“E:\mysql”→准备安装→安装完毕后选择现在进行MySQL设置→进行详细设置→选择服务器类型选择“DedicatedMySQLServerMachine专门的数据库服务器mysql占用所有可用资源→选择服务器用途“MultifunctionalDatabase通用多功能型速度快”→InnoDB数据库空间设置可以不用去改→设置服务器同时连接数为DecisionSupport(DSS)/OLAP20个左右→设置网路选项如图25那样即可→设置选择缺省的字符选择第三项进行手动设置选择“gbk”→设置windows选项,这两个选项都选上→设置密码,ModifySecuritySettings设置密码远程登录页不需要设置。匿名帐户就不用设置了→准备安装→安装完成(如图26)。安装完成2进行设置。打开“E:\php5\”中的文件php.ini搜索“extension=”搜索到“;extension=msql.dll”这一行去掉最前面的分号然后将msql.dll改为php_mysql.dll此文件存在于E:\php5\ext\目录内extension表示是一个扩展功能。在“extension=php_mysql.dll”后面另起“extension=php_mbstring.dll”以解决下面一步执行“五“3在浏览器中输入http://localhost/phpMyAdmin/回车”后出现“没有发现PHP的扩展设置mbstring而当前系统好像在使用宽字符集。没有mbstring扩展的phpMyAdmin不能正确识别字符串可能产生不可意料的结果.”的警告。搜索“extension_dir”将其后引号包括的内容改为“E:\php5\ext\”用来指出扩展功能目录的位置。搜索short_open_tag设置为On这里是使用Discuz论坛程序需要的如果不安装该程序可以不改保存重新启动计算机。6.1.4安装phpmyadmin2.11.31、直接解压该程序到E:\studyphp就可以了。重命名解压目录为phpMyAdmin。2、设置phpMyAdmin。用记事本编辑文件“E:\studyphp\phpMyAdmin\libraries\config.default.php”搜索“$cfg['Servers'][$i

温馨提示

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

评论

0/150

提交评论