松江旅游管理系统的设计论文(终版)_第1页
松江旅游管理系统的设计论文(终版)_第2页
松江旅游管理系统的设计论文(终版)_第3页
松江旅游管理系统的设计论文(终版)_第4页
松江旅游管理系统的设计论文(终版)_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

目录摘要1ABSTRACT21绪论411研究背景412研究意义413研究的主要内容514关键技术与工具6141HTML6142JAVASCRIPT6143SQL6144PHP7145B/S结构8146LINUX操作系统9147APACHESERVER102系统需求分析1021可行性研究10211经济可行性11212技术可行性1122功能需求分析1123性能需求123设计方案1331网站各模块功能设计13311旅游管理系统前台功能13312旅游管理系统后台功能1432数据库设计1533数据库连接文件194系统的实现2041首页的实现2042列表页面的实现2143详情页面的实现2244旅游信息搜索的实现2345线路规划和景点搜索的实现2546评论分享的实现2747论坛的实现2848后台管理功能的实现30481系统后台登录功能的实现30482系统后台信息管理功能的实现31483信息的删除和列表显示335系统测试3451测试计划的制定与用例设计34511测试时间节点34512系统测试的进入和退出标准3452主要模块测试35521信息搜索测试35522后台登陆测试3753测试的执行与结果分析386结论40参考文献42附录44译文61原文说明78原文79摘要上海松江区作为上海现代文明的发源地,有着丰富的文化旅游资源。放大资源的价值,着力培育自身的核心竞争力,是松江旅游快速发展的有效途径。本课题以松江旅游为研究对象,基于其已经取得的成效和未来的发展趋势,开发了一个旅游网站系统。该系统包括景点的展示;旅游线路的说明;旅行社和宾馆酒店管理;历史文化、风土人情与特产的介绍;旅游客户的管理等功能;为了游客旅游的方便还设计旅游指南模块,日期和天气预报模块及旅游论坛模块等。该系统的开发语言采用了业界主流的PHP,并结合开源免费的MYSQL数据库搭建了基于B/S架构下的旅游信息管理系统。该系统完成后经过测试,具有访问速度快,界面美观,旅游信息丰富,用户使用方便等特点,达到了设计目标。关键词旅游网站,PHP,数据库,B/S架构THEDESIGNOFSONGJIANGTOURISMMANAGEMENTSYSTEMABSTRACTSONGJIANGASTHEBIRTHPLACEOFMODERNCIVILIZATIONOFSHANGHAIHASAPLENTYOFCULTURALTOURISMRESOURCESITISANEFFECTIVEWAYFORSONGJIANGTOIMPROVETOURISMENVIRONMENTANDPOPULARITYTHATAMPLIFYSTHEVALUEOFRESOURCESANDCULTIVATESITSOWNCORECOMPETITIVENESSBYSETTINGTOURISMINSONGJIANGASTHERESEARCHOBJECT,THISPAPERDEVELOPEDATRAVELINGWEBSITESYSTEMBASEDONTHEOBTAINEDACHIEVEMENTSANDTHEFUTUREDEVELOPMENTTRENDTHISSYSTEMINCLUDESFUNCTIONSSUCHASEXHIBITIONOFSCENICSPOTS,EXPLANATIONABOUTTOURISTROUTE,TRAVELAGENCYANDHOTELMANAGEMENT,INTRODUCTIONABOUTHISTORICCULTURE,LOCALCUSTOMSANDSPECIALLOCALPRODUCTS,ANDTOURISTMANAGEMENTETCBESIDES,FORTHECONVENIENCEOFTOURISTS,TRAVELGUIDEMODULE,DATEIFMYSQLI_CONNECT_ERRNOECHO数据库连接错误错误代码MYSQLI_CONNECT_ERROREXIT_MYSQLISET_CHARSETUTF8RETURN_MYSQLI/清理STATICPUBLICFUNCTIONUNDB_RESULTNULLIFIS_OBJECT_DB_DBCLOSE_DBNULL4系统的实现41首页的实现首页作为整个网站的门面,所有功能的入口,力求作到简单明了。最终的界面如图41所示图41网站首页首页主要有头部导航栏,中部幻灯片,旅游资讯列表,会员登录,当地天气和各个旅游信息模块组成。实现核心代码如下_OBJECTTHIS_MODELGETPICLISTTOOLSUBSTR_OBJECT,TITLE,20,UTF8TOOLOBJDATE_OBJECT,DATETHIS_TPLASSIGNPICLIST,_OBJECT_OBJECTTHIS_MODELGETNEWLISTTOOLSUBSTR_OBJECT,TITLE,25,UTF8TOOLOBJDATE_OBJECT,DATETHIS_TPLASSIGNNEWLIST,_OBJECT_OBJECTTHIS_MODELGETNEWTOPTHIS_TPLASSIGNTOPTITLE,TOOLSUBSTR_OBJECTTITLE,NULL,18,UTF8THIS_TPLASSIGNTOPINFO,TOOLSUBSTR_OBJECTINFO,NULL,80,UTF8THIS_TPLASSIGNTOPID,_OBJECTID上述代码中的GETPICLIST、GETNEWLIST、GETNEWTOP方法是CONTENT类模型中定义的方法,通过子类继承CONTENT实现调用。42列表页面的实现列表页是所有信息列表展示的界面,它是列表模版通过数据绑定,把后台的列表数据分页显示到前台。最终的界面如图42所示图42列表页实现核心代码如下PARENT_CONSTRUCTTHIS_TPL,NEWCONTENTMODEL_NAVNEWNAVMODEL_NAVID_GETID_NAVID_NAVGETNAVCHILDIDIF_NAVIDTHIS_MODELNAVTOOLOBJARROFSTR_NAVID,IDELSETHIS_MODELNAV_NAVIDPARENTPAGETHIS_MODELGETLISTCONTENTTOTAL,ARTICLE_SIZE_OBJECTTHIS_MODELGETLISTCONTENTTOOLSUBSTR_OBJECT,INFO,120,UTF8TOOLSUBSTR_OBJECT,TITLE,35,UTF8IF_OBJECTFOREACH_OBJECTAS_VALUEIFEMPTY_VALUETHUMBNAIL_VALUETHUMBNAILIMAGES/NONEJPGTHIS_TPLASSIGNALLLISTCONTENT,_OBJECT_OBJECTTHIS_MODELGETMONTHNAVRECTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVREC,_OBJECT_OBJECTTHIS_MODELGETMONTHNAVHOTTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVHOT,_OBJECT上述代码中首先通过实现NAVMODEL类的对象_NAV,然后_NAV调用GETNAVCHILDID方法得到当前的列表的子类,最后调用GETLISTCONTENT方法得到信息列表并调用视图显示出来。43详情页面的实现详情页是通过信息的编号(ID)通过程序到数据库中查询相关记录并通过详情页模版绑定到前台显示的。最终的界面如图43所示实现核心代码如下PARENT_CONSTRUCTTHIS_TPL,NEWCONTENTMODELTHIS_MODELID_GETIDIFTHIS_MODELGETONECONTENTTOOLALERTBACK警告不存在此文档_CONTENTTHIS_MODELGETONECONTENT_COMMENTNEWCOMMENTMODEL图43详情页_COMMENTCIDTHIS_MODELID_TARARREXPLODE,_CONTENTTAGIFIS_ARRAY_TARARRFOREACH_TARARRAS_VALUE_CONTENTTAGSTR_REPLACE_VALUE,_VALUE,_CONTENTTAGTHIS_TPLASSIGNID,_CONTENTIDTHIS_TPLASSIGNTITLEC,_CONTENTTITLETHIS_TPLASSIGNDATE,_CONTENTDATETHIS_TPLASSIGNSOURCE,_CONTENTSOURCETHIS_TPLASSIGNAUTHOR,_CONTENTAUTHORTHIS_TPLASSIGNINFO,_CONTENTINFOTHIS_TPLASSIGNTAG,_CONTENTTAGTHIS_TPLASSIGNCONTENT,TOOLUNHTML_CONTENTCONTENTTHISGETNAV_CONTENTNAVIFIS_CAHCETHIS_TPLASSIGNCOUNT,GETCONTENTCOUNTELSETHIS_TPLASSIGNCOUNT,_CONTENTCOUNT上述代码中通过_GETID得到信息的编号,然后调用GETCONTENTCOUNT方法得到信息数据,最后绑定到前台模板中显示。44旅游信息搜索的实现旅游信息搜索是通过信息的标题(TITLE)通过程序到数据库中查询相关记录并通过列表页模版绑定到前台显示的。最终的界面如图44所示图44搜索页实现核心代码如下/按照标题搜索PRIVATEFUNCTIONSEARCHTITLEIF_GETTYPE1IFEMPTY_GETINPUTKEYWORDTOOLALERTBACK警告搜索关键字不得为空THIS_MODELINPUTKEYWORD_GETINPUTKEYWORDPARENTPAGETHIS_MODELSEARCHTITLECONTENTTOTAL,ARTICLE_SIZE_OBJECTTHIS_MODELSEARCHTITLECONTENTTOOLSUBSTR_OBJECT,INFO,120,UTF8TOOLSUBSTR_OBJECT,TITLE,35,UTF8IF_OBJECTFOREACH_OBJECTAS_VALUEIFEMPTY_VALUETHUMBNAIL_VALUETHUMBNAILIMAGES/NONEJPG_VALUETITLESTR_REPLACETHIS_MODELINPUTKEYWORD,THIS_MODELINPUTKEYWORD,_VALUETITLETHIS_TPLASSIGNSEARCHCONTENT,_OBJECTTHIS_TPLASSIGNTITLEC,THIS_MODELINPUTKEYWORD上述代码中通过_GETINPUTKEYWORD得到信息的关键字,然后调用SEARCHTITLECONTENTTOTAL方法得到信息数据,最后绑定到前台模板中显示。45线路规划和景点搜索的实现线路规划是通过百度地图的API实现的,百度地图提供了多种类型的API接口供开发者调用,我利用的是JAVASCRIPT接口调用的,实现原理为用户输入旅游景点的起始点,网站调用百度地图相关API实现线路规划功能。最终的界面如图45所示图45景点搜索页实现核心代码如下FORVARI0I从“JSONT1“到“JSONT2“距离“JSONRESULTELEMENTS0DISTANCETEXT“,时间“JSONRESULTELEMENTS0DURATIONTEXT“VARTRANSITNEWBMAPTRANSITROUTEMAP,RENDEROPTIONSMAPMAPTRANSITSEARCHP1,P2景点搜索实现原理为通过景点名称调用API接口查询相关记录并通过详情页模版绑定到前台显示的。最终的界面如图46所示图46景点搜索页实现核心代码如下VARMAPOPTIONMAPTYPEBMAP_NORMAL_MAP,MAXZOOM18,DRAWMARGIN0,ENABLEFULLTIMESPOTCLICKTRUE,ENABLEHIGHRESOLUTIONTRUEVARMAPNEWBMAPMAP“CONTAINER“,MAPOPTIONVARTESTPOINTPOINTMAPCENTERANDZOOMTESTPOINT,18VARMARKERNEWBMAPMARKERTESTPOINTMARKERENABLEDRAGGINGMAPADDOVERLAYMARKERMARKERADDEVENTLISTENERDRAGEND,FUNCTIONEPANORAMASETPOSITIONEPOINT/拖动MARKER后,全景图位置也随着改变PANORAMASETPOVHEADING40,PITCH6,“上海“46评论分享的实现评论分享是通过分享插件绑定到详情页模版然后在前台显示的。最终的界面如图47所示图47评论分享实现核心代码如下WITHDOCUMENT0GETELEMENTSBYTAGNAMEHEAD0|BODYAPPENDCHILDCREATEELEMENTSCRIPTSRCHTTP/BDIMGSHAREBAIDUCOM/STATIC/API/JS/SHAREJSCDNVERSIONNEWDATE/36E5上述代码中的通过APPENDCHILD插入脚步标签,实现动态脚本的载入,从而实现分享插件的绑定。47论坛的实现论坛是主贴和回复都在同一个页面内,存储主贴和回复也使用同一个数据表。通过主贴ID和回复帖进行关联。最终的界面如图48、49、410、411所示图48主帖列表图49回复列表图410发布新帖图411回复帖子实现核心代码如下/获取主贴PRIVATEFUNCTIONGETVOTE_VOTENEWVOTEMODEL_OBJECT_VOTEGETVOTEITEMIF_OBJECTFOREACH_OBJECTASV_SUMNEWVOTEMODEL_SUMIDVIDSUM_SUMGETVOTESUMVSUMSUMSUM_SUMSUMSUMSUM_SUMSETSUMTHIS_TPLASSIGNVOTE_ITEM,_OBJECTPRIVATEFUNCTIONSETCOUNTIFISSET_POSTTITLEIFEMPTY_POSTINFOEXITNULLIFEMPTY_COOKIE“USER“EXITNOLOGINTHIS_MODELTITLE_POST“TITLE“THIS_MODELINFO_POST“INFO“THIS_MODELUNAME_COOKIE“USER“IFTHIS_MODELADDBBSEXITOK上述代码中通过实例化VOTEMODEL类,并调用GETVOTEITEM实现帖子的调用和ADDBBS实现帖子的发表。48后台管理功能的实现481系统后台登录功能的实现后台登陆是通过管理员输入用户名、密码和验证码,后台程序通过把输入的登录数据与数据库里面的登录数据进行对比,如果存在且和数据库里面的一致,则说明验证成功,允许登录。否则会提示用户名或密码错误,组织非法的登录。界面如下图412所示图412后台登陆实现核心代码如下IFIFVALIDATECHECKNULL_POSTADMIN_USERTOOLALERTBACK警告用户名不得为空IFVALIDATECHECKNULL_POSTADMIN_PASSTOOLALERTBACK警告密码不得为空IFVALIDATECHECKLENGTH_POSTADMIN_PASS,6,MINTOOLALERTBACK警告密码不得小于六位THIS_MODELADMIN_USER_POSTADMIN_USERTHIS_MODELADMIN_PASSSHA1_POSTADMIN_PASSTHIS_MODELLAST_IP_SERVER“REMOTE_ADDR“_LOGINTHIS_MODELGETLOGINMANAGEIF_LOGIN_PREARREXPLODE,_LOGINPREMISSIONIFIN_ARRAY1,_PREARR_SESSIONADMINADMIN_USER_LOGINADMIN_USER_SESSIONADMINLEVEL_NAME_LOGINLEVEL_NAME_SESSIONADMINPREMISSION_PREARRTHIS_MODELSETLOGINCOUNTTOOLALERTLOCATIONNULL,ADMINPHPELSETOOLALERTBACK警告权限不够,您无法登录ELSETOOLALERTBACK警告用户名或密码错误上述代码中通过_POSTADMIN_USER和_POSTADMIN_PASS获得用户名和密码,然后调用GETLOGINMANAGE方法进行同户名和密码的验证。482系统后台信息管理功能的实现信息管理主要是实现对前台各个信息的增加、删除、修改等操作。信息的添加和修改信息的添加和修改是对前台显示的信息进行的添加和修改操作。界面如下图413所示图413信息的添加和修改实现核心代码如下PRIVATEFUNCTIONADDIFISSET_POSTSENDTHISGETPOSTTHIS_MODELADDCONTENTTOOLALERTLOCATION文档发布成功,ACTIONSHOWTOOLALERTBACK警告文档发布失败THIS_TPLASSIGNADD,TRUETHIS_TPLASSIGNTITLE,新增文档THISNAVTHIS_TPLASSIGNAUTHOR,_SESSIONADMINADMIN_USERPRIVATEFUNCTIONUPDATEIFISSET_POSTSENDTHIS_MODELID_POSTIDTHISGETPOSTTHIS_MODELUPDATECONTENTTOOLALERTLOCATION文档修改成功,_POSTPREV_URLTOOLALERTBACK警告文档修改失败ELSETOOLALERTBACK警告非法操作上述代码中的ADD方法和UPDATE方法实现了文档的添加和修改。483信息的删除和列表显示信息的删除对前台显示的信息进行的删除操作。列表显示界面如下图414所示图414信息列表实现核心代码如下PRIVATEFUNCTIONDELETEIFISSET_GETIDTHIS_MODELID_GETIDTHIS_MODELDELETECONTENTTOOLALERTLOCATION文档删除成功,PREV_URLTOOLALERTBACK警告文档删除失败ELSETOOLALERTBACK警告非法操作上述代码中的DELETE方法实现了文档的删除。其中通过_GETID获取要删除的信息ID,然后调用DELETECONTENT方法实现文档删除。5系统测试51测试计划的制定与用例设计网站测试计划的制定及合理的用例设计是成功实施一个网站测试项目的前提和基础。本网站测试主要完成对数据模拟和信息处理功能的测试。511测试时间节点整个系统测试时间为2个星期,在2个星期内必须完成测试计划内列出的全功能点,并对测试结果进行详细记录。512系统测试的进入和退出标准进入测试标准在保证所有子功能模块通过测试和整个系统能联编成功的情况下,并保证前期的网站测试发现的缺陷得到全部解决。退出标准如果测试后没发现主要或严重的缺陷,并经过测试组评审后,确认测试通过。下面是本网站设计的主要测试用例列表。(1)主要数据功能测试用例设计主要数据功能测试用例从三个方面进行了设计即数据编辑,数据显示和数据存储。其中数据编辑包括的用例为新增、修改、删除;数据显示包括列表显示、输出报表显示;数据存储包括保存、读取、查询。用例设计表如表51所示。表51数据编辑测试用例设计表测试用例编号功能测试用例的输入测试用例的执行过程预期输出实际输出问题表述测试人员01新增输入任意格式的数据新增成功0102修改修改部分数据修改成功0103删除删除部分数据删除成功0104列表显示对多条数据界面的浏览列表显示成功0105单条数据详细显示单条数据的详细页浏览单条显示成功0106查询查询数据库中符合条件的数据查询结果正确01(2)信息处理功能用例设计信息处理功能用例设计主要包括信息流转,信息认证和信息的关联性三个方面。用例设计如表52所示。52主要模块测试521信息搜索测试在前台搜索框中输入你想搜索的关键字,点击搜索按钮,将会显示搜索结果列表。表52信息处理功能测试用例设计表测试用例编号功能测试用例的输入测试用例执行过程预期输出实际输出问题表述测试人员01输出正确的用户名和密码成功进入系统0102输出正确的用户名和错误的密码输入的用户名或密码错误0103身份认证输出错误的用户名和正确的密码输入的用户名或密码错误0104页面链接点击链接记录正确显示页面0105流程检查向上一级发送请求上一级可以收到请求的信息0106重复命名报错以数据库中存在的文件名命名新文件提示文件已经存在01图51输入搜索关键字图52搜索结果列表522后台登陆测试在后台登录界面输入用户名和密码和验证码,点击“登录”按钮,当身份认证通过后进入后台主页面,如图53、54所示图53登录界面图54后台界面如身份认证失败,则显示出错信息,如图55所示图55身份认证失败界面由于篇幅所限,这里仅搜索和后台登录进行演示,其他功能模块的实现请通过系统操作查看。53测试的执行与结果分析根据本网站主要功能测试用例的设计,依据用例的先后顺序对其进行执行,依次得出其测试结果,在此基础上完成对本网站的测试结果分析。按照测试用例设计,对主要数据功能及信息处理功能用例进行测试,具体测试结果如表53和54所示。表53数据编辑测试用例结果表测试用例编号功能测试用例的输入测试用例的执行过程预期输出实际输出问题表述测试人员01新增输入任意格式的数据保存输入后的数据新增成功新增成功达到预期效果0102修改修改部分数据保存修改后的数据修改成功修改成功达到预期效果0103删除删除部分数据保存删除后的数据删除成功删除成功达到预期效果0104列表显示对多条数据界面的浏览用户浏览列表显示成功列表显示成功达到预期效果0105单条数据详细显示单条数据的详细页浏览用户浏览单条显示成功单条显示成功达到预期效果0106查询查询数据库中符合条件的数据按统一的查询入口在数据库中查询查询结果正确查询结果正确达到预期效果01表54信息处理功能测试用例结果表测试用例编号功能测试用例的输入测试用例执行过程预期输出实际输出问题表述测试人员01输出正确的用户名和密码执行登陆命令成功进入系统成功进入系统达到了预期目的0102输出正确的用户名和错误的密码执行登陆命令输入的用户名或密码错误输入的用户名或密码错误达到了预期目的0103身份认证输出错误的用户名和正确的密码执行登陆命令输入的用户名或密码错误输入的用户名或密码错误达到了预期目的0104页面链接点击链接记录执行链接命令正确显示页面正确显示页面达到了预期目的0105流程检查向上一级发送请求执行请求命令上一级可以收到请求的信息上一级可以收到请求的信息达到了预期目的0106重复命名报错以数据库中存在的文件名命名新文件执行保存命令提示文件已经存在提示文件已经存在达到了预期目的016结论本论文通过分析当今旅游的发展状况并以松江区的旅游为研究对象,提出通过信息化的手段解决松江旅游发展过程中信息闭塞、旅游推广宣传效果差等旅游难题,设计与实现松江旅游网站,通过该网站松江旅游经营者能够进行有效的网上营销和品牌拓展,有效整合网上网下旅游服务资源,促进松江旅游经济的发展。该松江旅游管理系统,基本符合一般旅游用户的需求,设计的时候将其分为前台和后台两部分,通过最后的测试基本实现了预期的功能。前台实现了旅游线路、旅游新闻和旅游资讯的查看,能够完成游客在线规划线路,论坛模块为游客和旅行社、游客和游客之间提供了一个信息交流的平台。后台提供部分系统维护功能,主要是评论信息管理评论信息的查看和删除;旅游信息管理旅游信息类型和旅游信息的添加、修改和删除;景点信息设置景点信息的添加、修改和系统管理员的添加、修改和删除密码等功能。由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方。比如没有实现线路规划的在线存储和下载的功能、线路介绍过程中没有实现线路图功能、验证系统不够严密、用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。参考文献1辛洪郁,张鑫编PHP项目开发全程实录M北京清华大学出版社,20132张鑫,王雨竹PHPMYSQL开发实战M北京清华大学出版社,20133美JULIECMELONI著李军译PHP、MYSQL和APACHE入门经典第5版M北京人民邮电出版社,20134朱居正REDHATENTERPRISELINUX系统管理M北京清华大学出版社,200925德瑞工作室DREAMWEAVER4THREVISEDEDITION,2004附录1首页代码LOGINTHISLATERUSERTHISSHOWLIST/最近登录的会员PRIVATEFUNCTIONLATERUSER_USERNEWUSERMODELTHIS_TPLASSIGNALLLATERUSER,_USERGETLATERUSER/显示推荐,本月热点,本月评论,头条PRIVATEFUNCTIONSHOWLISTPARENT_CONSTRUCTTHIS_TPL,NEWCONTENTMODEL_OBJECTTHIS_MODELGETNEWRECLISTTOOLSUBSTR_OBJECT,TITLE,15,UTF8TOOLOBJDATE_OBJECT,DATETHIS_TPLASSIGNNEWRECLIST,_OBJECT_OBJECTTHIS_MODELGETMONTHHOTLISTTOOLSUBSTR_OBJECT,TITLE,15,UTF8TOOLOBJDATE_OBJECT,DATETHIS_TPLASSIGNMONTHHOTLIST,_OBJECT_OBJECTTHIS_MODELGETMONTHCOMMENTLISTTOOLSUBSTR_OBJECT,TITLE,15,UTF8TOOLOBJDATE_OBJECT,DATETHIS_TPLASSIGNMONTHCOMMENTLIST,_OBJECT_OBJECTTHIS_MODELGETPICLISTTOOLSUBSTR_OBJECT,TITLE,20,UTF8TOOLOBJDATE_OBJECT,DATETHIS_TPLASSIGNPICLIST,_OBJECT_OBJECTTHIS_MODELGETNEWLISTTOOLSUBSTR_OBJECT,TITLE,25,UTF8TOOLOBJDATE_OBJECT,DATETHIS_TPLASSIGNNEWLIST,_OBJECT_OBJECTTHIS_MODELGETNEWTOPTHIS_TPLASSIGNTOPTITLE,TOOLSUBSTR_OBJECTTITLE,NULL,18,UTF8THIS_TPLASSIGNTOPINFO,TOOLSUBSTR_OBJECTINFO,NULL,80,UTF8THIS_TPLASSIGNTOPID,_OBJECTID_OBJECTTHIS_MODELGETNEWTOPLISTTOOLSUBSTR_OBJECT,TITLE,15,UTF8TOOLOBJDATE_OBJECT,DATEIF_OBJECT_I1FOREACH_OBJECTAS_VALUEIF_I20_VALUELINEELSE_VALUELINE|_ITHIS_TPLASSIGNNEWTOPLIST,_OBJECT_NAVNEWNAVMODEL_OBJECT_NAVGETFOURNAVIF_OBJECT_I1FOREACH_OBJECTAS_VALUEIF_I20_VALUECLASSLISTRIGHTBOTTOMELSE_VALUECLASSLISTBOTTOM_ITHIS_MODELNAV_VALUEID_NAVLISTTHIS_MODELGETNEWNAVLISTTOOLSUBSTR_NAVLIST,TITLE,20,UTF8TOOLOBJDATE_NAVLIST,DATE_VALUELIST_NAVLISTTHIS_TPLASSIGNFOURNAV,_OBJECT/登录模块PRIVATEFUNCTIONLOGIN_COOKIENEWCOOKIEUSER_USER_COOKIEGETCOOKIE_COOKIENEWCOOKIEFACE_FACE_COOKIEGETCOOKIEIF_USERTHIS_TPLASSIGNFACE,_FACEELSETHIS_TPLASSIGNLOGIN,TRUETHIS_TPLASSIGNCACHE,IS_CAHCEIFIS_CAHCETHIS_TPLASSIGNMEMBER,GETINDEXLOGIN2详情页代码GETDETAILS/获取文档详细内容PRIVATEFUNCTIONGETDETAILSIFISSET_GETIDPARENT_CONSTRUCTTHIS_TPL,NEWCONTENTMODELTHIS_MODELID_GETIDIFTHIS_MODELGETONECONTENTTOOLALERTBACK警告不存在此文档_CONTENTTHIS_MODELGETONECONTENT_COMMENTNEWCOMMENTMODEL_COMMENTCIDTHIS_MODELID_TARARREXPLODE,_CONTENTTAGIFIS_ARRAY_TARARRFOREACH_TARARRAS_VALUE_CONTENTTAGSTR_REPLACE_VALUE,_VALUE,_CONTENTTAGTHIS_TPLASSIGNID,_CONTENTIDTHIS_TPLASSIGNTITLEC,_CONTENTTITLETHIS_TPLASSIGNDATE,_CONTENTDATETHIS_TPLASSIGNSOURCE,_CONTENTSOURCETHIS_TPLASSIGNAUTHOR,_CONTENTAUTHORTHIS_TPLASSIGNINFO,_CONTENTINFOTHIS_TPLASSIGNTAG,_CONTENTTAGTHIS_TPLASSIGNCONTENT,TOOLUNHTML_CONTENTCONTENTTHISGETNAV_CONTENTNAVIFIS_CAHCETHIS_TPLASSIGNCOUNT,GETCONTENTCOUNTELSETHIS_TPLASSIGNCOUNT,_CONTENTCOUNTTHIS_TPLASSIGNCOMMENT,_COMMENTGETCOMMENTTOTAL_OBJECT_COMMENTGETNEWTHREECOMMENTIF_OBJECTFOREACH_OBJECTAS_VALUESWITCH_VALUEMANNERCASE1_VALUEMANNER反对BREAKCASE0_VALUEMANNER中立BREAKCASE1_VALUEMANNER支持BREAKIFEMPTY_VALUEFACE_VALUEFACE00GIFIFEMPTY_VALUEOPPOSE_VALUEOPPOSE_VALUEOPPOSETHIS_TPLASSIGNNEWTHREECOMMENT,_OBJECTTHIS_MODELNAV_CONTENTNAV_OBJECTTHIS_MODELGETMONTHNAVRECTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVREC,_OBJECT_OBJECTTHIS_MODELGETMONTHNAVHOTTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVHOT,_OBJECT_OBJECTTHIS_MODELGETMONTHNAVPICTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVPIC,_OBJECTELSETOOLALERTBACK警告非法操作/SETOBJECTPRIVATEFUNCTIONSETOBJECTTOOLOBJDATE_OBJECT,DATE/获取前台显示的导航PRIVATEFUNCTIONGETNAV_ID_NAVNEWNAVMODEL_NAVID_IDIF_NAVGETONENAV/主导航IF_NAVGETONENAVNNAV_NAME_NAV1GETONENAVIID“_NAVGETONENAVNNAV_NAME_NAV2GETONENAVID“_NAVGETONENAVNAV_NAMETHIS_TPLASSIGNNAV,_NAV1_NAV2/子导航集THIS_TPLASSIGNCHILDNAV,_NAVGETALLCHILDFRONTNAVELSETOOLALERTBACK警告此导航不存在3列表页代码GETNAVTHISGETLISTCONTENT/获取前台列表显示PRIVATEFUNCTIONGETLISTCONTENTIFISSET_GETIDPARENT_CONSTRUCTTHIS_TPL,NEWCONTENTMODEL_NAVNEWNAVMODEL_NAVID_GETID_NAVID_NAVGETNAVCHILDIDIF_NAVIDTHIS_MODELNAVTOOLOBJARROFSTR_NAVID,IDELSETHIS_MODELNAV_NAVIDPARENTPAGETHIS_MODELGETLISTCONTENTTOTAL,ARTICLE_SIZE_OBJECTTHIS_MODELGETLISTCONTENTTOOLSUBSTR_OBJECT,INFO,120,UTF8TOOLSUBSTR_OBJECT,TITLE,35,UTF8IF_OBJECTFOREACH_OBJECTAS_VALUEIFEMPTY_VALUETHUMBNAIL_VALUETHUMBNAILIMAGES/NONEJPGTHIS_TPLASSIGNALLLISTCONTENT,_OBJECT_OBJECTTHIS_MODELGETMONTHNAVRECTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVREC,_OBJECT_OBJECTTHIS_MODELGETMONTHNAVHOTTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVHOT,_OBJECT_OBJECTTHIS_MODELGETMONTHNAVPICTHISSETOBJECT_OBJECTTHIS_TPLASSIGNMONTHNAVPIC,_OBJECTELSETOOLALERTBACK警告非法操作/SETOBJECTPRIVATEFUNCTIONSETOBJECTTOOLOBJDATE_OBJECT,DATE/获取前台显示的导航PRIVATEFUNCTIONGETNAVIFISSET_GETID_NAVNEWNAVMODEL_NAVID_GETIDIF_NAVGETONENAV/主导航IF_NAVGETONENAVNNAV_NAME_NAV1GETONENAVIID“_NAVGETONENAVNNAV_NAME_NAV2GETONENAVID“_NAVGETONENAVNAV_NAMETHIS_TPLASSIGNNAV,_NAV1_NAV2/子导航集THIS_TPLASSIGNCHILDNAV,_NAVGETALLCHILDFRONTNAV/类别IDTHIS_TPLASSIGNTITLEC,_NAVGETONENAVNAV_NAMEELSETOOLALERTBACK警告此导航不存在ELSETOOLALERTBACK警告非法操作4后台登陆页代码LOGINBREAKCASELOGOUTTHISLOGOUTBREAK/LOGINPRIVATEFUNCTIONLOGINIFISSET_POSTSENDIFVALIDATECHECKLENGTH_POSTCODE,4,EQUALSTOOLALERTBACK警告验证码必须是四位IFVALIDATECHECKEQUALSSTRTOLOWER_POSTCODE,_SESSIONCODETOOLALERTBACK警告验证码不正确IFVALIDATECHECKNULL_POSTADMIN_USERTOOLALERTBACK警告用户名不得为空IFVALIDATECHECKLENGTH_POSTADMIN_USER,2,MINTOOLALERTBACK警告用户名不得小于两位IFVALIDATECHECKLENGTH_POSTADMIN_USER,20,MAXTOOLALERTBACK警告用户名不得大于20位IFVALIDATECHECKNULL_POSTADMIN_PASSTOOLALERTBACK警告密码不得为空IFVALIDATECHECKLENGTH_POSTADMIN_PASS,6,MINTOOLALERTBACK警告密码不得小于六位THIS_MODELADMIN_USER_POSTADMIN_USERTHIS_MODELADMIN_PASSSHA1_POSTADMIN_PASSTHIS_MODELLAST_IP_SERVER“REMOTE_ADDR“_LOGINTHIS_MODELGETLOGINMANAGEIF_LOGIN_PREARREXPLODE,_LOGINPREMISSIONIFIN_ARRAY1,_PREARR_SESSIONADMINADMIN_USER_LOGINADMIN_USER_SESSIONADMINLEVEL_NAME_LOGINLEVEL_NAME_SESSIONADMINPREMISSION_PREARRTHIS_MODELSETLOGINCOUNTTOOLALERTLOCATIONNULL,ADMINPHPELSETOOLALERTBACK警告权限不够,您无法登录ELSETOOLALERTBACK警告用户名或密码错误PRIVATEFUNCTIONLOGOUTTOOLUNSESSIONTOOLALERTLOCATIONNULL,ADMIN_LOGINPHP译文现在你已经可以方便地使用MYSQL客户端工具来操作数据库里的数据,我们也可以开始学习如何使用PHP来显示和修改数据库里的数据了。PHP有标准的函数用来操作数据库。我们首先学习PHP内建的数据库函数,然后会学习PHP扩展和应用程序库(PEAR,PHPEXTENSIONANDAPPLICATIONREPOSITORY)中的数据库函数,我们可以使用这些函数操作所有支持的数据库。这种灵活性源自于抽象。对于编程接口而言,抽象简化了复杂的交互过程。它将交互过程中无关紧要的部分屏蔽起来,让你关注于重要的部分。PEAR的DB类就是这样一种数据库接口的抽象。你登录一个数据库所需要提供的信息被减少到最少。这种标准的格式可以通过同一个函数来访问MYSQL以及其他的数据库。同样,一些MYSQL特定的函数被更一般的、可以用在很多数据库上的函数所替代。比如,MYSQL特定的连接函数是MYSQL_CONNECTDB_HOST,DB_USERNAME,DB_PASSWORD而PEAR的DB提供的连接函数是CONNECTIONDBCONNECT“MYSQL/DB_USERNAMEDB_PASSWORDDB_HOST/DB_DATABASE“两个命令都提供了同样的基本信息,但是PEAR的函数中还指定了要连接的数据库的类型。你可以连接到MYSQL或者其他支持的数据库。我们会详细讨论这两种连接方式。本章中,我们会学习如何从PHP连接到MYSQL的服务器,如何使用PHP访问数据库中存储的数据,以及如何正确的向用户显示信息。步骤无论是通过MYSQL命令行工具,还是通过PHP,执行一个查询的基本步骤都是一样的连接到数据库选择要使用的数据库创建SELECT语句执行查询显示结果我们将逐一介绍如何用PHP和PEAR的函数完成上面的每一步。资源当连接到MYSQL数据库的时候,你会使用到两个新的资源。第一个是连接的标识符,它记录了一个活动连接用来连接到数据库所必需的所有信息。另外一个资源是结果资源,它包含了用来从一个有效的数据库查询结果中取出结果所需要的所有信息。本章中我们会创建并使用这两种资源。使用PHP函数查询数据库本节我们会介绍如何使用PHP连接MYSQL数据库。这非常简单,我们会用一些例子说明。但是之前我们应该稍微了解一下幕后发生的事情。当你试图连接一个MYSQL数据库的时候,MYSQL服务器会根据你的用户名和密码进行身份认证。PHP为你建立数据库的连接,你可以立即开始查询并得到结果。我们需要同样的信息来连接数据库数据库服务器的IP地址数据库的名字用户名密码在开始之前,首先使用MYSQL的命令行客户端确认你登录到数据库。图91显示了数据库交互过程的各个步骤和两种类型资源之间的关系。创建SELECT语句发生在第三个函数调用之前,但是在图中没有显示出来。它是通过普通的PHP代码,而不是MYSQL特定的PHP函数完成的。图91使用数据库时函数和资源之间的交互包含数据库登录细节我们先创建一个文件,用来保存登录MYSQL所用到的信息。我们建议你把这些信息放在单独的文件里然后通过INCLUDE来使用这个文件。这样一来如果你修改了数据库的密码。无论有多少个PHP文件访问数据库,你只需要修改这一个文件。注意不用担心有人会直接看到这个文

温馨提示

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

评论

0/150

提交评论