版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)室綜合門戶網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)摘 要實(shí)驗(yàn)室綜合門戶網(wǎng)站是將實(shí)驗(yàn)室通過計(jì)算機(jī)網(wǎng)絡(luò)連起來(lái),采用科學(xué)的管理思想和先進(jìn)的數(shù)據(jù)庫(kù)技術(shù),實(shí)現(xiàn)以實(shí)驗(yàn)室為核心的整體環(huán)境的全方位管理。它集資源管理,事務(wù)管理,網(wǎng)絡(luò)管理,數(shù)據(jù)管理(發(fā)布、編輯、刪除、查看、輸出),報(bào)表管理等諸多模塊為一體,組成一套完整的實(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)室項(xiàng)目管理、欄目管理、會(huì)員管理(包括前臺(tái)會(huì)員和管理員)、日志管理(登錄日志和操作日志)、網(wǎng)站設(shè)置、推薦位等。本系統(tǒng)提供了一個(gè)方便快捷的實(shí)驗(yàn)室管理平臺(tái),方
2、便了指導(dǎo)老師和實(shí)驗(yàn)員的交流,提高了工作效率。實(shí)驗(yàn)室綜合門戶網(wǎng)站管理系統(tǒng)基于b/s模式設(shè)計(jì),以thinkphp為框架基礎(chǔ),在wamp提供的apache+mysql+php環(huán)境下采用php語(yǔ)言進(jìn)行編寫,以sublime text2為開發(fā)工具。關(guān)鍵詞:實(shí)驗(yàn)室,網(wǎng)站設(shè)計(jì),thinkphp,wamp the design and implementation of laboratory comprehensive portal websiteabstractlaboratory comprehensive portal is connected through the laboratory of com
3、puter network, the use of scientific management ideas and advanced database technology, realize the comprehensive management of the overall environment in the laboratory as the core. it sets the resource management, transaction management, network management, data management (release, delete, view,
4、edit, output) module, many statements of management as a whole, form a complete set of laboratory management system, which can meet the requirements of the daily management of the external, and can assure the strict management and control of laboratory data analysis.this system is mainly to achieve
5、the following functions: the management of laboratory, laboratory information management, laboratory project management, program management, membership management (including the members and administrators), log management (login and operation log), site settings, recommendation etc. provides a conve
6、nient platform for the laboratory management system, to facilitate the guidance of teachers and technicians of communication, improve work efficiency.this system is based on b/s design pattern with thinkphp framework, by using php language in wamp apache+mysql+php environment, using sublime text2 as
7、 a development tool.key words: laboratory ,website design,thinkphp ,wamp目錄前言1第1章 相關(guān)技術(shù)21.1 開發(fā)技術(shù)介紹21.1.1 php技術(shù)21.1.2 mysql數(shù)據(jù)庫(kù)21.1.3 apache服務(wù)器31.1.4 b/s結(jié)構(gòu)31.2開發(fā)工具和運(yùn)行環(huán)境4第2章 功能需求分析52.1 網(wǎng)站后臺(tái)功能需求52.1.1 實(shí)驗(yàn)室介紹52.1.2 實(shí)驗(yàn)室新聞管理52.1.3 實(shí)驗(yàn)室項(xiàng)目管理52.1.4 欄目管理52.1.5 會(huì)員管理52.1.6 其它62.2 網(wǎng)站前臺(tái)功能需求62.2.1 基本信息展示62.2.2 會(huì)員中心62.2
8、.3 登錄注冊(cè)功能62.2.4 收藏和評(píng)論功能6第3章 概要設(shè)計(jì)73.1 數(shù)據(jù)字典73.2 功能模塊設(shè)計(jì)73.2.1 后臺(tái)流程73.2.2 內(nèi)容管理83.2.3 欄目管理93.2.4 會(huì)員管理11第4章 詳細(xì)設(shè)計(jì)134.1 用戶功能設(shè)計(jì)與實(shí)現(xiàn)134.1.1 用戶注冊(cè)功能134.1.2 用戶評(píng)論功能164.1.3 會(huì)員中心174.2 后臺(tái)管理功能204.2.1 欄目管理204.2.2 權(quán)限設(shè)置224.2.3 日志管理264.2.4 防注入設(shè)置27結(jié)論28謝 辭29參考文獻(xiàn)30前言隨著社會(huì)的發(fā)展、信息技術(shù)的不斷更新、計(jì)算機(jī)應(yīng)用的迅猛發(fā)展、網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,internet已經(jīng)得到了前所未有的高速發(fā)
9、展,網(wǎng)站已經(jīng)成為了一個(gè)單位或者組織宣傳自己、了解別人、相互溝通的重要平臺(tái),人們迫切要求利用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)來(lái)進(jìn)行在線管理。除了可以大幅度提高人工效率和安全性之外,基于web的管理系統(tǒng)還可以自動(dòng)分配各種設(shè)備、信息等資源、同時(shí)存檔,有效地避免資源的浪費(fèi),有利于環(huán)保,減少人員,減輕負(fù)擔(dān),提高效率。計(jì)算機(jī)技術(shù)的進(jìn)步,促使現(xiàn)代工業(yè)技術(shù)在快速發(fā)展,隨著科研和生產(chǎn)技術(shù)的不斷發(fā)展,企業(yè)的檢驗(yàn)技術(shù)也從手工分析發(fā)展到儀器分析,檢驗(yàn)項(xiàng)目大量增加,對(duì)數(shù)據(jù)的準(zhǔn)確性和報(bào)出時(shí)間的要求越來(lái)越嚴(yán)格,數(shù)據(jù)處理量急速增加,原來(lái)的人工管理模式在這種形式下已顯得不太適應(yīng),使用計(jì)算機(jī)完成數(shù)據(jù)的收集、分析和處理的管理手段應(yīng)運(yùn)而生。在這一背景
10、下,實(shí)驗(yàn)室信息管理系統(tǒng)開始出現(xiàn),并在實(shí)際應(yīng)用中得到了快速發(fā)展,成為一項(xiàng)嶄新的實(shí)驗(yàn)室管理與應(yīng)用技術(shù)。 系統(tǒng)自動(dòng)進(jìn)行數(shù)據(jù)審核和超標(biāo)數(shù)據(jù)監(jiān)測(cè)、提高分析數(shù)據(jù)的準(zhǔn)確性;工作效率大為提高;降低實(shí)驗(yàn)室成本消耗;通過對(duì)大量樣品數(shù)據(jù)的綜合統(tǒng)計(jì)分析,可以清楚地觀察到數(shù)據(jù)的變化趨勢(shì)、有效監(jiān)測(cè)產(chǎn)品質(zhì)量,為解決出現(xiàn)不合格生產(chǎn)產(chǎn)品及生產(chǎn)工藝變化提供科學(xué)依據(jù)。借助計(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é)管理,發(fā)展成為集教學(xué)、科研、開發(fā)等多功能為一體的綜合體。實(shí)驗(yàn)室也成為規(guī)模大型化、結(jié)構(gòu)綜合化、系統(tǒng)復(fù)雜化、設(shè)備高檔化的實(shí)驗(yàn)群體,由此帶來(lái)
11、的實(shí)驗(yàn)室管理工作也日趨復(fù)雜化。第1章 相關(guān)技術(shù)1.1 開發(fā)技術(shù)介紹 1.1.1 php技術(shù)php(外文名:php: hypertext preprocessor,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語(yǔ)言。語(yǔ)法吸收了c語(yǔ)言、java和perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于web開發(fā)領(lǐng)域。php 獨(dú)特的語(yǔ)法混合了c、java、perl以及php自創(chuàng)的語(yǔ)法。它可以比cgi或者perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用php做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,php是將程序嵌入到html(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成html標(biāo)記的cgi要高許多;php還可以執(zhí)
12、行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。 1.1.2 mysql數(shù)據(jù)庫(kù)mysql 是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典 mysql ab 公司開發(fā),目前屬于 oracle 公司。mysql 最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 web 應(yīng)用方面 mysql 是最好的 rdbms (relational database management system,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。mysql 是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。mysql 所使用的 sql 語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的
13、最常用標(biāo)準(zhǔn)化語(yǔ)言。mysql 軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 mysql 作為網(wǎng)站數(shù)據(jù)庫(kù)。由于其社區(qū)版的性能卓越,搭配 php 和 apache 可組成良好的開發(fā)環(huán)境。與其他的大型數(shù)據(jù)庫(kù)例如 oracle、db2、sql server等相比,mysql 自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),mysql提供的功能已經(jīng)綽綽有余,而且由于 mysq l是開放源碼軟件,因此可以大大降低總體擁有成本。 1.1.3 apache服
14、務(wù)器apache是世界使用排名第一的web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的web服務(wù)器端軟件之一。它快速、可靠并且可通過簡(jiǎn)單的api擴(kuò)充,將perl/python等解釋器編譯到服務(wù)器中。apache http服務(wù)器是一個(gè)模塊化的服務(wù)器,源于ncsahttpd服務(wù)器,經(jīng)過多次修改,成為世界使用排名第一的web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上。apache源于ncsahttpd服務(wù)器,經(jīng)過多次修改,成為世界上最流行的web服務(wù)器軟件之一。apache取自“a patchy server”的讀音,意思是充滿補(bǔ)丁的
15、服務(wù)器,因?yàn)樗亲杂绍浖?,所以不斷有人?lái)為它開發(fā)新的功能、新的特性、修改原來(lái)的缺陷。apache的特點(diǎn)是簡(jiǎn)單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來(lái)使用。本來(lái)它只用于小型或試驗(yàn)internet網(wǎng)絡(luò),后來(lái)逐步擴(kuò)充到各種unix系統(tǒng)中,尤其對(duì)linux的支持相當(dāng)完美。apache有多種產(chǎn)品,可以支持ssl技術(shù),支持多個(gè)虛擬主機(jī)。apache是以進(jìn)程為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個(gè)apache web站點(diǎn)擴(kuò)容時(shí),通常是增加服務(wù)器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。到目前為止apache仍然是世界上用的最多的web服務(wù)器,市場(chǎng)占有率達(dá)60%左右。世界上很多著
16、名的網(wǎng)站如amazon、yahoo!、w3 consortium、financial times等都是apache的產(chǎn)物,它的成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊(duì)伍、支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在幾乎所有的unix、windows、linux系統(tǒng)平臺(tái)上)以及它的可移植性等方面。1.1.4 b/s結(jié)構(gòu)b/s結(jié)構(gòu)(browser/server結(jié)構(gòu))結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著internet技術(shù)的興起,對(duì)c/s結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過www瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(server)實(shí)
17、現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(tco)。以目前的技術(shù)看,局域網(wǎng)建立b/s結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過internet/intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如lan, wan, internet/intranet等)訪問和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。b/s結(jié)構(gòu)有許多優(yōu)點(diǎn),例如:可以隨時(shí)隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理,并具有分布性特點(diǎn);業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過增加網(wǎng)
18、頁(yè)即可增加服務(wù)器功能;維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶的同步更新;開發(fā)簡(jiǎn)單,共享性強(qiáng)等。1.2開發(fā)工具和運(yùn)行環(huán)境操作系統(tǒng):windows 7;服務(wù)器環(huán)境:wamp5_1.7.4提供;開源框架:thinkphp;開發(fā)工具:sublime text 2;數(shù)據(jù)庫(kù)鏈接工具:navicat premium。 第2章 功能需求分析2.1 網(wǎng)站后臺(tái)功能需求2.1.1 實(shí)驗(yàn)室介紹實(shí)驗(yàn)室介紹是對(duì)實(shí)驗(yàn)室的基礎(chǔ)描述,用戶可以通過該欄目了解各實(shí)驗(yàn)室的基礎(chǔ)情況以及實(shí)驗(yàn)的項(xiàng)目。后臺(tái)提供實(shí)驗(yàn)室介紹的添加、修改、刪除、查看等功能。2.1.2 實(shí)驗(yàn)室新聞管理實(shí)驗(yàn)室新聞管理是對(duì)實(shí)驗(yàn)室新聞的集中處理,在該欄目下用戶可
19、以了解到實(shí)驗(yàn)室的大小事件,以及時(shí)間的處理方法。后臺(tái)提供實(shí)驗(yàn)室新聞的添加、修改、刪除、下架、等功能。2.1.3 實(shí)驗(yàn)室項(xiàng)目管理實(shí)驗(yàn)室項(xiàng)目管理是實(shí)驗(yàn)室項(xiàng)目的集中處理,實(shí)驗(yàn)室項(xiàng)目包括實(shí)驗(yàn)大綱和實(shí)驗(yàn)講義。實(shí)驗(yàn)大綱體現(xiàn)了實(shí)驗(yàn)的大致情況,同學(xué)們?cè)谶M(jìn)行實(shí)驗(yàn)之前對(duì)要進(jìn)行的實(shí)驗(yàn)有大致的了解;實(shí)驗(yàn)講義是實(shí)驗(yàn)的詳細(xì)講解,讓同學(xué)們充分了解實(shí)驗(yàn)的內(nèi)容和注意事項(xiàng)。后臺(tái)提供實(shí)驗(yàn)室項(xiàng)目的添加、修改、刪除、下架、等功能。2.1.4 欄目管理欄目是網(wǎng)站的支架,是網(wǎng)站的主要構(gòu)成部分,它就像一張無(wú)形的網(wǎng),讓網(wǎng)站的各個(gè)環(huán)節(jié)組合成一個(gè)主體。欄目保證了網(wǎng)站的層級(jí)關(guān)系和結(jié)構(gòu)的完整性。 后臺(tái)提供欄目的添加、修改、刪除、鎖定等功能。2.1.5
20、會(huì)員管理會(huì)員管理包括前臺(tái)會(huì)員管理和后臺(tái)會(huì)員管理。后臺(tái)會(huì)員即網(wǎng)站管理員,管理員要有修改網(wǎng)站內(nèi)容的權(quán)利。管理員有不同的權(quán)限,鞏固網(wǎng)站的安全性。前臺(tái)會(huì)員主要進(jìn)行信息的收藏、評(píng)論功能。2.1.6 其它除以上功能外還有網(wǎng)站的基本設(shè)置、推薦位管理、操作日志、登錄日志管理等功能,這些功能是對(duì)網(wǎng)站的進(jìn)一步完善,同事也讓網(wǎng)站的管理者跟容易的處理網(wǎng)站相關(guān)事務(wù)。2.2 網(wǎng)站前臺(tái)功能需求2.2.1 基本信息展示網(wǎng)站的前臺(tái)信息展示是用戶能直接看到的部分,此部分沒有后臺(tái)復(fù)雜,但要有良好的交互性。信息展示主要包括信息的分類、信息列表以及詳細(xì)信息。因項(xiàng)目與新聞?dòng)兄举|(zhì)的區(qū)別,故在設(shè)計(jì)時(shí)對(duì)二者采用了不一樣的設(shè)計(jì)方案。用戶可以對(duì)
21、關(guān)注的新聞進(jìn)行收藏、評(píng)論、分享等操作。2.2.2 會(huì)員中心用戶可以在會(huì)員中心修改自己的基本信息、登錄密碼。同時(shí)用戶還可以在會(huì)員中心查看管理自己收藏和評(píng)論的內(nèi)容,讓用戶在使用中有更好的體驗(yàn)。2.2.3 登錄注冊(cè)功能用戶可以通過注冊(cè)成為網(wǎng)站會(huì)員,已經(jīng)個(gè)注冊(cè)過的會(huì)員可以通過登錄網(wǎng)站進(jìn)入會(huì)員中心,進(jìn)行收藏、評(píng)論等操作。2.2.4 收藏和評(píng)論功能用戶可以對(duì)感興趣的新聞進(jìn)行收藏和評(píng)論操作。收藏功能方便用戶更快的找到收藏過的新聞;評(píng)論則滿足用戶對(duì)新聞的觀點(diǎn),方便用戶與用戶之間的交流,評(píng)論要記錄評(píng)論人id(或昵稱),用戶同時(shí)可以回復(fù)別人的評(píng)論并且要有無(wú)限極回復(fù)功能。第3章 概要設(shè)計(jì)3.1 數(shù)據(jù)字典數(shù)據(jù)字典通常
22、包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過程5部分。其中數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通過對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來(lái)描述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位。對(duì)數(shù)據(jù)項(xiàng)的描述通常包括以下內(nèi)容:數(shù)據(jù)項(xiàng)描述=數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說(shuō)明,別名,數(shù)據(jù)類型,長(zhǎng)度,取值范圍,取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系,數(shù)據(jù)項(xiàng)之間的聯(lián)系。通過對(duì)本系統(tǒng)的分析,得出本系統(tǒng)的數(shù)據(jù)字典:用戶信息的描述項(xiàng)如表3-1所示。表3-1 用戶信息名稱:用戶別名:users描述:存儲(chǔ)系統(tǒng)中用戶的基本信息組成:用戶=用戶名+密碼+真實(shí)姓名+性別+年齡+會(huì)員類型+駕齡+駕駛證號(hào)+聯(lián)系
23、方+電子郵箱3.2 功能模塊設(shè)計(jì) 3.2.1 后臺(tái)流程根據(jù)后臺(tái)功能設(shè)計(jì),畫出后臺(tái)功能大致流程結(jié)構(gòu)圖如圖3-1所示。圖3-1 后臺(tái)流程圖3.2.2 內(nèi)容管理內(nèi)容主要包括實(shí)驗(yàn)室項(xiàng)目和實(shí)驗(yàn)室新聞以及實(shí)驗(yàn)室介紹等內(nèi)容。這部分主要實(shí)現(xiàn)的功能為內(nèi)容的添加、修改、刪除、下架、還原等操作。新聞部分還包括收藏和評(píng)論。根據(jù)功能分析內(nèi)容管理大致流程圖3-2所示。圖3-2 內(nèi)容管理流程圖根據(jù)內(nèi)容管理功能要求設(shè)計(jì)數(shù)據(jù)庫(kù)關(guān)系如圖3-3所示(以新聞管理為例)。圖3-3 新聞表設(shè)計(jì)3.2.3 欄目管理網(wǎng)站欄目主要實(shí)現(xiàn)欄目的添加,修改,刪除,添加子欄目(能夠無(wú)限極添加子欄目)等功能。欄目設(shè)立欄目模型,不同的模型有不一樣的展示方
24、式。模型同樣有添加、修改、刪除等功能。根據(jù)欄目功能設(shè)計(jì),欄目流程圖如圖3-4所示。圖3-4 欄目管理流程圖欄目表設(shè)計(jì)如圖3-5所示。圖3-5 欄目表設(shè)計(jì)模型表設(shè)計(jì)如圖3-6所示。圖3-6 模型表設(shè)計(jì)3.2.4 會(huì)員管理會(huì)員模塊主要是用于記錄網(wǎng)站用戶信息,登陸網(wǎng)站。管理員還用于網(wǎng)站的管理工作,擁有不同的權(quán)限。會(huì)員歸屬會(huì)員組,組有組權(quán)限,凡在此組下的會(huì)員都有該組的權(quán)限,從而進(jìn)行管理員的權(quán)限控制。會(huì)員管理還需會(huì)員的登錄及操作日志,方便通過會(huì)員的登錄以及操作日志追蹤會(huì)員進(jìn)行的操作。但網(wǎng)站出現(xiàn)錯(cuò)誤時(shí)方便追蹤錯(cuò)誤。會(huì)員表設(shè)計(jì)如圖3-7所示。圖3-7 會(huì)員表設(shè)計(jì)圖3-8 會(huì)員副表設(shè)計(jì)圖3-9 會(huì)員組表設(shè)計(jì)圖
25、3-10 會(huì)員操作日志表設(shè)計(jì) 第4章 詳細(xì)設(shè)計(jì)4.1 用戶功能設(shè)計(jì)與實(shí)現(xiàn)4.1.1 用戶注冊(cè)功能當(dāng)用戶正確、完整填寫注冊(cè)信息之后,檢查用戶名是否重復(fù),如果重復(fù)則停止將用戶信息上傳至用戶信息表。如果不重復(fù),則上傳相關(guān)數(shù)據(jù),將一條新紀(jì)錄添加到用戶信息表中。注冊(cè)頁(yè)面的設(shè)計(jì)關(guān)鍵是運(yùn)用了大量的驗(yàn)證控件來(lái)控制用戶注冊(cè)時(shí)填寫的信息。比如用戶名和密碼等不能為空,密碼與確認(rèn)密碼內(nèi)容要一致。用戶注冊(cè)頁(yè)面的流程圖如圖4-1所示。圖4-1 用戶注冊(cè)流程圖注冊(cè)時(shí)驗(yàn)證用戶名重復(fù)代碼如圖4-2所示。圖4-2 驗(yàn)證用戶名代碼如上圖代碼所示,通過ajax技術(shù)在用戶輸入用戶名后觸發(fā)用戶名驗(yàn)證,驗(yàn)證通過代碼返回1,不通過則返回0。
26、然后通過js判斷返回值,反饋到前端頁(yè)面。用戶名驗(yàn)證無(wú)刷新反饋提醒如圖4-3所示:圖4-3 驗(yàn)證用戶名重復(fù)用戶名重復(fù)檢測(cè)通過后,檢測(cè)密碼是否符合規(guī)則,兩次密碼是否一致,密碼通過后,會(huì)執(zhí)行注冊(cè)代碼,在數(shù)據(jù)庫(kù)的用戶表中添加一條數(shù)據(jù)。插入數(shù)據(jù)庫(kù)代碼如下:if(empty($_postagreement) | !isset($_postagreement)$this-error(你沒有同意用戶注冊(cè)協(xié)議);exit;$info = $_postinfo;$infousername ? : $this-error(用戶名不能為空); if($infopassword & $infopassword=$inf
27、orep_password)$infomima = $infopassword;$infopassword = passwordmember($infopassword);unset($inforep_password);$infonickname= $infonickname? $infonickname : $infousername;$infogroupid = 2;$inforegtime = time();$infolasttime = time();$infolognum = 1;$infologtime = time();$inforegip = ip();$infolastip
28、 = ip();$infologip = ip();$infolistorder = 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,$infousername); $this-success(注冊(cè)成功,_root_); else $this-error(注冊(cè)失敗); else$this-error(兩次密碼輸入不一致);4.1.2 用戶評(píng)論功能用戶評(píng)論是
29、用戶對(duì)信息的反饋,用戶與用戶之間也要有良好的交互性,便于用戶之間的交流。用戶評(píng)論是基于新聞信息的,呈現(xiàn)在新聞的底部區(qū)域。評(píng)論區(qū)域包括評(píng)論文本框、驗(yàn)證碼、提交按鈕。驗(yàn)證碼為防止用戶惡意發(fā)表評(píng)論、刷評(píng)論等行為。評(píng)論框下是各個(gè)用戶對(duì)該條信息的評(píng)論列表以及用戶與用戶之間的交互。用戶評(píng)論模塊設(shè)計(jì)如圖4-4所示。圖4-4 評(píng)論設(shè)計(jì)用戶在輸入完評(píng)論內(nèi)容之后要輸入驗(yàn)證碼驗(yàn)證,驗(yàn)證碼保證網(wǎng)站不被惡意攻擊。驗(yàn)證碼的驗(yàn)證同樣采用ajax異步驗(yàn)證功能,驗(yàn)證不通過后即使提醒,方便重新輸入。驗(yàn)證碼驗(yàn)證通過后提交評(píng)論內(nèi)容,程序會(huì)在數(shù)據(jù)庫(kù)的評(píng)論表中插入一條數(shù)據(jù),數(shù)據(jù)記錄評(píng)論人、評(píng)論時(shí)間、被評(píng)論文章的相關(guān)信息等。提交評(píng)論代碼如
30、下:/*發(fā)表評(píng)論*/public function comment() $catid = isset($_getcatid) ? intval($_getcatid) : 0; $aid = isset($_getaid) ? intval($_getaid) : 0; if(empty($catid) | empty($aid) $this-error(參數(shù)錯(cuò)誤); if(!$this-userid | !$this-username) $this-error(請(qǐng)先登錄再發(fā)表評(píng)論); $comment = $_postcomment;/安全過濾 $commentcontent = htmls
31、pecialchars($commentcontent); $commentuserid = $this-userid; $commentusername = $this-userinfonickname; $commentcatid = $catid; $commentaid = $aid; $commentmodelid = $this-get_modelid($catid); /獲取模型id $commentip = ip(); $commentstatus = 99; $commentinputtime = time(); $comment_db = m(comment); $comm
32、ent_db-add($comment); $this-success(評(píng)論成功,$_serverhttp_referer.#comment_link); 4.1.3 會(huì)員中心會(huì)員中心是前臺(tái)會(huì)員的管理中心,主要包括會(huì)員信息展示、會(huì)員信息修改、登錄密碼修改、收藏管理、評(píng)論管理。用戶可以在收藏管理中快速找到自己收藏的內(nèi)容,也可以刪除該收藏。在評(píng)論列表中用戶可以看到自己評(píng)論的內(nèi)容,用戶也可以通過該入口查看自己的評(píng)論,可以快速找到被評(píng)論的文章,也可以刪除評(píng)論。用戶個(gè)人資料除基本的信息外還包括注冊(cè)時(shí)間、上次登錄時(shí)間、本次登錄時(shí)間以及登錄次數(shù),方便用戶更清楚的了解到自己的賬戶信息。用戶在會(huì)員中心修改密碼時(shí)
33、首先要驗(yàn)證舊密碼,舊密碼驗(yàn)證不通過不允許修改密碼,這樣保證用戶賬戶的安全性,防止被惡意修改密碼。如果用戶忘記自己的密碼,需要與管理員聯(lián)系,讓管理員幫其修改密碼。會(huì)員中心收藏管理如圖4-5所示。圖4-5 會(huì)員中心收藏管理會(huì)員中心評(píng)論管理如圖4-6所示。圖 4-6 會(huì)員中心評(píng)論管理會(huì)員中心個(gè)人資料展示如圖4-7所示。圖4-7 會(huì)員中心個(gè)人資料會(huì)員中心密碼修改代碼如圖4-8所示。圖4-8 密碼修改代碼4.2 后臺(tái)管理功能4.2.1 欄目管理欄目的設(shè)計(jì)與實(shí)現(xiàn)中除了欄目最基本的添加、修改等功能外最主要的就是要實(shí)現(xiàn)欄目的無(wú)限級(jí)添加。欄目的無(wú)限級(jí)添加保證了欄目結(jié)構(gòu)的完整性和嚴(yán)謹(jǐn)性,在技術(shù)上欄目的無(wú)限極添加也
34、是挑戰(zhàn),主要的難點(diǎn)在于欄目與子欄目之間的關(guān)聯(lián)。在欄目的列表中上下級(jí)的關(guān)系顯示也顯得非常重要,同時(shí)這也是難點(diǎn)。欄目的數(shù)據(jù)庫(kù)設(shè)計(jì)如圖4-9所示。圖4-9 欄目數(shù)據(jù)庫(kù)設(shè)計(jì)欄目列表引入了一個(gè)完整的無(wú)限級(jí)欄目分類的類文件,這讓欄目的呈現(xiàn)變得更簡(jiǎn)單,簡(jiǎn)潔,調(diào)用也很方便。欄目列表調(diào)用dptree.class.php 代碼如下:public function page_list() $category_db = m(category);$where = array(modelid=4,status=99);$order = parentid asc,listorder asc; $list = $catego
35、ry_db-where($where)-order($order)-select();$parm = array(catid,parentid,catname,sname); $tree = new thinkdptree($parm ); $page_list = $tree-gettree($list); $this-assign(page_list,$page_list); $this-display(page_list); 欄目列表的最終呈現(xiàn)如圖4-10所示。圖4-10 欄目列表無(wú)限級(jí)添加欄目代碼如下:$info = $_postinfo;if($infocatname & $info
36、modelid) $infocatname = htmlspecialchars($infocatname); $infoinputtime = time(); $infoshow = 1; $catid = $this-category_db-add($info); if($infoparentid=0) $infosarrparentid = 0; else $parentid = $infoparentid; /獲取該欄目的arrparentid字符串 $parent = $this-category_db-find($parentid); $infosarrparentid = $pa
37、rentarrparentid; $infosarrparentid .= ,.$parentid; /更新該欄目上級(jí)欄目的childrenid字符串 $this-catparent($parentid,$catid); /該欄目的子欄目 $infoschildrenid = $catid; $infosupdatetime = time(); $where = array(catid=$catid); $this-category_db-where($where)-save($infos);public function catparent($parentid,$catid) if(empt
38、y($parentid) | empty($catid) return false; $parent = $this-category_db-find($parentid); if(empty($parent) return false; /如果上級(jí)欄目為空返回false /修改上級(jí)欄目的childrenid字符串 $infochildrenid = $parentchildrenid.,.$catid;$where = array(catid=$parentid); $this-category_db-where($where)-save($info); if($parentparentid
39、) /如果上級(jí)欄目還有上級(jí)欄目再次調(diào)用本方法 $this-catparent($parentparentid,$catid); else return true; 4.2.2 權(quán)限設(shè)置權(quán)限是管理員權(quán)利的體現(xiàn),是管理員管理網(wǎng)站必不可少的,不一樣的管理員賦予不一樣的權(quán)利也保證了網(wǎng)站的安全性。在網(wǎng)站權(quán)限的設(shè)計(jì)中,我采用了讀取權(quán)限文件的方法來(lái)管理權(quán)限。權(quán)限的文件主要有兩個(gè),一個(gè)是擁有所有權(quán)限即權(quán)限名稱的文件privall.php,另一個(gè)是管理員對(duì)應(yīng)相應(yīng)權(quán)限的文件priv.php。priv.php的內(nèi)容為json格式的字符串,在使用時(shí)讀取json字符串轉(zhuǎn)化為數(shù)組,在管理員進(jìn)行操作時(shí)判斷是否有操作的權(quán)限。
40、管理員權(quán)限修改頁(yè)面如圖4-11所示。圖4-11 權(quán)限修改頁(yè)面權(quán)限寫入文件代碼如下:function set_config($config,$key,$filename)$path = conf_path.$filename.php;if(!is_writable($path) return -1; /文件不可寫時(shí)返回-1if($key)$filecontent = file_get_contents($path); /獲取文件內(nèi)容 /將json格式轉(zhuǎn)化為數(shù)組$filecontent = json_decode($filecontent,true); $filecontent$key = $co
41、nfig; /替換要修改的內(nèi)容else$filecontent = $config; $content = json_encode($filecontent); /將數(shù)組轉(zhuǎn)化為jsonfile_put_contents($path,$content); /寫入文件return 1;讀取權(quán)限文件代碼如下:function load_configs($filename,$key=,$json=true)$config = array();if(empty($filename) return $config;$path = conf_path.$filename.php;if($json)$conf
42、ig = 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;elsereturn array();權(quán)限判斷代碼如下:public function check_priv(&$param) $userid = session(admin_userid); $username = session(admin_username);
43、 if(empty($userid)|empty($username)&action_name!= login) /$this-error(請(qǐng)先登錄,_controller_./login); header(location:._module_./index/login); $public = a(public); $userinfo = $public-userinfo($userid); $privall = load_configs(privall,false); $privlist = load_configs(priv,$userinfogroupid); $module = con
44、troller_name; $action = action_name; if(isset($privall$module)&in_array($action,$privall$module)&$userinfogroupid!=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)站的輔助工具,通過日志可以看出哪些管理員和會(huì)員登錄了網(wǎng)站,可以看出管理員進(jìn)
45、行了哪些操作,方便以后追蹤錯(cuò)誤。因此日志要包含操作者,操作時(shí)間,操作的模塊名稱,控制器名稱,方法名稱,以及登錄日志里用戶的操作系統(tǒng),瀏覽器,ip地址等信息。由于日志記錄的全面性(任何操作都會(huì)記錄到日志)會(huì)生成過多的記錄,這對(duì)數(shù)據(jù)庫(kù)很不利,一次日志提供刪除一月前日之后的功能,這樣可以及時(shí)對(duì)沒用的日志進(jìn)行清理,節(jié)省數(shù)據(jù)空間。為排錯(cuò)時(shí)方便日志還有搜索功能,在搜索條件的限定下可以找到某個(gè)用戶進(jìn)行的所有操作,也可以找到進(jìn)行某個(gè)操作的所有用戶,操作日志里的日期篩選可以把日志固定到兩個(gè)時(shí)間之間,這樣方便了錯(cuò)誤發(fā)生時(shí)的排查。登錄日志效果如圖4-12所示。圖4-12 登錄日志操作日志效果如圖4-13所示。圖4-
46、13 操作日志4.2.4 防注入設(shè)置防注入是對(duì)用戶及管理員輸入的內(nèi)容進(jìn)行安全處理,防止輸入的內(nèi)容里有摻雜的代碼內(nèi)容而讓程序終止或者出現(xiàn)錯(cuò)誤,更嚴(yán)重的還會(huì)導(dǎo)致數(shù)據(jù)庫(kù)的癱瘓。防注入主要運(yùn)用php內(nèi)置函數(shù)htmlspecialchars 進(jìn)行轉(zhuǎn)化讓需要的內(nèi)容轉(zhuǎn)化為html實(shí)體。htmlspecialchars函數(shù)轉(zhuǎn)化的對(duì)象是字符串,而網(wǎng)站中為方便通常要對(duì)數(shù)組進(jìn)行安全過濾,這里用到了回調(diào)函數(shù)。除編輯器里的文本內(nèi)容外,管理員輸入信息、修改信息、搜索,會(huì)員修改資料時(shí)都需要用安全過濾函數(shù)過濾。錄入信息是防注入的一種情況,還有一種情況就是地址欄過濾。網(wǎng)絡(luò)黑客可以通過瀏覽器的地址輸入某些代碼信息讓程序報(bào)錯(cuò),然后
47、破解你的數(shù)據(jù)庫(kù),同樣可以利用地址欄刪除你的數(shù)據(jù)庫(kù),這是非常危險(xiǎn)的。所以在接收地址欄參數(shù)的時(shí)候要有一些安全措施防止參數(shù)中夾雜代碼。比如當(dāng)接收的參數(shù)是整型數(shù)據(jù)時(shí),可以用intval()函數(shù)轉(zhuǎn)化,這樣即使參數(shù)被惡意改為非整型函數(shù)也會(huì)把參數(shù)轉(zhuǎn)化為整型。安全過濾函數(shù)代碼如下:function safe_array(&$info,$pass=array()if(is_array($info)foreach ($info as $_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)下,通過這緊張的幾個(gè)月努力,畢業(yè)設(shè)計(jì)課題基本成型。 這幾個(gè)月使我學(xué)會(huì)了很多東西。從對(duì)b/s模型的不了解,到掌握這門技術(shù),把以前學(xué)的比較零的東西放到了一個(gè)完成的系統(tǒng)中,使知識(shí)成了體系。比如像數(shù)據(jù)庫(kù)的設(shè)計(jì)和連接技術(shù),css技術(shù),html技術(shù),php技術(shù)應(yīng)用到了實(shí)踐中,自成一體。同時(shí),學(xué)會(huì)了用嚴(yán)謹(jǐn)?shù)能浖こ虒W(xué)來(lái)做設(shè)計(jì),為我走向社會(huì)從事it行業(yè)打下了一個(gè)不錯(cuò)的基礎(chǔ)。同時(shí),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車美容隔斷施工合同
- 風(fēng)力發(fā)電機(jī)組裝生產(chǎn)線合同
- 電商客服人員聘用合同范例
- 私募基金協(xié)議休假管理辦法
- 老年公寓保健員招聘協(xié)議
- 電子產(chǎn)品招投標(biāo)委托協(xié)議
- 退房協(xié)議書中
- 古董居間合同范例
- 郵輪旅游貨物裝卸合同三篇
- 貴金屬供應(yīng)合同(2篇)
- 蔬菜產(chǎn)品供貨合同范例
- 江南大學(xué)《人工智能》2022-2023學(xué)年第一學(xué)期期末試卷
- 初中物理教師個(gè)人校本研修工作計(jì)劃(20篇)
- 種子生產(chǎn)與經(jīng)營(yíng)基礎(chǔ)知識(shí)單選題100道及答案解析
- 江蘇省揚(yáng)州市2023-2024學(xué)年高一上學(xué)期1月期末考試 物理 含解析
- 2024年【高校教師資格證】考試題庫(kù)(歷年真題)
- 合規(guī)風(fēng)控管理制度
- 機(jī)器人設(shè)備巡檢管理制度
- GB/T 23473-2024林業(yè)植物及其產(chǎn)品調(diào)運(yùn)檢疫規(guī)程
- 剪叉式液壓升降機(jī)畢業(yè)設(shè)計(jì)
- 山東省濟(jì)南市槐蔭區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末數(shù)學(xué)試卷 (一)
評(píng)論
0/150
提交評(píng)論