php分享网站论文_第1页
php分享网站论文_第2页
php分享网站论文_第3页
php分享网站论文_第4页
php分享网站论文_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

-1-摘要本论文讲述图片分享网站从前台用户界面设计、网站页面布局再到后台用户各个功能的实现。首先,对目前的研究现状进行分析,对相关技术进行分析,再从需求分析入手,阐述需要注意的细节问题以及所采用的技术。本论文中所设计的网站,前台主要实现了用户在线注册、登录、文章发布、相册管理等功能,后台提供了相关的管理,对文章的管理及对相册的管理等功能。前台主要采用了Div+css布局和Javascript技术以及ajax技术实现部分效果,开发技术为完全面向对象的PHP语言,数据库采用了目前最流行的MYSQL数据库,PHP和MYSQL的完美结合,是个人网站及交友网站的首要选择。关键字:网站设计,PHP和MYSQL,数据库

AbstractThispaperdescribesthephotosharingsitesfromtheuserinterfacedesign,webpagelayouttoachievethevariousfunctionsoftheadministrator.First,carriesontheanalysistothepresentresearchsituation,carriesontheanalysistotherelatedtechnology,fromtheanalysisofdemand,theneedtopayattentiontodetailsandtechniqueadopted.Thisthesisdesignwebsite,themainachievementoftheuserregistration,login,onlineposts,photoalbummanagementandotherfunctions,thebackgroundtoprovidetherelevantmanagement,themanagementandthemanagementofthealbumandotherfunctions.ThemainuseofDiv+csslayoutandJavascripttechnologyandAjaxtechnologytorealizepartoftheeffect,developmenttechnologyforfullyobject-orientedPHPlanguage,thedatabaseusesthemostpopularMYSQLdatabase,thecombinationofPHPandMYSQL'sperfect,isthefirstchoiceofpersonalwebsitesandonlinedatingsite.KeyWords:Websitedesign,PHPandMYSQL,database

目录摘要 IAbstract II目录 III第一章 绪论 -1-1.1 背景介绍 -1-1.1.1 课题背景 -1-1.1.2 国内外研究现状 -1-1.2 网站常用的技术介绍 -2-1.2.1 ASP技术 -2-1.2.2 JSP技术 -2-1.2.3 PHP技术 -2-1.2.4 Div+CSS技术 -3-1.2.5 PHP+MySql技术 -3-1.2.6 小结 -4-1.3 可行性分析 -4-第二章 需求分析 -6-2.1 功能需求 -6-2.2 技术分析 -6-2.2.1 开发方法 -6-2.2.2 开发环境 -7-2.2.3 运行环境 -8-2.2.4 数据库 -8-2.3 结构设计分析 -9-第三章 网站设计 -11-3.1 概要设计 -11-3.1.1 系统设计原则 -11-3.1.2 系统设计 -11-3.2 各个模块设计 -12-3.2.1 登陆/注册模块 -12-3.2.2 文章管理 -14-3.2.3 相册管理 -17-3.2.4 图片上传界面 -18-3.2.5 用户管理界面 -20-3.2.6 最新分享管理 -20-3.3小结 -21-第四章 数据库设计 -22-4.1 数据库设计原则 -22-4.2 数据库流程设计 -22-4.3 各数据表的设计 -23-第五章 系统测试 -27-5.1 测试 -27-5.2 测试内容 -27-第六章 结论 -29-致谢 -30-参考文献 -31-

绪论背景介绍课题背景随着信息化的发展,互联网越来越成为人们生活中的一部分,网上交流工具也越来越多,越来越复杂,通常需要有大量的信息进行共享,并且需要维护。而信息共享在公司、个人网站中起着不可替代的作用。尤其是图片的共享,因为图片中包含这大量的信息。因为图片共享网站涉及到很多相关的事物,直接影响到网站发布后用户主观能动性的发挥,影响以后网站的使用寿命,从而影响到使用网站的各个用户,因此对网站前台界面是否简洁至关重要。伴随着互联网的发展壮大网上用户的数量也越来越多。传统的信息分享网站已经不能满足信息共享的要求。信息共享越来越依靠互联网传播,以前的方式由于其速度等因素越来越不适应时代的发展,使用专门网站进行图片等信息分享已经成为一种迫切的需要。站点设计简单有序,主次关系分明,将零乱页面的组织过程混杂的内容依整体布局的需要进行分组归纳,经过进行具有内在联系的组织排列,反复推敲文字、图形与空间的关系,使浏览者有一个流畅的视觉体验。国内外研究现状经过详细的计划,周密的调查,目前,许多网站的信息管理比较混乱,有不少还停留在静态网页,在人工管理的基础上进行操作,这样的操作方法浪费许多人力和物力,维护起来非常费力,随着科学技术的不断提高,数据库技术的应用,这种传统的方法必然被以数据库为基础的网站信息发布管理方法所取代.使用数据库进行信息的管理不仅可以降低维护网站工作的难度,也可以减少手工操作信息带来的失误,并且可以大大提高效率。因此,开发一套能够提供充足的信息和图片共享网站,是非常必要的。本设计是针对目前互联网信息共享的现状,经过详细的系统调查和系统设计,利用当前主流的各种技术开发出来的图片信息共享系统。网站常用的技术介绍ASP技术ASP是微软公司开发的代替CGI((CommonGatewayInterface,通用网关接口)脚本程序的一种用来开发网页的应用技术,并且可以非常方便的与数据库和其他程序进行交互,是一种使用简单、维护方便的编程语言技术。ASP的程序运行时是在Web服务器端,运行后再将运行的结果以xml的格式进行传送至至客户端,并转为html语言在客户端的浏览器上展示,它比HTML语言更方便而且更具有灵活性,而且ASP技术的最大的特点之一就是其安全性高于一般的脚本语言。ASP是一种脚本语言,尽管其在安全性的优点,但它基本局限于微软的操作系统平台,其服务器主要的工作环境是基于微软系统的IIS应用程序结构,所以ASP技术不是很容易地实现跨平台Web服务器上工作,其应用范围较窄。JSP技术JSP是近年来比较活跃的一种动态网页常用的技术之一。JSP技术是面向开放的、可以跨平台的结构技术,其最大的特点是可以运行在几乎所有的服务器系统上。在使用JSP技术时,当用户,即客户端第一次请求JSP文件的时候,该文件被编译为JavaServlet并且立即在Java虚拟机上执行,在此之后访问就不再需要进行编译,大大提高了执行效率。因此,JSP也被业内人士称为Server-sideLanguage,与其他语言相比的开放性、运行环境的安全性和语言的健壮性,被认为未来最有发展前途的动态技术之一。但是JSP也并非是人们想象的完美无缺,它也存在着令开发人员头疼无比的一些缺点。由于JSP页面在运行发生错误的时候,显示出来的出错行,不是JSP页面的行数,而是编译后的Servlet的行数,查错极其不便,编译起来很不方便;还有就是JSP嵌入HTML中,不便阅读和查错。对中文的兼容性问题也是其使用不便的缺点之一。PHP技术PHP语言是一种在HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,大量采用C、Java和Perl语言的语法,吸取百家之长,并融入其自身的特点,由于其特点,在很大的程度上使网页开发人员快速方便的编写出动态页面。PHP技术提供了标准的数据库接口,对各个数据库的兼容性更强,更方便,存取数据库也比较方便。使用过PHP技术开发网站的人员都知道,PHP对常见应用组件的支持还不能够满足开发的需求,导致这种技术做成的网站扩展性极差,所以现在都基本用它与免费的数据库系统MySQL协同一起用作构建例如个人网站等中小型网B/S应用大网站或者各种图片,新闻等信息发布共享系统。PHP有以下优点:(1)支持的数据库非常广泛,大到SYBASE、MySQL、ORACLE,小到Access都支持。(2)跨平台性非常好,支持Windows系列操作系统,LINUX操作系统和UNIX操作系统。同时支持多种Web服务器。(3)开源软件,升级更新速度非常快。(4)免费软件,无须花钱购买。同时与Linux、Apache、MySQL构成性价比最高的Web系统。(5)PHP5.0有成熟的面向对象体系,能够适应基本的面向对象要求,适合开发大型项目。Div+CSS技术Div是一种框架布局,类似于<table>,但比<table>更灵活,容易掌握。CSS是一种样式表(stylesheet)技术。也有的人称之为层叠样式表(CascadingStylesheet)。它的作用简单的说:就是可以使你在同一页面里使用不同的超链接样式。用CSS仅仅改变一个文件就可以改变数百个网页的外观,个性化的表现而不损坏原页面显示.这些都因为网页样式表的强大和灵活特性。当样式被应用到很多的网页时,一个外部样式表是理想的。网页制作者使用外部样式表可以改变整个网站的外观而仅仅通过改变一个文件。同样的,大多数浏览器会保存外部样式表在缓冲区,从而如果样式表在缓冲区则可以避免了在展示网页时的延迟。PHP+MySql技术PHP技术是一种服务器端的嵌入式HTML脚本语言。相对应的语言有ASP、JSP等,由于其功能与ASP非常相似,所以PHP被称为“源代码开放的ASP”。MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。MySQL主要目标是快速、健壮和易用。小结JSP因其是一种比较新的技术,它的应用还不是很广泛。在国外的应用比较广泛,JSP在国外已经是比较流行的一种网页开发技术,尤其是开发应用电子商务类的网站,多采用JSP技术来开发。而在国内采用的较少,目前使用ASP与PHP应用最为广泛。目前国内采用PHP的网站如新浪网(sina)、中国人(Chinaren)等网站,由于PHP是免费的技术,且缺乏大规模的支持,制作网页中缺乏多层结构支持,并且提供的数据库接口支持不统一等自身缺点,使得它不适合应用于大型网站,例如各个大公司的网站,而更适合一些小型的商业站点,例如个人网站等小型的网站。ASP和JSP没有以上缺陷,ASP可以通过COM/DCOM获得ActiveX规模支持,通过DCOM(MicrosoftDistributedComponentObjectModel,分布式组件对象模型)和TranscationServer获得网站的结构支持;JSP技术可以通过SUNJava的JavaClass和EJB(EnterpriseJavaBean,Java企业柄)获得规模支持,这两种技术的技术支持都可以通过EJB/CORBA以及众多厂商的ApplicationServer获得支持。三者中,根据其优缺点,在进行个人网站及小型网站建设的时候可以采用PHP技术进行相关开发。总之,由于各个技术的优缺点及其适应的环境,每种技术都拥着有相当数量的应用人群,在开发使用不同的类型网站则根据开发人员自己的需求而选择使用符合企业的开发技术。可行性分析通过大量的查资料调研,目前互联网上的其它各种网站系统的信息共享方面捉襟见肘,基本存在各种不足。例如有的网站文字信息过多,图片信息较少,例如有的网站对关键词等处理的不够好,有的网站只能运行在windows系统中,系统的兼容性很差。所以说,基于PHP的图片共享系统是具有成熟的技术和强大的需求的!就开发周期较短、开发面临的风险小、开发成本低、适用性强等特点,这些都是其他网页系统无法比拟的,研究和设计这种图片网站还是有很强的实用性的。

需求分析需求分析是进行各种系统开发的基础。通过需求分析,可以明确开发需求,进而确定系统的各个功能。具体而言,我们可以从如下几个方面进行了分析:功能需求功能需求主要是为了明确所开发的图片共享网站必须具备的基本功能。对网站的维护是相对繁琐的工作,实际应用时每天都要对信息进行更新,用户也会不定时进行注册,利用数据库进行管理,这样可以节省很多人力物力。当网上有人或病毒搜到本网站,进行恶意攻击或注册,采用验证码技术可以适当的减少这些行为。网站显示图片等信息的来源,可以直接由用户或管理员进行手工输入,也可以由管理员在后台数据库登陆考勤系统,进行相应操作。当然还有其他方式进行信息输入。在本文所阐述的网站系统中,所有用户都通过登陆窗口来进行登陆和注销。每个用户的的注册信息已通过注册页面采集并存入数据库中,用户可以根据需要进行信息的更改,管理员也可以进行更改。根据分析,在本网站系统中,我们需要实现以下一些基本功能:(1)用户登陆与注册实现网站用户的登陆和注册功能,新用户需要注册才能成为网站的用户。(2)图片文件上传与下载实现了图片文件的上传与下载,用户可以进行图片的上传与下载,并能对图片进行管理。(3)信息发布与回复已登陆的用户可以进行信息,并对自己感兴趣的信息进行回复。(4)用户管理该功能实现了对用户信息的管理维护,用户可以在此更改个人信息。(5)信息管理该功能实现了对信息的管理,比如删除等功能。技术分析开发方法目前流行的系统开发方法主要有生命周期法、快速原型法、面向对象开发方法等,每种方法各有特色。生命周期法是一种有效、成熟的方法,它对软件生产实现工程化起了重要作用,但是应用该方法的前提条件是必须确定系统的需求,才能得到预期的正确结果。对于信息系统来讲,由于其问题空间十分庞大,不论开发者在系统分析时采用何种严格的方法力争准确地描述用户需求,在系统没有开发到一定程度,用户对系统的理解达不到一定的程度是无法准确表达出需求的。这并不是说用户需求捉摸不定。为了解决需求的模糊性和变化性,出现了另一类系统开发方法,即快速原型法。快速原型法是在系统分析基础上,由开发者尽快构造出一个应用系统原型,经用户初步应用,对系统有了一定的认识后,再由系统开发者与用户反复进行交流,逐步完善达到最终目标。快速原型法不仅是一种方法,更是一种技巧,它可以运用与系统开发的各个阶段,例如在系统分析阶段用于提炼用户需求,在系统实现阶段开发软件原型等。面向对象的开发方法着眼于所研究的问题,对问题空间进行自然分割,识别其中的对象及其相互联系,建立问题空间的信息模型。其基本思想是把信息系统本身看成是一系列离散的对象的集合。这些对象即包括数据结构,也包括在这些数据结构上的操作与行为。各对象之间由事件触发,引发互通消息而实现互操作。这样设计出的软件必然是模块化的、可重用的、可扩充的和可移植的,克服了过去由于分析设计与实施割裂所造成的程序编制必须到设计后期才能进行的程序沉淀现象。面向对象方法的主要优点并不是减少开发时间,它可能比传统的结构化方法的开发时间还要长一些。它的主要目标是促进未来系统的可重用性,减少后续阶段的开发量,从而大大提高软件生产率与可维护性。综观上述各种方法,考虑到信息系统开发过程的顺序性和开发过程的固有特点,结合实际开发的经验教训,我们认为各种不同的系统开发方法适用于各自不同的领域。本设计主要采用面向对象的开发方法。开发环境ZendStudio是专业开发人员在开发使用PHP整个开发周期中唯一的集成开发环境(IDE),它包括了在开发PHP网页时所有必须的开发组件。通过进行一整套编辑、调试、分析、优化和数据库工具,ZendStudio环境可以大大加速开发周期,并可以简化复杂的应用方案。ZendStudio在其设计时充分考虑了商务应用开发时对它的的需要,是网页开发者利用PHP创造强有力数据库应用软件和应用网站的的完美开发环境。ZendStudio具有非常专业个人的和企业开发者开发、配置、调试和管理等关键商务PHP应用的易使用性、可伸缩性、可靠性和扩展性。1.PHP技术中最强有力的开发环境并能大大提高开发速度:编译器通过完全的对PHP5语言的支持、完善的编码分析器、强大的编码组合功能、智能的语法检索功能、项目管理器、编码编辑器、绘图调试器(向导)。它具有超强的智能编码功能:具备更优秀的PHP语句分析和语句优化工具,像PHP编码检测器。PHP的标准记录工具--PHP文档记录器:非常容易记录PHP代码、程序应用和方案。2.PHP完整的调试环境:先进的调试特征优势,包括:ConditionalBreakpoints,StackTraceView,AdvancedWatches,VariablesandOutputBuffer,首先利用最强大的PHP调试器在本地调试环境。无论是对于本地调试或者是基于互联网的远程调试都能够确保安全连接用“一次点击浏览器调试”从浏览器直接调试和分析编码。4.强有力的团队开发和管理工具。我们可以从ZendStudio内直接应用CVS源码服务器,进而有效地管理项目源代码,从而容易进行团队的开发与合作。我们可以利用综合性能编辑器,实现对项目的监视访问功能,进一步优化应用程序的总体性能。ZendStudio与ZendPlatform可以进行结合使用,从而实时获得代码和脚本性能的反馈。ZENDSTUDIO为流行的SQL数据库包括MySQL、Oracle、IBMDB2和Cloudscape、微软SQL服务器、SQLite和PostgreSQL,从而提供查询、编辑和执行。运行环境Apache服务器是目前最流行的Web网页应用服务器,它大约占据了互联网应用服务器市场的70%以上的份额。Apache以其免费、稳定而且性能卓越而占领市场;而且他是最早可用的Web应用服务器,人们没有其他的选择。不可否认,Apache是一个优秀的全能Web服务器,但对于那些需要更强大的Web应用服务器(比如大小、可定制、响应速度、可扩展性等方面)的人而言,Apache明显不符合他们的要求,寻找Apache的替代者是更好的选择。因此对于大型网站,Apache并不适合,对于小型网站,它是游刃有余的。在设计网站的运行服务器时,Apache是第一选择。数据库MySQL是一个小型关系型数据库管理系统,它的开发者为瑞典MySQLAB公司。目前MySQL数据库在Internet上的中小型网站中被广泛的应用。由于该数据库其所占体积小、运行速度很快、总体成本低,尤其是它是对外开放源码的,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。使用C和C++语言编写,并使用了多种编译器进行测试,保证了源代码的可移植性。支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。提供了API给多种编程语言。例如C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。该数据库可以支持多线程,充分利用CPU资源。已经优化的SQL查询算法,有效地提高查询速度既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名提供TCP/IP、ODBC和JDBC等多种数据库连接途径提供用于管理、检查、优化数据库操作的管理工具,可以处理拥有上千万条记录的大型数据库在进行个人网站开发或一些小型的网站应用时,MySQL也是一个不错的选择。结构设计分析有前瞻性眼光的开发者在建设网站时会结合网站开发情况进行高水平的策划,制订出详细项目策划方案,保证网络平台具有先进性。网站的整体规划必须具备层次合理、操作方便、信息直观及搜索精确。因此根据上述理论,在网站设计具体实施设计的阶段,最为关键的就是网站的目录结构设计规则、超链接设计以及网站设计技术。网站目录结构规则,目录结构就是服务器上网站文件的存贮方式。为了使网络结构具有较强的可观赏性,也便于网站制作和后期维护,因此网站的的目录结构必须具有以下特点:⑴条理清晰:按栏目数量建立对应子目录。不要将所有文件都存放在根目录下。⑵层次分明:网站目录结构一般三级嵌套的树状结构为宜。⑶目录规则:比如内容模块content放置在专用的目录下,每个主目录下建立相对应的image目录,根目录下建立整个网站统一使用的模板目录、样式等文件目录,下载文件目录等。图2.1合理的目录路径⑷目录起名规则:不使用中文目录名,避免系统解释转换出错;不使用长文件名避免编辑出错;目录名意义明确,比如使用拼音简写,方便后期维护。

网站设计概要设计系统设计原则在系统当前诸多条件制约下,系统设计首先要研究考虑图片共享系统的实用性,美观,以及是否有系统漏洞等,以使得网站用户真正得到效益,充分发挥它的作用。同时又要注重网站的后台建设,以促进用户的管理。网上图片开发的原则如下:1、可行性原则。系统要保证技术上的可靠性实施的可行性。计算机网络编程,计算机网页设计和计算机数据库设计,在技术上已经是比较成熟的,经过多次事实检验也是非常成功的。2、适应性原则。系统要保证具有很好地可扩展性、运行时的可维护性。图片共享系统软要有扩充升级的充分余地,尤其是系统要便于维护,方便维护的系统才会有生命力。系统对用户的需求要有一定的适应能力。3、安全性及保密性原则。尽管本网站旨在信息共享,应用时也不会有太多用户,不过还是对恶意注册等进行了相关处理,采用验证码技术进行处理。4、人机结合原则。进行管理员和普通用户共同对数据库进行处理。并美化网站界面。友好的界面是系统设计的主要原则之一。5、系统工程原则。系统调查、系统分析、系统设计、软件开发以及实施都要遵照系统工程的方法和步骤一步一步地进行,以便确保系统的整体性。6、统一规划、分期实施、逐步完善原则。管理信息系统在实施时需要按规划、分阶段实施,先由点然后到面逐步扩充,逐步完善,循序渐进。系统设计系统设计是根据需求分析的结果,设计系统的模块和结果之间的内在联系。根据调查,可以将系统分为三部分。管理员部分,普通用户部分和游客部分。管理员拥有最大的权限。普通用户仅能修改自己信息及相关的其他操作。游客的权限最小。图片分享系统图片分享系统管理员用户游客修改文章修改照片修改用户信息发表文章发表照片进行留言查看文章及图片图3.1系统功能结构图各个模块设计登陆/注册模块普通用户登录验证的主要功能是,当前登录者输入必要信息,系统根据用户注册时提交并保存在数据库中的信息,进行验证。合法用户通过验证,进入到功能页面,非法用户拒绝登录,并进行相应提示。图3.2用户登录界面用户登录界面需要调用5个函数进行实现,调用验证码函数用来生成验证码图片,调用检查登录函数进行用户名的检测及用户密码的检测。若验证成功则跳到网站首页。最后若用户成功登录后,需要进行注销。以下代码为验证登录部分的代码。publicfunctioncheckLogin(){ $loginName=$_POST['loginName']; $password=$_POST['password']; if(empty($loginName)){ $this->error("帐号不可以为空!"); }elseif(empty($password)){ $this->error("密码不可以为空!"); }elseif($_SESSION["verify"]!=md5($_POST["verifyCode"])){ $this->error('验证码错误!'); } //生成认证条件 $map=array(); $map['loginName']=$loginName; $map['disabled']=1; $Form=M('Manager'); $vo=$Form->find($map); //使用用户名、密码和状态的方式进行认证 if(false==$vo){ $this->error("帐号不存在或者已被禁用!"); }else{ if($vo['loginName']!=$_POST["loginName"]) $this->error('帐号错误!'); elseif($vo['password']!=md5($_POST["password"])) $this->error('密码错误!'); } $_SESSION[C("USER_AUTH_KEY")]=$vo; $Public=newPublicAction(); $Public->login(); }用户注册主要是将用户的个人资料上传,并将其进行本地校验。如果发现用户资料不符合要求,比如对于用户名的判断不符合要求,则要求用户进行修改。采用Ajax技术进行用户名的格式的判断,判断用户名是否符合要求(带*号的为必填项目;用户名必须大于3位小于20位,可以使用中文,但禁止除[@][.]以外的特殊符号;密码请输入3位以上字符,不允许空格;显示密码强度等等),当完成检验后用户提交注册,转到相关功能页面处理。图3.3用户注册界面用户如果忘记密码,可以点击登录界面中的“忘记密码”,进入找回密码界面,按步骤依次完成,可重新设定密码。文章管理用户登陆后可以进行对文章的操作,比如可以增加文章,可以删除文章,在增加文章时,采用了查重技术,可以防止用户添加重复的文章标题。图3.4用户发表文章界面本系统文章浏览页面中,整个页面显示了前10条文章标题,将所有文章进行了分类。并且列出了网站所有文章的信息,包括标题、类型、发布日期,每篇文章的标题被做成一个超链接,直接点击它们就能跳转页面进行阅读。符合当前网站文章的发布及阅读方式。图3.5文章列表界面在上图中可以看到网上上列出来的文章列表。在上图所示的文章列表中,用户可以单击某一个文章标题进入查看对应的文章内容。图3.6文章详细信息界面为了方便对文章的管理,每个注册用户都可以在管理文章的界面看到自己发表的每一篇文章并且能对其管理,主要实现了对文章的添加操作,删除操作以及更改操作,这样即使用户在发表了文章以后,也可以在此页上对文章中不满意的地方进行修改,用户可以点击某条文章的标题,进行每篇文章的编辑。图3.7用户编辑修改文章界面用户进行修改文章的代码如下:publicfunctionupdate(){ if($this->isPost()){ $Form=D('Archives'); $Form->startTrans(); if($vo=$Form->create()){ $list=$Form->save(); if($list){ $Form->commit(); $this->success(); }else{ $Form->rollback(); $this->error('数据写入错误!'); } }else $this->error($Form->getError()); }else{ if(!empty($_GET['id'])){ $Form=M("Archives"); $vo=$Form->getById($_GET['id']); if($vo){ $this->assign('ARCHIVES_VO',$vo); $this->toTemplate('Archives:edit'); }else{ $this->error('编辑项不存在!'); } }else{ $this->error('编辑项不存在!'); } } }相册管理用户可以进行图片的查看,在图片的界面,将图片做成了列表,当对某一个图片感兴趣时,可以单击图片,将转到图片所在链接进行查看该图片的具体内容。图3.8图片展示界面用户可以对某一个感兴趣的图片单击,以详细查看该图片的详细内容,并可以在图片下边发表留言图3.9图片详细信息界面已登陆的用户可以对该图片进行评论,也可以进行分享,将该图片的链接分享到其他网站网站上。图片上传界面用户登录后可以转到图片上传界面,进行上传图片管理,为了便于管理,将图片利用相册分类存储,首次上传图片需要新建相册,以区分照片的种类,并且用户可以通过检查重复性以检查照片是否有重复。由于需要登录才能上传退片,所以需要进行登录状态的检测,算法流程如下:是否登录是否登录是否登录是否登录是否登录是否登录是是成功用户进入是否登录上传文件提示出错上传成功上传失败否出错图3.4用户上传图片流程图首先进行相册的建立,用户在新建相册名称之后需要进行重复性检查,以防止重复的相册,然后选择一张可以代表相册内容的图片作为相册的封面:图3.5新建相册界面在上传图片时首先将名称写上并检查重复,然后依次上传每个图片,并在图片下边的详细说明中写对图片的说明。图3.10用户上传图片界面用户可以根据需要添加多张图片,在每个图片的下方可以对图片进行说明注释,以使得其他用户或游客等可以对该图片有所了解。用户管理界面在本界面可以看到所有用户的列表,可以点击用户名进行相应用户的详细资料的查看:图3.11用户管理界面最新分享管理本界面列出了最新分享的前10个项目,用户可以通过点击项目的具体名称进行查看项目的明细:图3.12分享界面3.3小结本节主要讲述了系统的总的设计方法、设计流程以及相关功能的代码与实现截图,事实说明,网页或软件界面必须充分考虑人机交互界面等因素,否则实用性较差,且本网站本身就是图片分享类网站,故更需注意。

数据库设计数据库设计原则数据库设计是构建一个系统的关键。这是因为数据库设计的好坏可以直接影响系统的数据安全性、数据可靠性。以及是否存在数据冗余,系统是否易于维护等。在数据库的设计过程中,一般需要遵循如下几个原则:(1)数据库中所涉及的各表的设计要真实的反映现实中的事物。数据表中所使用的字段类型和字段大小都要符合使用习惯。(2)尽量减少数据库的数据冗余和数据的不一致性。以便提高数据库的可维护性。数据库应用的一个特点是对数据库的频繁操作,每次操作可能只会涉及一个表或者一个字段,也可以同时涉及多个表或多个字段,也有可能对一个数据表进行多次不同操作,在这种情况下,如果系统由于数据冗余和数据不一致时,可能会引起错误,或者可能引起时间复杂。(3)数据库的设计要有助于提高数据存储等操作速度。程序访问数据库的速度依赖于硬件的速度,数据量的大小和数据表设计的优劣,而前两个因素是很难更改的。(4)要保证数据库的安全。安全性是数据库应用软件的重要要求。数据库流程设计网站管理是本网站的后台管理模块,网站后台的主要的功能是对相关信息的维护、对图片的管理和对用户的管理。信息维护的工作是维护在对文章等信息发布的所有信息;对图片管理,指网站用户通过后台对图片的相关栏目进行编辑和及时过时信息进行及时的调整,以适应信息的发展。网站管理的目的是网站管理员保证网站内容的维护和更新,确保网站系统的完善。为了设计数据库,需要对用户登陆数据流程进行分析,下图为用户数据流程图。网站首页网站首页是否登陆注册重新登陆要注册是浏览信息是否否图4.1用户登陆数据流程将用户流程图分析出后,就不难将各个表设计出来,下面将对各个表进行设计。各数据表的设计4.3.1用户信息表的设计与实现用户信息表是用来存储系统中所有用户的信息的表,其中需要包含用户名、用户登录密码、密码问题、问题答案等个人信息。tb_passport用户信息表u_idInt(10)主键非空用户IDnickNameVarchar(50)非空用户名PasswordVarchar(50)非空用户密码MottoVarchar(100)非空个性签名sexChar(1)非空性别qqVarchar(12)非空qq号码emailVarchar(30)允许空注册邮箱createtimedate允许空创建时间表4.1用户信息表根据以上信息,在数据库中进行建表:表的名称为tb_passport图4.2创建表语句截图文章列表:存储系统中所有的文章信息,包括编号、标题、文章内容、作者、添加日期等。tb_archives文章表Idint(10)主键非空文章IDWhoIDint(10)非空拥有者Titlevarchar(50)非空标题thumbvarchar(50)非空封面authorvarchar(50)非空作者fromUrlvarchar(50)非空来源Hitsint(11)非空点击数bodytext非空内容CreateTimeint(10)非空创建时间updateTimeint(10)非空更新时间表4.2文章信息表根据以上字段,可以建表如下:图4.3文章列表相册列表:存储相册图片的信息,包括编号、标题、图片所在地址、图片介绍、作者、添加日期等相关信息。Tb_photo图片信息表Idint(10)主键非空信息IDalbumsIDInt(10)非空IDSrcVarchar(100)非空图片地址infovarchar(500)非空发布内容createTimeInt(10)非空发布时间表4.3图片信息表根据以上字段,可以有如下建表语句:图4.4图片信息建表语句tb_albums表Idint(10)主键非空ID值whoIDInt(10)默认为空拥有者IDNameVarchar(30)默认为空姓名createTimeInt(10)默认为空创建时间updateTimeInt(10)默认为空更新时间表4.7更新表图4.8更新图评论管理表:用于管理网站所发布公告后用户发表的评论信息,包括评论标题、内容、作者、评论时间等。Tb_comment评论表d_idint(11)主键非空评论IDrootIDInt(10)非空根的IDGroupsChar(5)非空所在群组d_datedate非空发布日期d_picidbigint非空所属信息ID表4.4评论管理表根据上表,可以有如下建表语句:图4.5评论表分享列表:用于管理网站分享的信息的表:tb_share分享表Idint(10)主键非空分享IDwhoIDInt(10)非空拥有者idrootIDInt(10)非空根目录idGroupsChar(5)非空所在组urlVarchar(100)默认为空网址BodyVarchar(500)默认为空分享内容createTimeInt(10)非空创建时间表4.5分享管理的表根据上表,可以有如下建表语句:图4.6分享管理

系统测试测试一般的网站或软件在开发出来以后需要进行系统测试以测试出系统的漏洞。一般分为白盒测试和黑盒测试。白盒测试是一种以程序的内部逻辑结构为依据而设计的用来测试用例的方法,因而白盒测试法又被称为结构测试法或玻璃盒测试法。合理的白盒测试就是要测试时能够选取足够多的测试用例,以便对源代码实行比较充分的用例覆盖,以便尽可能多的测试出网站或程序中的隐藏错误。白盒测试主要有两种方法:一种是逻辑覆盖法,即在逻辑上进行全面的测试;另一种称为路径覆盖法,即在路径上进行全面的覆盖测试。在这里我们采用逻辑覆盖法。在开发网站系统的时候,我们使用白盒测试技术对网站进行了全面测试,采取的具体测试思路是:对菜单项的测试:为了保证每一个菜单可以正确实现系统预先设计的功能,网站的流程主要有用户的登陆和信息的发布。在系统中,对每一个菜单反复进行增加、删除、修改等操作,从而保证了各个菜单项的正确实现。数据跟踪测试:完成菜单项测试后,对网站系统内的数据进行了数据流跟踪测试。例如:对用户这一项,在用户注册界面进行注册用户后,在后台管理中进行对用户的管理;然后在登陆界面上进行登陆,并在文章或图片界面上进行相关操作,然后进行查看,是否合适。移植测试:将本网站系统拷贝发布到其他计算机上运行,测试其其移植性能是否良好。综合测试:在以上测试的基础上对系统功能进行整体的测试,用这种方法来检验系统功能是否符合设计的要求。测试内容为了对本系统进行测试,需要进行两方面的测试,即需要对其进行静态测试,并修改代码,添加注释,这方面比较容易,需要对代码规范性有所了解,且需要对代码了解,并读懂。另一方面,需要对系统进行黑盒测试,根据系统功能,需要分别对各个界面进行测试,以检测数据流是否正确,页面跳转有无问题等系统漏洞。对系统用户的测试:主要为用户输入用户名密码能否顺利进入本系统;未注册用户的处理;用户注册时用户名的判断等功能。对发布文章/图片的测试:主要为能否添加文章/图片;能否进行文章/图片重复标题的检查;另外对于图片上传界面,还要考虑图片是否上传成功,以及图片备注能否正确显示、多张图片的显示问题等是否存在漏洞。对文章/图片的管理:进行文章/图片的修改,首先是已有文章能否正常显示,然后对

温馨提示

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

评论

0/150

提交评论