版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)室綜合門戶網(wǎng)站設(shè)計與實(shí)現(xiàn)摘要實(shí)驗(yàn)室綜合門戶網(wǎng)站是將實(shí)驗(yàn)室通過計算機(jī)網(wǎng)絡(luò)連起來,采用科學(xué)的管理思想和先進(jìn)的數(shù)據(jù)庫技術(shù),實(shí)現(xiàn)以實(shí)驗(yàn)室為核心的整體環(huán)境的全方位管理。它集資源管理,事務(wù)管理,網(wǎng)絡(luò)管理,數(shù)據(jù)管理(發(fā)布、編輯、刪除、查看、輸出),報表管理等諸多模塊為一體,組成一套完整的實(shí)驗(yàn)室綜合管理體系,既能滿足外部的日常管理要求,又能保證實(shí)驗(yàn)室分析數(shù)據(jù)的嚴(yán)格管理和控制。實(shí)驗(yàn)室綜合門戶網(wǎng)站管理系統(tǒng)主要實(shí)現(xiàn)以下功能:實(shí)驗(yàn)室介紹管理、實(shí)驗(yàn)室新聞管理、實(shí)驗(yàn)室工程管理、欄目管理、會員管理〔包括前臺會員和管理員〕、日志管理〔登錄日志和操作日志〕、網(wǎng)站設(shè)置、推薦位等。本系統(tǒng)提供了一個方便快捷的實(shí)驗(yàn)室管理平臺,方便了指導(dǎo)老師和實(shí)驗(yàn)員的交流,提高了工作效率。實(shí)驗(yàn)室綜合門戶網(wǎng)站管理系統(tǒng)基于B/S模式設(shè)計,以thinkphp為框架根底,在wamp提供的apache+mysql+php環(huán)境下采用php語言進(jìn)行編寫,以sublimetext2為開發(fā)工具。關(guān)鍵詞:實(shí)驗(yàn)室,網(wǎng)站設(shè)計,thinkphp,wampTheDesignAndImplementationOfLaboratoryComprehensivePortalWebsiteABSTRACTLaboratorycomprehensiveportalisconnectedthroughthelaboratoryofcomputernetwork,theuseofscientificmanagementideasandadvanceddatabasetechnology,realizethecomprehensivemanagementoftheoverallenvironmentinthelaboratoryasthecore.Itsetstheresourcemanagement,transactionmanagement,networkmanagement,datamanagement(release,delete,view,edit,output)module,manystatementsofmanagementasawhole,formacompletesetoflaboratorymanagementsystem,whichcanmeettherequirementsofthedailymanagementoftheexternal,andcanassurethestrictmanagementandcontroloflaboratorydataanalysis.Thissystemismainlytoachievethefollowingfunctions:themanagementoflaboratory,laboratoryinformationmanagement,laboratoryprojectmanagement,programmanagement,membershipmanagement(includingthemembersandadministrators),logmanagement(loginandoperationlog),sitesettings,recommendationetc..Providesaconvenientplatformforthelaboratorymanagementsystem,tofacilitatetheguidanceofteachersandtechniciansofcommunication,improveworkefficiency.ThissystemisbasedonB/SdesignpatternwithThinkPHPframework,byusingPHPlanguageinWampapache+mysql+phpenvironment,usingsublimetext2asadevelopmenttool.KEYWORDS:Laboratory,Websitedesign,ThinkPHP,Wamp目錄28128前言11094第1章相關(guān)技術(shù)270321.1開發(fā)技術(shù)介紹295071.1.1PHP技術(shù)2161421.1.2MySQL數(shù)據(jù)庫278021.1.3Apache效勞器3171191.1.4B/S結(jié)構(gòu)3284501.2開發(fā)工具和運(yùn)行環(huán)境414769第2章功能需求分析5227692.1網(wǎng)站后臺功能需求5306192.1.1實(shí)驗(yàn)室介紹5314372.1.2實(shí)驗(yàn)室新聞管理557172.1.3實(shí)驗(yàn)室工程管理5195422.1.4欄目管理5268102.1.5會員管理540392.1.6其它6162882.2網(wǎng)站前臺功能需求6133172.2.1根本信息展示6128562.2.2會員中心6122712.2.3登錄注冊功能6282962.2.4收藏和評論功能626991第3章概要設(shè)計7314393.1數(shù)據(jù)字典735543.2功能模塊設(shè)計7222123.2.1后臺流程7119683.2.2內(nèi)容管理892323.2.3欄目管理9196493.2.4會員管理1130592第4章詳細(xì)設(shè)計1332644.1用戶功能設(shè)計與實(shí)現(xiàn)13165634.1.1用戶注冊功能13279564.1.2用戶評論功能16256854.1.3會員中心17184234.2后臺管理功能20177084.2.1欄目管理2029904.2.2權(quán)限設(shè)置2267764.2.3日志管理26125654.2.4防注入設(shè)置279855結(jié)論2821491謝辭2913874參考文獻(xiàn)30前言隨著社會的開展、信息技術(shù)的不斷更新、計算機(jī)應(yīng)用的迅猛開展、網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,Internet已經(jīng)得到了前所未有的高速開展,網(wǎng)站已經(jīng)成為了一個單位或者組織宣傳自己、了解別人、相互溝通的重要平臺,人們迫切要求利用計算機(jī)網(wǎng)絡(luò)技術(shù)來進(jìn)行在線管理。除了可以大幅度提高人工效率和平安性之外,基于WEB的管理系統(tǒng)還可以自動分配各種設(shè)備、信息等資源、同時存檔,有效地防止資源的浪費(fèi),有利于環(huán)保,減少人員,減輕負(fù)擔(dān),提高效率。計算機(jī)技術(shù)的進(jìn)步,促使現(xiàn)代工業(yè)技術(shù)在快速開展,隨著科研和生產(chǎn)技術(shù)的不斷開展,企業(yè)的檢驗(yàn)技術(shù)也從手工分析開展到儀器分析,檢驗(yàn)工程大量增加,對數(shù)據(jù)的準(zhǔn)確性和報出時間的要求越來越嚴(yán)格,數(shù)據(jù)處理量急速增加,原來的人工管理模式在這種形式下已顯得不太適應(yīng),使用計算機(jī)完成數(shù)據(jù)的收集、分析和處理的管理手段應(yīng)運(yùn)而生。在這一背景下,實(shí)驗(yàn)室信息管理系統(tǒng)開始出現(xiàn),并在實(shí)際應(yīng)用中得到了快速開展,成為一項(xiàng)嶄新的實(shí)驗(yàn)室管理與應(yīng)用技術(shù)。系統(tǒng)自動進(jìn)行數(shù)據(jù)審核和超標(biāo)數(shù)據(jù)監(jiān)測、提高分析數(shù)據(jù)的準(zhǔn)確性;工作效率大為提高;降低實(shí)驗(yàn)室本錢消耗;通過對大量樣品數(shù)據(jù)的綜合統(tǒng)計分析,可以清楚地觀察到數(shù)據(jù)的變化趨勢、有效監(jiān)測產(chǎn)品質(zhì)量,為解決出現(xiàn)不合格生產(chǎn)產(chǎn)品及生產(chǎn)工藝變化提供科學(xué)依據(jù)。借助計算機(jī)技術(shù),實(shí)驗(yàn)室內(nèi)部實(shí)現(xiàn)網(wǎng)絡(luò)化全面管理,實(shí)現(xiàn)管理和檢驗(yàn)工作的有效監(jiān)督管理,提高整體工作水平。高校實(shí)驗(yàn)室的管理已經(jīng)由過去單一的教學(xué)管理,開展成為集教學(xué)、科研、開發(fā)等多功能為一體的綜合體。實(shí)驗(yàn)室也成為規(guī)模大型化、結(jié)構(gòu)綜合化、系統(tǒng)復(fù)雜化、設(shè)備高檔化的實(shí)驗(yàn)群體,由此帶來的實(shí)驗(yàn)室管理工作也日趨復(fù)雜化。第1章相關(guān)技術(shù)1.1開發(fā)技術(shù)介紹1.1.1PHP技術(shù)PHP〔外文名:PHP:HypertextPreprocessor,中文名:“超文本預(yù)處理器〞〕是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML〔標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用〕文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以到達(dá)加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。1.1.2MySQL數(shù)據(jù)庫MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前屬于Oracle公司。MySQL最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策〔本詞條“授權(quán)政策〞〕,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有本錢低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的缺乏之處,但是這絲毫也沒有減少它受歡送的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有本錢。1.1.3Apache效勞器Apache是世界使用排名第一的Web效勞器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計算機(jī)平臺上,由于其跨平臺和平安性被廣泛使用,是最流行的Web效勞器端軟件之一。它快速、可靠并且可通過簡單的API擴(kuò)充,將Perl/Python等解釋器編譯到效勞器中。Apache效勞器是一個模塊化的效勞器,源于NCSAd效勞器,經(jīng)過屢次修改,成為世界使用排名第一的Web效勞器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計算機(jī)平臺上。Apache源于NCSAd效勞器,經(jīng)過屢次修改,成為世界上最流行的Web效勞器軟件之一。Apache取自“apatchyserver〞的讀音,意思是充滿補(bǔ)丁的效勞器,因?yàn)樗亲杂绍浖?,所以不斷有人來為它開發(fā)新的功能、新的特性、修改原來的缺陷。Apache的特點(diǎn)是簡單、速度快、性能穩(wěn)定,并可做代理效勞器來使用。本來它只用于小型或試驗(yàn)Internet網(wǎng)絡(luò),后來逐步擴(kuò)充到各種Unix系統(tǒng)中,尤其對Linux的支持相當(dāng)完美。Apache有多種產(chǎn)品,可以支持SSL技術(shù),支持多個虛擬主機(jī)。Apache是以進(jìn)程為根底的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個ApacheWeb站點(diǎn)擴(kuò)容時,通常是增加效勞器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web效勞器,市場占有率達(dá)60%左右。世界上很多著名的網(wǎng)站如Amazon、Yahoo!、W3Consortium、FinancialTimes等都是Apache的產(chǎn)物,它的成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊伍、支持跨平臺的應(yīng)用〔可以運(yùn)行在幾乎所有的Unix、Windows、Linux系統(tǒng)平臺上〕以及它的可移植性等方面。1.1.4B/S結(jié)構(gòu)B/S結(jié)構(gòu)〔Browser/Server結(jié)構(gòu)〕結(jié)構(gòu)即瀏覽器和效勞器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改良的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少局部事務(wù)邏輯在前端〔Browser〕實(shí)現(xiàn),但是主要事務(wù)邏輯在效勞器端〔Server〕實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的本錢和工作量,降低了用戶的總體本錢〔TCO〕。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、本錢也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式〔比方LAN,WAN,Internet/Intranet等〕訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,效勞器數(shù)據(jù)庫也很平安。B/S結(jié)構(gòu)有許多優(yōu)點(diǎn),例如:可以隨時隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理,并具有分布性特點(diǎn);業(yè)務(wù)擴(kuò)展簡單方便,通過增加網(wǎng)頁即可增加效勞器功能;維護(hù)簡單方便,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新;開發(fā)簡單,共享性強(qiáng)等。1.2開發(fā)工具和運(yùn)行環(huán)境操作系統(tǒng):Windows7;效勞器環(huán)境:Wamp5_1.7.4提供;開源框架:ThinkPHP;開發(fā)工具:SublimeText2;數(shù)據(jù)庫鏈接工具:NavicatPremium。第2章功能需求分析2.1網(wǎng)站后臺功能需求2.1.1實(shí)驗(yàn)室介紹實(shí)驗(yàn)室介紹是對實(shí)驗(yàn)室的根底描述,用戶可以通過該欄目了解各實(shí)驗(yàn)室的根底情況以及實(shí)驗(yàn)的工程。后臺提供實(shí)驗(yàn)室介紹的添加、修改、刪除、查看等功能。2.1.2實(shí)驗(yàn)室新聞管理實(shí)驗(yàn)室新聞管理是對實(shí)驗(yàn)室新聞的集中處理,在該欄目下用戶可以了解到實(shí)驗(yàn)室的大小事件,以及時間的處理方法。后臺提供實(shí)驗(yàn)室新聞的添加、修改、刪除、下架、等功能。2.1.3實(shí)驗(yàn)室工程管理實(shí)驗(yàn)室工程管理是實(shí)驗(yàn)室工程的集中處理,實(shí)驗(yàn)室工程包括實(shí)驗(yàn)大綱和實(shí)驗(yàn)講義。實(shí)驗(yàn)大綱表達(dá)了實(shí)驗(yàn)的大致情況,同學(xué)們在進(jìn)行實(shí)驗(yàn)之前對要進(jìn)行的實(shí)驗(yàn)有大致的了解;實(shí)驗(yàn)講義是實(shí)驗(yàn)的詳細(xì)講解,讓同學(xué)們充分了解實(shí)驗(yàn)的內(nèi)容和考前須知。后臺提供實(shí)驗(yàn)室工程的添加、修改、刪除、下架、等功能。2.1.4欄目管理欄目是網(wǎng)站的支架,是網(wǎng)站的主要構(gòu)成局部,它就像一張無形的網(wǎng),讓網(wǎng)站的各個環(huán)節(jié)組合成一個主體。欄目保證了網(wǎng)站的層級關(guān)系和結(jié)構(gòu)的完整性。后臺提供欄目的添加、修改、刪除、鎖定等功能。2.1.5會員管理會員管理包括前臺會員管理和后臺會員管理。后臺會員即網(wǎng)站管理員,管理員要有修改網(wǎng)站內(nèi)容的權(quán)利。管理員有不同的權(quán)限,穩(wěn)固網(wǎng)站的平安性。前臺會員主要進(jìn)行信息的收藏、評論功能。2.1.6其它除以上功能外還有網(wǎng)站的根本設(shè)置、推薦位管理、操作日志、登錄日志管理等功能,這些功能是對網(wǎng)站的進(jìn)一步完善,同事也讓網(wǎng)站的管理者跟容易的處理網(wǎng)站相關(guān)事務(wù)。2.2網(wǎng)站前臺功能需求2.2.1根本信息展示網(wǎng)站的前臺信息展示是用戶能直接看到的局部,此局部沒有后臺復(fù)雜,但要有良好的交互性。信息展示主要包括信息的分類、信息列表以及詳細(xì)信息。因工程與新聞有著本質(zhì)的區(qū)別,故在設(shè)計時對二者采用了不一樣的設(shè)計方案。用戶可以對關(guān)注的新聞進(jìn)行收藏、評論、分享等操作。2.2.2會員中心用戶可以在會員中心修改自己的根本信息、登錄密碼。同時用戶還可以在會員中心查看管理自己收藏和評論的內(nèi)容,讓用戶在使用中有更好的體驗(yàn)。2.2.3登錄注冊功能用戶可以通過注冊成為網(wǎng)站會員,已經(jīng)個注冊過的會員可以通過登錄網(wǎng)站進(jìn)入會員中心,進(jìn)行收藏、評論等操作。2.2.4收藏和評論功能用戶可以對感興趣的新聞進(jìn)行收藏和評論操作。收藏功能方便用戶更快的找到收藏過的新聞;評論那么滿足用戶對新聞的觀點(diǎn),方便用戶與用戶之間的交流,評論要記錄評論人ID〔或昵稱〕,用戶同時可以回復(fù)別人的評論并且要有無限極回復(fù)功能。第3章概要設(shè)計3.1數(shù)據(jù)字典數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程5局部。其中數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,假設(shè)干個數(shù)據(jù)項(xiàng)可以組成一個數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通過對數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位。對數(shù)據(jù)項(xiàng)的描述通常包括以下內(nèi)容:數(shù)據(jù)項(xiàng)描述={數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說明,別名,數(shù)據(jù)類型,長度,取值范圍,取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系,數(shù)據(jù)項(xiàng)之間的聯(lián)系}。通過對本系統(tǒng)的分析,得出本系統(tǒng)的數(shù)據(jù)字典:用戶信息的描述項(xiàng)如表3-1所示。表3-1用戶信息名稱:用戶別名:Users描述:存儲系統(tǒng)中用戶的根本信息組成:用戶=用戶名+密碼+真實(shí)姓名+性別+年齡+會員類型+駕齡+駕駛證號+聯(lián)系方+電子郵箱3.2功能模塊設(shè)計3.2.1后臺流程根據(jù)后臺功能設(shè)計,畫出后臺功能大致流程結(jié)構(gòu)圖如圖3-1所示。圖3-1后臺流程圖3.2.2內(nèi)容管理內(nèi)容主要包括實(shí)驗(yàn)室工程和實(shí)驗(yàn)室新聞以及實(shí)驗(yàn)室介紹等內(nèi)容。這局部主要實(shí)現(xiàn)的功能為內(nèi)容的添加、修改、刪除、下架、復(fù)原等操作。新聞局部還包括收藏和評論。根據(jù)功能分析內(nèi)容管理大致流程圖3-2所示。圖3-2內(nèi)容管理流程圖根據(jù)內(nèi)容管理功能要求設(shè)計數(shù)據(jù)庫關(guān)系如圖3-3所示〔以新聞管理為例〕。圖3-3新聞表設(shè)計3.2.3欄目管理網(wǎng)站欄目主要實(shí)現(xiàn)欄目的添加,修改,刪除,添加子欄目〔能夠無限極添加子欄目〕等功能。欄目設(shè)立欄目模型,不同的模型有不一樣的展示方式。模型同樣有添加、修改、刪除等功能。根據(jù)欄目功能設(shè)計,欄目流程圖如圖3-4所示。圖3-4欄目管理流程圖欄目表設(shè)計如圖3-5所示。圖3-5欄目表設(shè)計模型表設(shè)計如圖3-6所示。圖3-6模型表設(shè)計3.2.4會員管理會員模塊主要是用于記錄網(wǎng)站用戶信息,登陸網(wǎng)站。管理員還用于網(wǎng)站的管理工作,擁有不同的權(quán)限。會員歸屬會員組,組有組權(quán)限,凡在此組下的會員都有該組的權(quán)限,從而進(jìn)行管理員的權(quán)限控制。會員管理還需會員的登錄及操作日志,方便通過會員的登錄以及操作日志追蹤會員進(jìn)行的操作。但網(wǎng)站出現(xiàn)錯誤時方便追蹤錯誤。會員表設(shè)計如圖3-7所示。圖3-7會員表設(shè)計圖3-8會員副表設(shè)計圖3-9會員組表設(shè)計圖3-10會員操作日志表設(shè)計第4章詳細(xì)設(shè)計4.1用戶功能設(shè)計與實(shí)現(xiàn)4.1.1用戶注冊功能當(dāng)用戶正確、完整填寫注冊信息之后,檢查用戶名是否重復(fù),如果重復(fù)那么停止將用戶信息上傳至用戶信息表。如果不重復(fù),那么上傳相關(guān)數(shù)據(jù),將一條新紀(jì)錄添加到用戶信息表中。注冊頁面的設(shè)計關(guān)鍵是運(yùn)用了大量的驗(yàn)證控件來控制用戶注冊時填寫的信息。比方用戶名和密碼等不能為空,密碼與確認(rèn)密碼內(nèi)容要一致。用戶注冊頁面的流程圖如圖4-1所示。圖4-1用戶注冊流程圖注冊時驗(yàn)證用戶名重復(fù)代碼如圖4-2所示。圖4-2驗(yàn)證用戶名代碼如上圖代碼所示,通過ajax技術(shù)在用戶輸入用戶名后觸發(fā)用戶名驗(yàn)證,驗(yàn)證通過代碼返回1,不通過那么返回0。然后通過js判斷返回值,反應(yīng)到前端頁面。用戶名驗(yàn)證無刷新反應(yīng)提醒如圖4-3所示:圖4-3驗(yàn)證用戶名重復(fù)用戶名重復(fù)檢測通過后,檢測密碼是否符合規(guī)那么,兩次密碼是否一致,密碼通過后,會執(zhí)行注冊代碼,在數(shù)據(jù)庫的用戶表中添加一條數(shù)據(jù)。插入數(shù)據(jù)庫代碼如下:if(empty($_POST['agreement'])||!isset($_POST['agreement'])){$this->error('你沒有同意用戶注冊協(xié)議');exit;}$info=$_POST['info'];$info['username']?'':$this->error('用戶名不能為空');if($info['password']&&$info['password']==$info['rep_password']){$info['mima']=$info['password'];$info['password']=passwordMember($info['password']);unset($info['rep_password']);$info['nickname']=$info['nickname']?$info['nickname']: $info['username'];$info['groupid']="2";$info['regtime']=time();$info['lasttime']=time();$info['lognum']=1;$info['logtime']=time();$info['regip']=ip();$info['lastip']=ip();$info['logip']=ip();$info['listorder']='10';$m=$this->member_db->data($info)->add();$this->member_data_db->data(array('userid'=>$m))->add();if($m){session('lab_userid',$m);session('lab_username',$info['username']);$this->success('注冊成功',__ROOT__);}else{$this->error('注冊失敗');}}else{$this->error('兩次密碼輸入不一致');}4.1.2用戶評論功能用戶評論是用戶對信息的反應(yīng),用戶與用戶之間也要有良好的交互性,便于用戶之間的交流。用戶評論是基于新聞信息的,呈現(xiàn)在新聞的底部區(qū)域。評論區(qū)域包括評論文本框、驗(yàn)證碼、提交按鈕。驗(yàn)證碼為防止用戶惡意發(fā)表評論、刷評論等行為。評論框下是各個用戶對該條信息的評論列表以及用戶與用戶之間的交互。用戶評論模塊設(shè)計如圖4-4所示。圖4-4評論設(shè)計用戶在輸入完評論內(nèi)容之后要輸入驗(yàn)證碼驗(yàn)證,驗(yàn)證碼保證網(wǎng)站不被惡意攻擊。驗(yàn)證碼的驗(yàn)證同樣采用ajax異步驗(yàn)證功能,驗(yàn)證不通過后即使提醒,方便重新輸入。驗(yàn)證碼驗(yàn)證通過后提交評論內(nèi)容,程序會在數(shù)據(jù)庫的評論表中插入一條數(shù)據(jù),數(shù)據(jù)記錄評論人、評論時間、被評論文章的相關(guān)信息等。提交評論代碼如下:/*發(fā)表評論*/publicfunctioncomment(){$catid=isset($_GET['catid'])?intval($_GET['catid']):'0';$aid=isset($_GET['aid'])?intval($_GET['aid']):'0';if(empty($catid)||empty($aid))$this->error('參數(shù)錯誤');if(!$this->userid||!$this->username)$this->error('請先登錄再發(fā)表評論');$comment=$_POST['comment'];//平安過濾$comment['content']=htmlspecialchars($comment['content']);$comment['userid']=$this->userid;$comment['username']=$this->userinfo['nickname'];$comment['catid']=$catid;$comment['aid']=$aid;$comment['modelid']=$this->get_modelid($catid);//獲取模型ID$comment['ip']=ip();$comment['status']='99';$comment['inputtime']=time();$comment_db=M('Comment');$comment_db->add($comment);$this->success('評論成功',$_SERVER['_REFERER']."#comment_link");}4.1.3會員中心會員中心是前臺會員的管理中心,主要包括會員信息展示、會員信息修改、登錄密碼修改、收藏管理、評論管理。用戶可以在收藏管理中快速找到自己收藏的內(nèi)容,也可以刪除該收藏。在評論列表中用戶可以看到自己評論的內(nèi)容,用戶也可以通過該入口查看自己的評論,可以快速找到被評論的文章,也可以刪除評論。用戶個人資料除根本的信息外還包括注冊時間、上次登錄時間、本次登錄時間以及登錄次數(shù),方便用戶更清楚的了解到自己的賬戶信息。用戶在會員中心修改密碼時首先要驗(yàn)證舊密碼,舊密碼驗(yàn)證不通過不允許修改密碼,這樣保證用戶賬戶的平安性,防止被惡意修改密碼。如果用戶忘記自己的密碼,需要與管理員聯(lián)系,讓管理員幫其修改密碼。會員中心收藏管理如圖4-5所示。圖4-5會員中心收藏管理會員中心評論管理如圖4-6所示。圖4-6會員中心評論管理會員中心個人資料展示如圖4-7所示。圖4-7會員中心個人資料會員中心密碼修改代碼如圖4-8所示。圖4-8密碼修改代碼4.2后臺管理功能4.2.1欄目管理欄目的設(shè)計與實(shí)現(xiàn)中除了欄目最根本的添加、修改等功能外最主要的就是要實(shí)現(xiàn)欄目的無限級添加。欄目的無限級添加保證了欄目結(jié)構(gòu)的完整性和嚴(yán)謹(jǐn)性,在技術(shù)上欄目的無限極添加也是挑戰(zhàn),主要的難點(diǎn)在于欄目與子欄目之間的關(guān)聯(lián)。在欄目的列表中上下級的關(guān)系顯示也顯得非常重要,同時這也是難點(diǎn)。欄目的數(shù)據(jù)庫設(shè)計如圖4-9所示。圖4-9欄目數(shù)據(jù)庫設(shè)計欄目列表引入了一個完整的無限級欄目分類的類文件,這讓欄目的呈現(xiàn)變得更簡單,簡潔,調(diào)用也很方便。欄目列表調(diào)用dpTree.class.php代碼如下:publicfunctionpage_list(){$category_db=M('Category');$where=array('modelid'=>'4','status'=>'99');$order='parentidasc,listorderasc';$list=$category_db->where($where)->order($order)->select();$parm=array('catid','parentid','catname','sname');$tree=new\Think\dpTree($parm);$page_list=$tree->getTree($list);$this->assign('page_list',$page_list);$this->display('page_list');}欄目列表的最終呈現(xiàn)如圖4-10所示。圖4-10欄目列表無限級添加欄目代碼如下:$info=$_POST['info'];if($info['catname']&&$info['modelid']){$info['catname']=htmlspecialchars($info['catname']);$info['inputtime']=time();$info['show']=1;$catid=$this->category_db->add($info);if($info['parentid']==0){$infos['arrparentid']=0;}else{$parentid=$info['parentid'];//獲取該欄目的arrparentid字符串$parent=$this->category_db->find($parentid);$infos['arrparentid']=$parent['arrparentid'];$infos['arrparentid'].=",".$parentid;//更新該欄目上級欄目的childrenid字符串$this->catparent($parentid,$catid);}//該欄目的子欄目$infos['childrenid']=$catid;$infos['updatetime']=time();$where=array('catid'=>$catid);$this->category_db->where($where)->save($infos);}publicfunctioncatparent($parentid,$catid){if(empty($parentid)||empty($catid))returnfalse;$parent=$this->category_db->find($parentid);if(empty($parent))returnfalse;//如果上級欄目為空返回false//修改上級欄目的childrenid字符串$info['childrenid']=$parent['childrenid'].",".$catid;$where=array('catid'=>$parentid);$this->category_db->where($where)->save($info);if($parent['parentid']){//如果上級欄目還有上級欄目再次調(diào)用本方法$this->catparent($parent['parentid'],$catid);}else{returntrue;}}4.2.2權(quán)限設(shè)置權(quán)限是管理員權(quán)利的表達(dá),是管理員管理網(wǎng)站必不可少的,不一樣的管理員賦予不一樣的權(quán)利也保證了網(wǎng)站的平安性。在網(wǎng)站權(quán)限的設(shè)計中,我采用了讀取權(quán)限文件的方法來管理權(quán)限。權(quán)限的文件主要有兩個,一個是擁有所有權(quán)限即權(quán)限名稱的文件privAll.php,另一個是管理員對應(yīng)相應(yīng)權(quán)限的文件priv.php。Priv.php的內(nèi)容為json格式的字符串,在使用時讀取json字符串轉(zhuǎn)化為數(shù)組,在管理員進(jìn)行操作時判斷是否有操作的權(quán)限。管理員權(quán)限修改頁面如圖4-11所示。圖4-11權(quán)限修改頁面權(quán)限寫入文件代碼如下:functionset_config($config,$key,$filename){ $path=CONF_PATH.$filename.".php"; if(!is_writable($path))return-1;//文件不可寫時返回-1 if($key){ $fileContent=file_get_contents($path);//獲取文件內(nèi)容 //將json格式轉(zhuǎn)化為數(shù)組 $fileContent=json_decode($fileContent,true); $fileContent[$key]=$config;//替換要修改的內(nèi)容 }else{ $fileContent=$config; } $content=json_encode($fileContent);//將數(shù)組轉(zhuǎn)化為JSON file_put_contents($path,$content);//寫入文件 return1;}讀取權(quán)限文件代碼如下:functionload_configs($filename,$key='',$json=true){ $config=array(); if(empty($filename))return$config; $path=CONF_PATH.$filename.".php"; if($json){ $config=file_get_contents($path); $config=json_decode($config,true); }else{ $config=include$path; } if(empty($key)){ return$config; }elseif(isset($config[$key])){ return$config[$key]; }else{ returnarray(); } }權(quán)限判斷代碼如下:publicfunctioncheck_priv(&$param){$userid=session('admin_userid');$username=session('admin_username');if((empty($userid)||empty($username))&&ACTION_NAME!='login'){//$this->error('請先登錄',__CONTROLLER__."/login");header("location:".__MODULE__."/Index/login");}$public=A('Public');$userinfo=$public->userinfo($userid);$privAll=load_configs('privAll','',false);$privlist=load_configs('priv',$userinfo['groupid']);$module=CONTROLLER_NAME;$action=ACTION_NAME;if(isset($privAll[$module])&&in_array($action,$privAll[$module])&&$userinfo['groupid']!=1){if(!isset($privlist[$module]) ||!in_array($action,$privlist[$module])){$param=-1;}}}該方法用傳址的方法修改參數(shù)值,在公共函數(shù)的構(gòu)造方法中判斷該參數(shù)的值,如果值為-1那么提醒沒有權(quán)限操作。4.2.3日志管理日志管理是網(wǎng)站的輔助工具,通過日志可以看出哪些管理員和會員登錄了網(wǎng)站,可以看出管理員進(jìn)行了哪些操作,方便以后追蹤錯誤。因此日志要包含操作者,操作時間,操作的模塊名稱,控制器名稱,方法名稱,以及登錄日志里用戶的操作系統(tǒng),瀏覽器,ip地址等信息。由于日志記錄的全面性〔任何操作都會記錄到日志〕會生成過多的記錄,這對數(shù)據(jù)庫很不利,一次日志提供刪除一月前日之后的功能,這樣可以及時對沒用的日志進(jìn)行清理,節(jié)省數(shù)據(jù)空間。為排錯時方便日志還有搜索功能,在搜索條件的限定下可以找到某個用戶進(jìn)行的所有操作,也可以找到進(jìn)行某個操作的所有用戶,操作日志里的日期篩選可以把日志固定到兩個時間之間,這樣方便了錯誤發(fā)生時的排查。登錄日志效果如圖4-12所示。圖4-12登錄日志操作日志效果如圖4-13所示。圖4-13操作日志4.2.4防注入設(shè)置防注入是對用戶及管理員輸入的內(nèi)容進(jìn)行平安處理,防止輸入的內(nèi)容里有摻雜的代碼內(nèi)容而讓程序終止或者出現(xiàn)錯誤,更嚴(yán)重的還會導(dǎo)致數(shù)據(jù)庫的癱瘓。防注入主要運(yùn)用PHP內(nèi)置函數(shù)htmlspecialchars進(jìn)行轉(zhuǎn)化讓需要的內(nèi)容轉(zhuǎn)化為html實(shí)體。Htmlspecialchars函數(shù)轉(zhuǎn)化的對象是字符串,而網(wǎng)站中為方便通常要對數(shù)組進(jìn)行平安過濾,這里用到了回調(diào)函數(shù)。除編輯器里的文本內(nèi)容外,管理員輸入信息、修改信息、搜索,會員修改資料時都需要用平安過濾函數(shù)過濾。錄入信息是防注入的一種情況,還有一種情況就是地址欄過濾。網(wǎng)絡(luò)黑客可以通過瀏覽器的地址輸入某些代碼信息讓程序報錯,然后破解你的數(shù)據(jù)庫,同樣可以利用地址欄刪除你的數(shù)據(jù)庫,這是非常危險的。所以在接收地址欄參數(shù)的時候要有一些平安措施防止參數(shù)中夾雜代碼。比方當(dāng)接收的參數(shù)是整型數(shù)據(jù)時,可以用intval()函數(shù)轉(zhuǎn)化,這樣即使參數(shù)被惡意改為非整型函數(shù)也會把參數(shù)轉(zhuǎn)化為整型。平安過濾函數(shù)代碼如下:functionsafe_array(&$info,$pass=array()){ if(is_array($info)){ foreach($infoas$_k=>$_v){ if((is_array($pass)&&!in_array($_k,$pass))||empty($_k)){ $info[$_k]=safe_array($_v,$pass); } } }else{ $info=htmlspecialchars($info); } return$info;}結(jié)論在指導(dǎo)老師李明照的認(rèn)真指導(dǎo)下,通過這緊張的幾個月努力,畢業(yè)設(shè)計課題根本成型。這幾個月使我學(xué)會了很多東西。從對B/S模型的不了解,到掌握這門技術(shù),把以前學(xué)的比擬零的東西放到了一個完成的系統(tǒng)中,使知識成了體系。比方像數(shù)據(jù)庫的設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)產(chǎn)品代加工與農(nóng)業(yè)綠色生產(chǎn)合作合同3篇
- 2025年度全新員工離職保密協(xié)議及知識產(chǎn)權(quán)歸屬合同2篇
- 二零二五年度互聯(lián)網(wǎng)醫(yī)療股東股權(quán)變更及服務(wù)協(xié)議3篇
- 二零二五年度文化場館租賃合同范本3篇
- 二零二五年度環(huán)保材料研發(fā)人員勞動合同書(含成果轉(zhuǎn)化)2篇
- 2025年公司法人變更合同審查與合規(guī)性審查專項(xiàng)服務(wù)3篇
- 二零二五年度環(huán)保設(shè)備檢修及保養(yǎng)協(xié)議3篇
- 二零二五年度農(nóng)產(chǎn)品電商運(yùn)營委托收購合作協(xié)議3篇
- 2025養(yǎng)生館合伙人生態(tài)養(yǎng)生旅游項(xiàng)目合作協(xié)議3篇
- 二零二五年度農(nóng)機(jī)作業(yè)與農(nóng)村環(huán)境保護(hù)服務(wù)合同3篇
- 2024年安徽省高中學(xué)業(yè)水平合格性考試語文試卷真題(含答案詳解)
- 中南大學(xué)《創(chuàng)新創(chuàng)業(yè)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024潞安化工集團(tuán)有限公司第二批煤礦井下一線生產(chǎn)操作崗位招聘2820人筆試核心備考題庫及答案解析
- 房地產(chǎn)中介業(yè)務(wù)管理制度
- 3.2《遵守規(guī)則》-教學(xué)設(shè)計2024-2025學(xué)年統(tǒng)編版道德與法治八年級上冊
- 拆除高空廣告牌的施工方案
- 天津市部分區(qū)2024-2025學(xué)年九年級上學(xué)期11月期中數(shù)學(xué)試題
- 全國職業(yè)院校技能大賽中職(大數(shù)據(jù)應(yīng)用與服務(wù)賽項(xiàng))考試題及答案
- 審計基礎(chǔ)知識培訓(xùn)
- DB43 873-2014 箱式暖腳器標(biāo)準(zhǔn)
- 2024年煤礦安全管理人員(機(jī)電運(yùn)輸)考試題庫(濃縮500題)
評論
0/150
提交評論