實驗室綜合門戶網站設計與實現畢業論文_第1頁
實驗室綜合門戶網站設計與實現畢業論文_第2頁
實驗室綜合門戶網站設計與實現畢業論文_第3頁
實驗室綜合門戶網站設計與實現畢業論文_第4頁
實驗室綜合門戶網站設計與實現畢業論文_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 PAGE35 / NUMPAGES39實驗室綜合門戶設計與實現摘 要實驗室綜合門戶是將實驗室通過計算機網絡連起來,采用科學的管理思想和先進的數據庫技術,實現以實驗室為核心的整體環境的全方位管理。它集資源管理,事務管理,網絡管理,數據管理(發布、編輯、刪除、查看、輸出),報表管理等諸多模塊為一體,組成一套完整的實驗室綜合管理體系,既能滿足外部的日常管理要求,又能保證實驗室分析數據的嚴格管理和控制。實驗室綜合門戶管理系統主要實現以下功能:實驗室介紹管理、實驗室新聞管理、實驗室項目管理、欄目管理、會員管理(包括前臺會員和管理員)、日志管理(登錄日志和操作日志)、設置、推薦位等。本系統提供了一個方便

2、快捷的實驗室管理平臺,方便了指導老師和實驗員的交流,提高了工作效率。實驗室綜合門戶管理系統基于B/S模式設計,以thinkphp為框架基礎,在wamp提供的apache+mysql+php環境下采用php語言進行編寫,以sublime text2為開發工具。關鍵詞:實驗室,設計,thinkphp,wampThe Design And Implementation Of Laboratory Comprehensive Portal WebsiteABSTRACTLaboratory comprehensive portal is connected through the laboratory

3、 of computer 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,

4、 view, 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 a

5、chieve 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

6、a convenient 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 t

7、ext2 as a development tool.KEY WORDS: Laboratory ,Website design,ThinkPHP ,Wamp目錄TOC o 1-3 h z u HYPERLINK l _Toc28128 前言 PAGEREF _Toc28128 1 HYPERLINK l _Toc1094 第1章 相關技術 PAGEREF _Toc1094 2 HYPERLINK l _Toc7032 1.1 開發技術介紹 PAGEREF _Toc7032 2 HYPERLINK l _Toc9507 1.1.1 PHP技術 PAGEREF _Toc9507 2 HYPERL

8、INK l _Toc16142 1.1.2 MySQL數據庫 PAGEREF _Toc16142 2 HYPERLINK l _Toc7802 1.1.3 Apache服務器 PAGEREF _Toc7802 3 HYPERLINK l _Toc17119 1.1.4 B/S結構 PAGEREF _Toc17119 3 HYPERLINK l _Toc28450 1.2開發工具和運行環境 PAGEREF _Toc28450 4 HYPERLINK l _Toc14769 第2章 功能需求分析 PAGEREF _Toc14769 5 HYPERLINK l _Toc22769 2.1 后臺功能需

9、求 PAGEREF _Toc22769 5 HYPERLINK l _Toc30619 2.1.1 實驗室介紹 PAGEREF _Toc30619 5 HYPERLINK l _Toc31437 2.1.2 實驗室新聞管理 PAGEREF _Toc31437 5 HYPERLINK l _Toc5717 2.1.3 實驗室項目管理 PAGEREF _Toc5717 5 HYPERLINK l _Toc19542 2.1.4 欄目管理 PAGEREF _Toc19542 5 HYPERLINK l _Toc26810 2.1.5 會員管理 PAGEREF _Toc26810 5 HYPERLIN

10、K l _Toc4039 2.1.6 其它 PAGEREF _Toc4039 6 HYPERLINK l _Toc16288 2.2 前臺功能需求 PAGEREF _Toc16288 6 HYPERLINK l _Toc13317 2.2.1 基本信息展示 PAGEREF _Toc13317 6 HYPERLINK l _Toc12856 2.2.2 會員中心 PAGEREF _Toc12856 6 HYPERLINK l _Toc12271 2.2.3 登錄注冊功能 PAGEREF _Toc12271 6 HYPERLINK l _Toc28296 2.2.4 收藏和評論功能 PAGEREF

11、 _Toc28296 6 HYPERLINK l _Toc26991 第3章 概要設計 PAGEREF _Toc26991 7 HYPERLINK l _Toc31439 3.1 數據字典 PAGEREF _Toc31439 7 HYPERLINK l _Toc3554 3.2 功能模塊設計 PAGEREF _Toc3554 7 HYPERLINK l _Toc22212 3.2.1 后臺流程 PAGEREF _Toc22212 7 HYPERLINK l _Toc11968 3.2.2 容管理 PAGEREF _Toc11968 8 HYPERLINK l _Toc9232 3.2.3 欄目

12、管理 PAGEREF _Toc9232 9 HYPERLINK l _Toc19649 3.2.4 會員管理 PAGEREF _Toc19649 11 HYPERLINK l _Toc30592 第4章 詳細設計 PAGEREF _Toc30592 13 HYPERLINK l _Toc3264 4.1 用戶功能設計與實現 PAGEREF _Toc3264 13 HYPERLINK l _Toc16563 4.1.1 用戶注冊功能 PAGEREF _Toc16563 13 HYPERLINK l _Toc27956 4.1.2 用戶評論功能 PAGEREF _Toc27956 16 HYPER

13、LINK l _Toc25685 4.1.3 會員中心 PAGEREF _Toc25685 17 HYPERLINK l _Toc18423 4.2 后臺管理功能 PAGEREF _Toc18423 20 HYPERLINK l _Toc17708 4.2.1 欄目管理 PAGEREF _Toc17708 20 HYPERLINK l _Toc2990 4.2.2 權限設置 PAGEREF _Toc2990 22 HYPERLINK l _Toc6776 4.2.3 日志管理 PAGEREF _Toc6776 26 HYPERLINK l _Toc12565 4.2.4 防注入設置 PAGER

14、EF _Toc12565 27 HYPERLINK l _Toc9855 結論 PAGEREF _Toc9855 28 HYPERLINK l _Toc21491 辭 PAGEREF _Toc21491 29 HYPERLINK l _Toc13874 參考文獻 PAGEREF _Toc13874 30前言隨著社會的發展、信息技術的不斷更新、計算機應用的迅猛發展、網絡應用不斷擴大,Internet已經得到了前所未有的高速發展,已經成為了一個單位或者組織宣傳自己、了解別人、相互溝通的重要平臺,人們迫切要求利用計算機網絡技術來進行在線管理。除了可以大幅度提高人工效率和安全性之外,基于WEB的管理系

15、統還可以自動分配各種設備、信息等資源、同時存檔,有效地避免資源的浪費,有利于環保,減少人員,減輕負擔,提高效率。計算機技術的進步,促使現代工業技術在快速發展,隨著科研和生產技術的不斷發展,企業的檢驗技術也從手工分析發展到儀器分析,檢驗項目大量增加,對數據的準確性和報出時間的要求越來越嚴格,數據處理量急速增加,原來的人工管理模式在這種形式下已顯得不太適應,使用計算機完成數據的收集、分析和處理的管理手段應運而生。在這一背景下,實驗室信息管理系統開始出現,并在實際應用中得到了快速發展,成為一項嶄新的實驗室管理與應用技術。 系統自動進行數據審核和超標數據監測、提高分析數據的準確性;工作效率大為提高;降

16、低實驗室成本消耗;通過對大量樣品數據的綜合統計分析,可以清楚地觀察到數據的變化趨勢、有效監測產品質量,為解決出現不合格生產產品與生產工藝變化提供科學依據。借助計算機技術,實驗室部實現網絡化全面管理,實現管理和檢驗工作的有效監督管理,提高整體工作水平。高校實驗室的管理已經由過去單一的教學管理,發展成為集教學、科研、開發等多功能為一體的綜合體。實驗室也成為規模大型化、結構綜合化、系統復雜化、設備高檔化的實驗群體,由此帶來的實驗室管理工作也日趨復雜化。第1章 相關技術1.1 開發技術介紹1.1.1 PHP技術PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處

17、理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,主要適用于Web開發領域。PHP 獨特的語法混合了C、Java、Perl以與PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯后代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。1.1.2MySQL數據庫MySQL 是一個關系型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬于 Orac

18、le 公司。MySQL 最流行的關系型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫,這樣就增加了速度并提高了靈活性。MySQL 所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策(本詞條“授權政策”),它分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型的開發都選擇 MyS

19、QL 作為數據庫。由于其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。與其他的大型數據庫例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于 MySQ L是開放源碼軟件,因此可以大大降低總體擁有成本。1.1.3 Apache服務器Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的API

20、擴充,將Perl/Python等解釋器編譯到服務器中。Apache 服務器是一個模塊化的服務器,源于NCSA d服務器,經過多次修改,成為世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上。Apache源于NCSA d服務器,經過多次修改,成為世界上最流行的Web服務器軟件之一。Apache取自“a patchy server”的讀音,意思是充滿補丁的服務器,因為它是自由軟件,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,并可做代理服務器來使用。本來它只用于小型或試驗Internet網絡,后來逐步擴充到各種Un

21、ix系統中,尤其對Linux的支持相當完美。Apache有多種產品,可以支持SSL技術,支持多個虛擬主機。Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,不太適合于多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加服務器或擴充群集節點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務器,市場占有率達60%左右。世界上很多著名的如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在于它的源代碼開放、有一支開放的開發隊伍、支持跨平臺的應用(可以運行在幾乎所有的Un

22、ix、Windows、Linux系統平臺上)以與它的可移植性等方面。1.1.4 B/S結構B/S結構(Browser/Server結構)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術看,局域網建立B/S結構的網絡應用,并通過Internet/Intranet

23、模式下數據庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發,能實現不同的人員,從不同的地點,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數據庫;它能有效地保護數據平臺和管理訪問權限,服務器數據庫也很安全。B/S結構有許多優點,例如:可以隨時隨地進行查詢、瀏覽等業務處理,并具有分布性特點;業務擴展簡單方便,通過增加網頁即可增加服務器功能;維護簡單方便,只需要改變網頁,即可實現所有用戶的同步更新;開發簡單,共享性強等。1.2開發工具和運行環境操作系統:Windows 7;服務器環境:Wamp5_1.7.4提供;開源框架:ThinkPHP

24、;開發工具:Sublime Text 2;數據庫工具:Navicat Premium。第2章 功能需求分析2.1 后臺功能需求2.1.1實驗室介紹實驗室介紹是對實驗室的基礎描述,用戶可以通過該欄目了解各實驗室的基礎情況以與實驗的項目。后臺提供實驗室介紹的添加、修改、刪除、查看等功能。2.1.2實驗室新聞管理實驗室新聞管理是對實驗室新聞的集中處理,在該欄目下用戶可以了解到實驗室的大小事件,以與時間的處理方法。后臺提供實驗室新聞的添加、修改、刪除、下架、等功能。2.1.3 實驗室項目管理實驗室項目管理是實驗室項目的集中處理,實驗室項目包括實驗大綱和實驗講義。實驗大綱體現了實驗的大致情況,同學們在進

25、行實驗之前對要進行的實驗有大致的了解;實驗講義是實驗的詳細講解,讓同學們充分了解實驗的容和注意事項。后臺提供實驗室項目的添加、修改、刪除、下架、等功能。2.1.4 欄目管理欄目是的支架,是的主要構成部分,它就像一無形的網,讓的各個環節組合成一個主體。欄目保證了的層級關系和結構的完整性。 后臺提供欄目的添加、修改、刪除、鎖定等功能。2.1.5 會員管理會員管理包括前臺會員管理和后臺會員管理。后臺會員即管理員,管理員要有修改容的權利。管理員有不同的權限,鞏固的安全性。前臺會員主要進行信息的收藏、評論功能。2.1.6 其它除以上功能外還有的基本設置、推薦位管理、操作日志、登錄日志管理等功能,這些功能

26、是對的進一步完善,同事也讓的管理者跟容易的處理相關事務。2.2 前臺功能需求2.2.1基本信息展示的前臺信息展示是用戶能直接看到的部分,此部分沒有后臺復雜,但要有良好的交互性。信息展示主要包括信息的分類、信息列表以與詳細信息。因項目與新聞有著本質的區別,故在設計時對二者采用了不一樣的設計方案。用戶可以對關注的新聞進行收藏、評論、分享等操作。2.2.2 會員中心用戶可以在會員中心修改自己的基本信息、登錄密碼。同時用戶還可以在會員中心查看管理自己收藏和評論的容,讓用戶在使用中有更好的體驗。2.2.3 登錄注冊功能用戶可以通過注冊成為會員,已經個注冊過的會員可以通過登錄進入會員中心,進行收藏、評論等

27、操作。2.2.4 收藏和評論功能用戶可以對感興趣的新聞進行收藏和評論操作。收藏功能方便用戶更快的找到收藏過的新聞;評論則滿足用戶對新聞的觀點,方便用戶與用戶之間的交流,評論要記錄評論人ID(或昵稱),用戶同時可以回復別人的評論并且要有無限極回復功能。第3章 概要設計3.1 數據字典數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程5部分。其中數據項是數據的最小組成單位,若干個數據項可以組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏輯容。數據項是不可再分的數據單位。對數據項的描述通常包括以下容:數據項描述=數據項名,數據項含義說明,別名,數據類型,長度

28、,取值圍,取值含義,與其他數據項的邏輯關系,數據項之間的聯系。通過對本系統的分析,得出本系統的數據字典:用戶信息的描述項如表3-1所示。表3-1 用戶信息名稱:用戶別名:Users描述:存儲系統中用戶的基本信息組成:用戶=用戶名+密碼+真實+性別+年齡+會員類型+駕齡+駕駛證號+聯系方+電子3.2 功能模塊設計3.2.1后臺流程根據后臺功能設計,畫出后臺功能大致流程結構圖如圖3-1所示。圖3-1 后臺流程圖3.2.2容管理容主要包括實驗室項目和實驗室新聞以與實驗室介紹等容。這部分主要實現的功能為容的添加、修改、刪除、下架、還原等操作。新聞部分還包括收藏和評論。根據功能分析容管理大致流程圖3-2

29、所示。圖3-2 容管理流程圖根據容管理功能要求設計數據庫關系如圖3-3所示(以新聞管理為例)。圖3-3 新聞表設計3.2.3 欄目管理欄目主要實現欄目的添加,修改,刪除,添加子欄目(能夠無限極添加子欄目)等功能。欄目設立欄目模型,不同的模型有不一樣的展示方式。模型同樣有添加、修改、刪除等功能。根據欄目功能設計,欄目流程圖如圖3-4所示。圖3-4 欄目管理流程圖欄目表設計如圖3-5所示。圖3-5 欄目表設計模型表設計如圖3-6所示。圖3-6 模型表設計3.2.4 會員管理會員模塊主要是用于記錄用戶信息,登陸。管理員還用于的管理工作,擁有不同的權限。會員歸屬會員組,組有組權限,凡在此組下的會員都有

30、該組的權限,從而進行管理員的權限控制。會員管理還需會員的登錄與操作日志,方便通過會員的登錄以與操作日志追蹤會員進行的操作。但出現錯誤時方便追蹤錯誤。會員表設計如圖3-7所示。圖3-7 會員表設計圖3-8 會員副表設計圖3-9 會員組表設計圖3-10 會員操作日志表設計第4章 詳細設計4.1 用戶功能設計與實現4.1.1 用戶注冊功能當用戶正確、完整填寫注冊信息之后,檢查用戶名是否重復,如果重復則停止將用戶信息上傳至用戶信息表。如果不重復,則上傳相關數據,將一條新紀錄添加到用戶信息表中。注冊頁面的設計關鍵是運用了大量的驗證控件來控制用戶注冊時填寫的信息。比如用戶名和密碼等不能為空,密碼與確認密碼

31、容要一致。用戶注冊頁面的流程圖如圖4-1所示。圖4-1 用戶注冊流程圖注冊時驗證用戶名重復代碼如圖4-2所示。圖4-2 驗證用戶名代碼如上圖代碼所示,通過ajax技術在用戶輸入用戶名后觸發用戶名驗證,驗證通過代碼返回1,不通過則返回0。然后通過js判斷返回值,反饋到前端頁面。用戶名驗證無刷新反饋提醒如圖4-3所示:圖4-3 驗證用戶名重復用戶名重復檢測通過后,檢測密碼是否符合規則,兩次密碼是否一致,密碼通過后,會執行注冊代碼,在數據庫的用戶表中添加一條數據。插入數據庫代碼如下:if(empty($_POSTagreement) | !isset($_POSTagreement)$this-er

32、ror(你沒有同意用戶注冊協議);exit;$info = $_POSTinfo;$infousername ? : $this-error(用戶名不能為空); if($infopassword & $infopassword=$inforep_password)$infomima = $infopassword;$infopassword = passwordMember($infopassword);unset($inforep_password);$infonickname= $infonickname? $infonickname : $infousername;$infogroupi

33、d = 2;$inforegtime = time();$infolasttime = time();$infolognum = 1;$infologtime = time();$inforegip = ip();$infolastip = 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_use

34、rname,$infousername); $this-success(注冊成功,_ROOT_); else $this-error(注冊失敗); else$this-error(兩次密碼輸入不一致);4.1.2用戶評論功能用戶評論是用戶對信息的反饋,用戶與用戶之間也要有良好的交互性,便于用戶之間的交流。用戶評論是基于新聞信息的,呈現在新聞的底部區域。評論區域包括評論文本框、驗證碼、提交按鈕。驗證碼為防止用戶惡意發表評論、刷評論等行為。評論框下是各個用戶對該條信息的評論列表以與用戶與用戶之間的交互。用戶評論模塊設計如圖4-4所示。圖4-4 評論設計用戶在輸入完評論容之后要輸入驗證碼驗證,驗證碼

35、保證不被惡意攻擊。驗證碼的驗證同樣采用ajax異步驗證功能,驗證不通過后即使提醒,方便重新輸入。驗證碼驗證通過后提交評論容,程序會在數據庫的評論表中插入一條數據,數據記錄評論人、評論時間、被評論文章的相關信息等。提交評論代碼如下:/*發表評論*/public function comment() $catid = isset($_GETcatid) ? intval($_GETcatid) : 0; $aid = isset($_GETaid) ? intval($_GETaid) : 0; if(empty($catid) | empty($aid) $this-error(參數錯誤); i

36、f(!$this-userid | !$this-username) $this-error(請先登錄再發表評論); $comment = $_POSTcomment;/安全過濾 $commentcontent = htmlspecialchars($commentcontent); $commentuserid = $this-userid; $commentusername = $this-userinfonickname; $commentcatid = $catid; $commentaid = $aid; $commentmodelid = $this-get_modelid($ca

37、tid); /獲取模型ID $commentip = ip(); $commentstatus = 99; $commentinputtime = time(); $comment_db = M(Comment); $comment_db-add($comment); $this-success(評論成功,$_SERVER _REFERER.#comment_link); 4.1.3 會員中心會員中心是前臺會員的管理中心,主要包括會員信息展示、會員信息修改、登錄密碼修改、收藏管理、評論管理。用戶可以在收藏管理中快速找到自己收藏的容,也可以刪除該收藏。在評論列表中用戶可以看到自己評論的容,用戶也

38、可以通過該入口查看自己的評論,可以快速找到被評論的文章,也可以刪除評論。用戶個人資料除基本的信息外還包括注冊時間、上次登錄時間、本次登錄時間以與登錄次數,方便用戶更清楚的了解到自己的賬戶信息。用戶在會員中心修改密碼時首先要驗證舊密碼,舊密碼驗證不通過不允許修改密碼,這樣保證用戶賬戶的安全性,防止被惡意修改密碼。如果用戶忘記自己的密碼,需要與管理員聯系,讓管理員幫其修改密碼。會員中心收藏管理如圖4-5所示。圖4-5 會員中心收藏管理會員中心評論管理如圖4-6所示。圖 4-6 會員中心評論管理會員中心個人資料展示如圖4-7所示。圖4-7 會員中心個人資料會員中心密碼修改代碼如圖4-8所示。圖4-8

39、 密碼修改代碼4.2 后臺管理功能4.2.1 欄目管理欄目的設計與實現中除了欄目最基本的添加、修改等功能外最主要的就是要實現欄目的無限級添加。欄目的無限級添加保證了欄目結構的完整性和嚴謹性,在技術上欄目的無限極添加也是挑戰,主要的難點在于欄目與子欄目之間的關聯。在欄目的列表中上下級的關系顯示也顯得非常重要,同時這也是難點。欄目的數據庫設計如圖4-9所示。圖4-9 欄目數據庫設計欄目列表引入了一個完整的無限級欄目分類的類文件,這讓欄目的呈現變得更簡單,簡潔,調用也很方便。欄目列表調用dpTree.class.php 代碼如下:public function page_list() $catego

40、ry_db = M(Category);$where = array(modelid=4,status=99);$order = parentid asc,listorder asc; $list = $category_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);

41、$this-display(page_list); 欄目列表的最終呈現如圖4-10所示。圖4-10 欄目列表無限級添加欄目代碼如下:$info = $_POSTinfo;if($infocatname & $infomodelid) $infocatname = htmlspecialchars($infocatname); $infoinputtime = time(); $infoshow = 1; $catid = $this-category_db-add($info); if($infoparentid=0) $infosarrparentid = 0; else $parentid

42、 = $infoparentid; /獲取該欄目的arrparentid字符串 $parent = $this-category_db-find($parentid); $infosarrparentid = $parentarrparentid; $infosarrparentid .= ,.$parentid; /更新該欄目上級欄目的childrenid字符串 $this-catparent($parentid,$catid); /該欄目的子欄目 $infoschildrenid = $catid; $infosupdatetime = time(); $where = array(cat

43、id=$catid); $this-category_db-where($where)-save($infos);public function catparent($parentid,$catid) if(empty($parentid) | empty($catid) return false; $parent = $this-category_db-find($parentid); if(empty($parent) return false; /如果上級欄目為空返回false /修改上級欄目的childrenid字符串 $infochildrenid = $parentchildren

44、id.,.$catid;$where = array(catid=$parentid); $this-category_db-where($where)-save($info); if($parentparentid) /如果上級欄目還有上級欄目再次調用本方法 $this-catparent($parentparentid,$catid); else return true; 4.2.2 權限設置權限是管理員權利的體現,是管理員管理必不可少的,不一樣的管理員賦予不一樣的權利也保證了的安全性。在權限的設計中,我采用了讀取權限文件的方法來管理權限。權限的文件主要有兩個,一個是擁有所有權限即權限名稱

45、的文件privAll.php,另一個是管理員對應相應權限的文件priv.php。Priv.php的容為json格式的字符串,在使用時讀取json字符串轉化為數組,在管理員進行操作時判斷是否有操作的權限。管理員權限修改頁面如圖4-11所示。圖4-11 權限修改頁面權限寫入文件代碼如下:function set_config($config,$key,$filename)$path = CONF_PATH.$filename.php;if(!is_writable($path) return -1; /文件不可寫時返回-1if($key)$fileContent = file_get_conten

46、ts($path); /獲取文件容 /將json格式轉化為數組$fileContent = json_decode($fileContent,true); $fileContent$key = $config; /替換要修改的容else$fileContent = $config; $content = json_encode($fileContent); /將數組轉化為JSONfile_put_contents($path,$content); /寫入文件return 1;讀取權限文件代碼如下:function load_configs($filename,$key=,$json=true)

47、$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;elsereturn array();權限判斷代碼如下:public

48、 function check_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); $pr

49、ivAll = load_configs(privAll,false); $privlist = load_configs(priv,$userinfogroupid); $module = CONTROLLER_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; 該方法用

50、傳址的方法修改參數值,在公共函數的構造方法中判斷該參數的值,如果值為-1則提醒沒有權限操作。4.2.3 日志管理日志管理是的輔助工具,通過日志可以看出哪些管理員和會員登錄了,可以看出管理員進行了哪些操作,方便以后追蹤錯誤。因此日志要包含操作者,操作時間,操作的模塊名稱,控制器名稱,方法名稱,以與登錄日志里用戶的操作系統,瀏覽器,ip地址等信息。由于日志記錄的全面性(任何操作都會記錄到日志)會生成過多的記錄,這對數據庫很不利,一次日志提供刪除一月前日之后的功能,這樣可以與時對沒用的日志進行清理,節省數據空間。為排錯時方便日志還有搜索功能,在搜索條件的限定下可以找到某個用戶進行的所有操作,也可以找

51、到進行某個操作的所有用戶,操作日志里的日期篩選可以把日志固定到兩個時間之間,這樣方便了錯誤發生時的排查。登錄日志效果如圖4-12所示。圖4-12 登錄日志操作日志效果如圖4-13所示。圖4-13 操作日志4.2.4 防注入設置防注入是對用戶與管理員輸入的容進行安全處理,防止輸入的容里有摻雜的代碼容而讓程序終止或者出現錯誤,更嚴重的還會導致數據庫的癱瘓。防注入主要運用PHP置函數htmlspecialchars 進行轉化讓需要的容轉化為html實體。Htmlspecialchars函數轉化的對象是字符串,而中為方便通常要對數組進行安全過濾,這里用到了回調函數。除編輯器里的文本容外,管理員輸入信息

52、、修改信息、搜索,會員修改資料時都需要用安全過濾函數過濾。錄入信息是防注入的一種情況,還有一種情況就是地址欄過濾。網絡黑客可以通過瀏覽器的地址輸入某些代碼信息讓程序報錯,然后破解你的數據庫,同樣可以利用地址欄刪除你的數據庫,這是非常危險的。所以在接收地址欄參數的時候要有一些安全措施防止參數中夾雜代碼。比如當接收的參數是整型數據時,可以用intval()函數轉化,這樣即使參數被惡意改為非整型函數也會把參數轉化為整型。安全過濾函數代碼如下:function safe_array(&$info,$pass=array()if(is_array($info)foreach ($info as $_k

53、= $_v) if(is_array($pass) & !in_array($_k,$pass) | empty($_k)$info$_k = safe_array($_v,$pass);else$info = htmlspecialchars($info);return $info;結論在指導老師明照的認真指導下,通過這緊的幾個月努力,畢業設計課題基本成型。 這幾個月使我學會了很多東西。從對B/S模型的不了解,到掌握這門技術,把以前學的比較零的東西放到了一個完成的系統中,使知識成了體系。比如像數據庫的設計和連接技術,CSS技術,HTML技術,PHP技術應用到了實踐中,自成一體。同時,學會了用

54、嚴謹的軟件工程學來做設計,為我走向社會從事IT行業打下了一個不錯的基礎。同時,在這個過程中也遇到了很多問題,通過請教吳老師和與同學交流,還有上網查相關的資料,這不僅鍛煉了自己的溝通能力同時還培養了自己分析問題和解決問題的能力,我相信這些都是以后的工作生涯所不可缺少的東西。但是畢業設計也暴露出自己專業基礎的很多不足之處。比如缺乏綜合應用專業知識的能力,對材料的不了解,等等。這次實踐是對自己大學四年所學的一次大檢閱,使我明白自己知識還很淺薄,雖然馬上要畢業了,但是自己的求學之路還很長,以后更應該在工作中學習,努力使自己 成為一個對社會有所貢獻的人,為中國社會建設添上自己的微薄之力。實驗室綜合門戶管

55、理系統是實驗室管理的新手段,通過該技術可以方便用戶在不同地點,不同時間段做實驗,有利于資源的共享與技術的交流,是時下最經濟,最科學,是有效的實驗技術之一。當然,也有不足之處,希望能在日后的使用過程中,繼續改進本系統,然后使之更加有效的投入實驗運用過程中,產生實際的經濟效益。 辭三年的大學生活即將結束,在校的學習生活既充實也充滿了快樂,畢業論文是我這一階段學習情況的總結。在此謹向所有關心、幫助、指導過我的老師、同學、朋友和親人致以最誠摯的感。本設計能夠順利地完成,要特別感一直以來指導我幫助我完成畢業設計的指導老師明照,他嚴謹的治學態度、誨人不倦的工作作風給我留下了深刻的印象。這段時間他對我的畢業

56、設計提出了很多寶貴的建議,用孜孜不倦的教導和無微不至的關懷引領著我,使我少走了很多彎路,幫助著我順利的走過了最后的大學生活。此外還要感大學三年教授我們專業課程的各位任課老師,正是由于他們平時教課認真負責、不厭其煩地為我們解惑,我才能夠很好地掌握和運用專業知識,我的畢業設計也才能很順利的完成。在此向全體任課老師表達我真誠的意,感他們這四年來對我的辛勤栽培和無微不至的關懷。在做畢業設計的過程中,同學們對我的幫助也有很多,在我遇到困難的時候,身邊的同學總能在第一時間幫我解決問題,在同學們的大力幫助下,這次畢業設計才能夠順利完成。在此我對所有幫助我、鼓勵我的同學們表示誠摯的感。參考文獻1 宇軍.C#面

57、向對象程序設計M.:人民郵電,2009.2 王珊,薩師煊.數據庫系統概論(第4版)M.:高等教育,2006. 3 偉,衛琳.ASP.NET 3.5開發實例教程M.:清華大學,2009.4 余俊杰,華.基于ASP.NET的HYPERLINK :/ /kcms/detail/detail.aspx?filename=KJIG201209021&dbcode=CJFQ&dbname=CJFDTEMP&v=MjI1NDY2ZlpPUnNGeTduVWJ6SUxpZkNhYkc0SDlQTXBvOUhaWVIrQzM4NHpoNFhuRDBMVGcyWDJoc3hGckNVUkw=汽車租賃管理系統的設計與實現J.科技廣場,2012,(09):128-129. 5 小影,小娜.HYPERLINK :/ /kcms/detail/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論