簡(jiǎn)易選課系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
簡(jiǎn)易選課系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
簡(jiǎn)易選課系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
簡(jiǎn)易選課系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
簡(jiǎn)易選課系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)說(shuō)明書(shū)課題:簡(jiǎn)易選課系統(tǒng)院系名稱:計(jì)算機(jī)工程系專業(yè)名稱:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)班級(jí):學(xué)號(hào):學(xué)生姓名:指導(dǎo)教師:完成日期:2015年5月27日摘要本論文主要闡述了企業(yè)網(wǎng)站從前臺(tái)UI設(shè)計(jì)到頁(yè)面布局再到后臺(tái)各個(gè)功能的實(shí)現(xiàn)。首先,對(duì)整個(gè)互聯(lián)網(wǎng)行業(yè)進(jìn)行分析,講述網(wǎng)站設(shè)計(jì)時(shí)需要注意的細(xì)節(jié)問(wèn)題以及所采用的技術(shù)。本論文中的實(shí)例簡(jiǎn)易選課系統(tǒng),本系統(tǒng)是一個(gè)功能齊全的選課系統(tǒng),為方便教務(wù)人員管理學(xué)生課程信息而設(shè)計(jì)主要有三個(gè)角色,管理員、教師和學(xué)生,管理員可以對(duì)人員等信息進(jìn)行增刪改查;學(xué)生可以對(duì)選課信息增刪改查,修改密碼,導(dǎo)出課程表等操作;教師可以對(duì)課程信息進(jìn)行增刪改查,修改密碼等操作。開(kāi)發(fā)技術(shù)為完全面向?qū)ο蟮腜HP語(yǔ)言,數(shù)據(jù)庫(kù)采用了目前最流行的MYSQL數(shù)據(jù)庫(kù),PHP和MYSQL的完美結(jié)合。關(guān)鍵字:網(wǎng)站設(shè)計(jì)、PHP和MYSQL、數(shù)據(jù)庫(kù)目錄TOC\o"1-3"\h\u4011引言 129298第一章緒論 1217081.1設(shè)計(jì)背景及意義 1217081.2研究課題主要內(nèi)容 1254141.3選課系統(tǒng)常用的開(kāi)發(fā)技術(shù) 4211511.4系統(tǒng)建設(shè)流程 6219321.4.1前期準(zhǔn)備工作 6309631.4.3前端的的建設(shè) 79911第二章系統(tǒng)的具體實(shí)現(xiàn)技術(shù) 13265292.1開(kāi)發(fā)工具及環(huán)境 1329992.1.1操作系統(tǒng)平臺(tái):Windows7 13311452.1.2開(kāi)發(fā)技術(shù):PHP5.0 13136072.1.3數(shù)據(jù)庫(kù)系統(tǒng):MySQL 14第三章需求分析21723.1概述 18299433.2系統(tǒng)需求 18第四章系統(tǒng)設(shè)計(jì)方案64904.1系統(tǒng)設(shè)計(jì)方案總體概況 234.2數(shù)據(jù)庫(kù)環(huán)境搭建21936 2343364.3項(xiàng)目目錄結(jié)構(gòu)框架圖 245632第五章代碼的實(shí)現(xiàn) 2746675.1創(chuàng)建數(shù)據(jù)庫(kù) 28200175.1.1實(shí)現(xiàn)后臺(tái)管理員注冊(cè)與登錄 29103145.2內(nèi)容管理模塊 36205445.3數(shù)據(jù)庫(kù)工具 3712885第六章運(yùn)行的結(jié)果 4112885結(jié)論 4129288致謝 4229288參考文獻(xiàn) 43引言1.1系統(tǒng)開(kāi)發(fā)的背景隨著Internet的普及,越來(lái)越多的學(xué)校建立了自己的WWW網(wǎng)站。建設(shè)選課網(wǎng)站可為學(xué)校帶來(lái)什么?1、有利于提升學(xué)校形象;2、使學(xué)校具有網(wǎng)絡(luò)溝通能力;3、可以全面詳細(xì)地介紹學(xué)校的課程;6、方便同學(xué)的選課;7、可以利用網(wǎng)站及時(shí)得到學(xué)生反饋的信息。因此,學(xué)校進(jìn)行選課系統(tǒng)是很有必要的。選課系統(tǒng)可以讓學(xué)生了解學(xué)校的課程,發(fā)布最新動(dòng)態(tài),其中選課管理系統(tǒng)是構(gòu)成選課系統(tǒng)的一個(gè)重要組成部分,它擔(dān)負(fù)著雙層作用,一方面可以用來(lái)動(dòng)態(tài)發(fā)布有關(guān)新課程,另一方面又可以及時(shí)向?qū)W生的課程時(shí)間、成績(jī)。方便學(xué)生了解各類課程的信息。本文著重闡述了建立選課系統(tǒng)的流程和使用PHP+MYSQL技術(shù)建設(shè)選課系統(tǒng)后臺(tái)管理系統(tǒng)的方法。掌握了選課系統(tǒng)的后臺(tái)數(shù)據(jù)管理的方法就掌握了選課系統(tǒng)建設(shè)的核心。1.2研究課題主要內(nèi)容第二章技術(shù)介紹2.1開(kāi)發(fā)語(yǔ)言PHP系統(tǒng)的開(kāi)發(fā)語(yǔ)言主要是PHP語(yǔ)言,PHP是一門(mén)簡(jiǎn)單的語(yǔ)言并且很容易的掌握。PHP的介紹:PHP是HypertextPreprocessor的縮寫(xiě),是基于服務(wù)器端運(yùn)行的腳本程序語(yǔ)言,可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)和網(wǎng)頁(yè)之間的數(shù)據(jù)互換。PHP語(yǔ)言還可以單獨(dú)的運(yùn)行,也用在HTML中運(yùn)行,這樣更加方便了系統(tǒng)的設(shè)計(jì)。PHP語(yǔ)言可以在寫(xiě)字板和記事本中運(yùn)行。這樣就不用下載大量的安裝軟件了,也給初學(xué)者節(jié)約了大量的時(shí)間,不用再去學(xué)習(xí)別的軟件的安裝了,讓人有大量的時(shí)間去學(xué)習(xí)PHP語(yǔ)言了。PHP獨(dú)特的語(yǔ)法混合了C.java.CGL等以及PHP自創(chuàng)的語(yǔ)法。它可以比CGL更快速地執(zhí)行動(dòng)態(tài)頁(yè)面,也就是前臺(tái)的設(shè)計(jì)這樣更加的方便了語(yǔ)言的編寫(xiě)。用PHP做來(lái)的動(dòng)態(tài)頁(yè)面與其他的語(yǔ)言相比,PHP將程序語(yǔ)言寫(xiě)入到THML文檔中去執(zhí)行,執(zhí)行效率比完全生成標(biāo)記的CGI要高許多;PHP還可以寫(xiě)入后代碼,編譯可以加密和詳細(xì)的代碼運(yùn)行,使代碼運(yùn)行更快,快加的方便人們的學(xué)習(xí)。2.2html語(yǔ)言HTML(HyperTextMarkupLanguage超文本標(biāo)記語(yǔ)言)是一種用來(lái)制作超文本文檔的簡(jiǎn)單標(biāo)記語(yǔ)言。用HTML編寫(xiě)的超文本文檔稱為HTML文檔,它能獨(dú)立于各種操作系統(tǒng)平臺(tái)(如UNIX,WINDOWS等)。自1990年以來(lái)HTML就一直被用作WorldWideWeb上的信息表示語(yǔ)言,用于描述Homepage的格式設(shè)計(jì)和它與WWW上其它Homepage的連結(jié)信息。HTML文檔(即Homepage的源文件)是一個(gè)放置了標(biāo)記的ASCII文本文件,通常它帶有.html或htm的文件擴(kuò)展名。生成一個(gè)HTML文檔主要有以下三種途徑:1.手工直接編寫(xiě)(例如用你所喜愛(ài)的ASCII文本編輯器或其它HTML的編輯工具)。2.通過(guò)某些格式轉(zhuǎn)換工具將現(xiàn)有的其它格式文檔(如WORD文檔)轉(zhuǎn)換成HTML文檔。3.由Web服務(wù)器(或稱HTTP服務(wù)器)一方實(shí)時(shí)動(dòng)態(tài)地生成。HTML語(yǔ)言是通過(guò)利用各種標(biāo)記(tags)來(lái)標(biāo)識(shí)文檔的結(jié)構(gòu)以及標(biāo)識(shí)超(Hyperlink)的信息。雖然HTML語(yǔ)言描述了文檔的結(jié)構(gòu)格式,但并不能精確地定義文檔信息必須如何顯示和排列,而只是建議Web瀏覽器(如Mosiac,Netscape等)應(yīng)該如何顯示和排列這些信息,最終在用戶面前的顯示結(jié)果取決于Web瀏覽器本身的顯示風(fēng)格及其對(duì)標(biāo)記的解釋能力。這就是為什么同一文檔在不同的瀏覽器中展示的效果會(huì)不一樣。目前HTML語(yǔ)言的版本是2.0,它是基于SGML(StandardGeneralizedMarkupLanguage,標(biāo)準(zhǔn)廣義置標(biāo)語(yǔ)言,是一套用來(lái)描述數(shù)字化文檔的結(jié)構(gòu)并管理其內(nèi)容的復(fù)雜的規(guī)范)中的一個(gè)子集演變而來(lái)的。雖然下一版本的標(biāo)準(zhǔn)HTML3.0(也稱為HTML+)正在制訂之中,但其中某些部分的實(shí)驗(yàn)性標(biāo)準(zhǔn)草案已被廣泛采用,大多優(yōu)秀的Web瀏覽器(如Netscape等)都能解釋HTML3.0中的部分新標(biāo)記,因此在本章中介紹的一些HTML3.0新標(biāo)記均已被多數(shù)瀏覽器所接受2.3DIV簡(jiǎn)介與CSS簡(jiǎn)介<div>標(biāo)簽定義HTML文檔中的分隔(division)或部分(section)。<div>標(biāo)簽常用于組合塊級(jí)元素,以便通過(guò)樣式表來(lái)對(duì)這些元素進(jìn)行格式化。CSS目前最新版本為CSS3,是能夠真正做到網(wǎng)頁(yè)表現(xiàn)與內(nèi)容分離的一種樣式設(shè)計(jì)語(yǔ)言。相對(duì)于傳統(tǒng)HTML的表現(xiàn)而言,CSS能夠?qū)W(wǎng)頁(yè)中的對(duì)象的位置排版進(jìn)行像素級(jí)的精確控制,支持幾乎所有的字體字號(hào)樣式,擁有對(duì)網(wǎng)頁(yè)對(duì)象和模型樣式編輯的能力,并能夠進(jìn)行初步交互設(shè)計(jì),是目前基于文本展示最優(yōu)秀的表現(xiàn)設(shè)計(jì)語(yǔ)言。CSS能夠根據(jù)不同使用者的理解能力,簡(jiǎn)化或者優(yōu)化寫(xiě)法,針對(duì)各類人群,有較強(qiáng)的易讀性。2.4JavaScript簡(jiǎn)介JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端Web開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)給HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。2.5jQuery簡(jiǎn)介jQuery是一個(gè)兼容多瀏覽器的javascript框架,核心理念是writeless,domore(寫(xiě)得更少,做得更多)。jQuery在2006年1月由美國(guó)人JohnResig在紐約的barcamp發(fā)布,吸引了來(lái)自世界各地的眾多JavaScript高手加入,由DaveMethvin率領(lǐng)團(tuán)隊(duì)進(jìn)行開(kāi)發(fā)。如今,jQuery已經(jīng)成為最流行的javascript框架,在世界前10000個(gè)訪問(wèn)最多的網(wǎng)站中,有超過(guò)55%在使用jQuery。jQuery是免費(fèi)、開(kāi)源的,使用MIT許可協(xié)議。jQuery的語(yǔ)法設(shè)計(jì)可以使開(kāi)發(fā)者更加便捷,例如操作文檔對(duì)象、選擇DOM元素、制作動(dòng)畫(huà)效果、事件處理、使用Ajax以及其他功能。除此以外,jQuery提供API讓開(kāi)發(fā)者編寫(xiě)插件。其模塊化的使用方式使開(kāi)發(fā)者可以很輕松的開(kāi)發(fā)出功能強(qiáng)大的靜態(tài)或動(dòng)態(tài)網(wǎng)頁(yè)。2.6ajax簡(jiǎn)介AJAX即“AsynchronousJavascript+XML[1]”(異步JavaScript和XML[1]),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。AJAX=異步JavaScript和XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)。AJAX是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)。通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新。傳統(tǒng)的網(wǎng)頁(yè)(不使用AJAX)如果需要更新內(nèi)容,必須重載整個(gè)網(wǎng)頁(yè)面。2.7apache簡(jiǎn)介ApacheHTTPServer(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開(kāi)放源碼的網(wǎng)頁(yè)服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過(guò)簡(jiǎn)單的API擴(kuò)展,將Perl/Python等解釋器編譯到服務(wù)器中。2.8mysql簡(jiǎn)介MySQL是一個(gè)開(kāi)放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQLAB公司。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。2.9thinkPHP簡(jiǎn)介T(mén)hinkPHP是一個(gè)免費(fèi)開(kāi)源的,快速、簡(jiǎn)單的面向?qū)ο蟮妮p量級(jí)PHP開(kāi)發(fā)框架,遵循Apache2開(kāi)源協(xié)議發(fā)布,是為了敏捷WEB應(yīng)用開(kāi)發(fā)和簡(jiǎn)化企業(yè)應(yīng)用開(kāi)發(fā)而誕生的。ThinkPHP從誕生以來(lái)一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)的代碼的同時(shí),也注重易用性。并且擁有眾多的原創(chuàng)功能和特性,在社區(qū)團(tuán)隊(duì)的積極參與下,在易用性、擴(kuò)展性和性能方面不斷優(yōu)化和改進(jìn),眾多的典型案例確??梢苑€(wěn)定用于商業(yè)以及門(mén)戶級(jí)的開(kāi)發(fā)。[1]ThinkPHP是一個(gè)快速、兼容而且簡(jiǎn)單的輕量級(jí)國(guó)產(chǎn)PHP開(kāi)發(fā)框架,誕生于2006年初,原名FCS,2007年元旦正式更名為T(mén)hinkPHP,遵循Apache2開(kāi)源協(xié)議發(fā)布,從Struts結(jié)構(gòu)移植過(guò)來(lái)并做了改進(jìn)和完善,同時(shí)也借鑒了國(guó)外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的思想和TagLib(標(biāo)簽庫(kù))、RoR的ORM映射和ActiveRecord模式,封裝了CURD和一些常用操作,單一入口模式等,在模版引擎、緩存機(jī)制、認(rèn)證機(jī)制和擴(kuò)展性方面均有獨(dú)特的表現(xiàn),也已經(jīng)越來(lái)越多地受到國(guó)內(nèi)PHP開(kāi)發(fā)人員的認(rèn)可。第三章需求分析3.1概述本系統(tǒng)是一個(gè)功能齊全的選課系統(tǒng),為方便教務(wù)人員管理學(xué)生課程信息而設(shè)計(jì)主要有三個(gè)角色,管理員、教師和學(xué)生,管理員可以對(duì)人員等信息進(jìn)行增刪改查;學(xué)生可以對(duì)選課信息增刪改查,修改密碼,導(dǎo)出課程表等操作;教師可以對(duì)課程信息進(jìn)行增刪改查,修改密碼等操作。3.2系統(tǒng)需求管理員角色:功能需求模塊名稱管理員模塊兒優(yōu)先級(jí)1業(yè)務(wù)背景用于管理員管理系統(tǒng)教師學(xué)生等信息功能說(shuō)明1、登陸成功后三秒鐘跳轉(zhuǎn)到主頁(yè)2、輸入錯(cuò)誤的用戶名密碼給予紅色文字提示五秒鐘后跳轉(zhuǎn)回主頁(yè)3、管理員登陸后細(xì)分為四個(gè)小模塊兒:學(xué)生管理、教師管理、修改密碼、安全退出4、學(xué)生管理分為:管理學(xué)生信息、添加學(xué)生信息。管理學(xué)生信息里有編輯、刪除、翻頁(yè)的功能添加學(xué)生信息里有普通插入數(shù)據(jù),批量導(dǎo)入學(xué)生信息(.sql或.txt)的功能。5、教師管理分為:管理教師信息、添加教師信息。添加教師信息里有普通插入數(shù)據(jù),批量導(dǎo)入教師信息(.sql或.txt)的功能。6、修改密碼有簡(jiǎn)單的數(shù)據(jù)驗(yàn)證功能約束條件無(wú)相關(guān)查詢無(wú)其他需求無(wú)表3.1管理員模塊兒需求分析表教師角色:功能需求模塊名稱教師模塊兒優(yōu)先級(jí)2業(yè)務(wù)背景用于教師管理課程等信息功能說(shuō)明1、登陸成功后三秒鐘跳轉(zhuǎn)到主頁(yè)2、輸入錯(cuò)誤的用戶名密碼給予紅色文字提示五秒鐘后跳轉(zhuǎn)回主頁(yè)3、教師登陸后細(xì)分為四個(gè)小模塊兒:發(fā)布課程、管理課程、修改密碼、退出4、管理課程有編輯、刪除、翻頁(yè)的功能5、修改密碼有簡(jiǎn)單的數(shù)據(jù)驗(yàn)證功能約束條件無(wú)相關(guān)查詢無(wú)其他需求無(wú)表3.2教師模塊兒需求分析表學(xué)生角色:功能需求模塊名稱學(xué)生模塊兒優(yōu)先級(jí)2業(yè)務(wù)背景用于學(xué)生選課、管理個(gè)人選課信息等功能說(shuō)明1、登陸成功后三秒鐘跳轉(zhuǎn)到主頁(yè)2、輸入錯(cuò)誤的用戶名密碼給予紅色文字提示五秒鐘后跳轉(zhuǎn)回主頁(yè)3、學(xué)生登陸后細(xì)分為四個(gè)小模塊兒:選擇課程、已選課程、修改密碼、退出4、選擇課程有:根據(jù)課程編號(hào)或課程名稱搜索課程、選課、翻頁(yè)的功能5、已選課程有導(dǎo)出課程表、退課的功能5、修改密碼有簡(jiǎn)單的數(shù)據(jù)驗(yàn)證功能約束條件無(wú)相關(guān)查詢無(wú)其他需求無(wú)表3.3學(xué)生模塊兒需求分析表第四章系統(tǒng)設(shè)計(jì)方案4.1系統(tǒng)設(shè)計(jì)方案總體概括整個(gè)選課系統(tǒng)是圍繞著上一章的需求分析進(jìn)行設(shè)計(jì)的,系統(tǒng)采用BS構(gòu)架,整個(gè)系統(tǒng)運(yùn)行在windows操作系統(tǒng)上,采用apache服務(wù)器,數(shù)據(jù)庫(kù)是mysql編程語(yǔ)言采用php,并且運(yùn)用了php的輕量級(jí)框架thinkphp,前臺(tái)使用html腳本語(yǔ)言編寫(xiě),并且引入了thinkphp模板引擎,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)使用的是javascript,整個(gè)頁(yè)面的布局是采用的DIV+CSS技術(shù),統(tǒng)一由外部引入。4.2數(shù)據(jù)庫(kù)環(huán)境搭建數(shù)據(jù)庫(kù)采用mysql,因?yàn)檫@是一個(gè)比較小的管理系統(tǒng),mysql的性能卓越,完全可以勝任這樣的操作系統(tǒng),這個(gè)系統(tǒng)共有4個(gè)表分別命名為:info_admin、info_course、info_selectedinfo_student、info_teacher。表結(jié)構(gòu)如下:數(shù)據(jù)庫(kù):表4.1數(shù)據(jù)庫(kù)總體數(shù)據(jù)表info_admin數(shù)據(jù)表:表4.2info_admin數(shù)據(jù)表info_course表:表4.3info_course數(shù)據(jù)表info_selected表:表4.4info_selected數(shù)據(jù)表info_student表:表4.5info_student數(shù)據(jù)表info_teacher表:表4.6info_teacher數(shù)據(jù)表4.3項(xiàng)目目錄結(jié)構(gòu)框架圖整個(gè)系統(tǒng)是以thinkphp為框架的,xuanke為項(xiàng)目的名稱,項(xiàng)目名稱并不影響內(nèi)容,可以隨意改名,index.php是整個(gè)項(xiàng)目的入口文件,所有內(nèi)容都要從這里開(kāi)始myapp文件夾是整個(gè)項(xiàng)目的根目錄,它下面有六個(gè)子目錄:Common項(xiàng)目公共文件目錄,一般放置項(xiàng)目的公共函數(shù)Conf項(xiàng)目配置目錄,項(xiàng)目所有的配置文件都放在這里L(fēng)ang項(xiàng)目語(yǔ)言包目錄(可選如果不需要多語(yǔ)言支持可刪除)Lib項(xiàng)目類庫(kù)目錄,通常包括Action和Model子目錄Tpl項(xiàng)目模板目錄,支持模板主題Runtime項(xiàng)目運(yùn)行時(shí)目錄。Public文件夾為項(xiàng)目的公共目錄,其下有三個(gè)子目錄:css、images和js,這三個(gè)文件夾就是大家所熟知的樣式表,圖片庫(kù),和javascript文件ThinkPHP文件夾是框架的源代碼,不用修改,最下面的兩個(gè)是PHP的庫(kù)文件,同樣也不用修改。圖4.9文件圖雖然被標(biāo)注了錯(cuò)誤,但這并不是真正的錯(cuò)誤,我們利用thinkphp定義標(biāo)簽結(jié)構(gòu)的能力,改寫(xiě)了標(biāo)簽的結(jié)構(gòu)使得編輯器無(wú)法識(shí)別而報(bào)錯(cuò)。第五章代碼的實(shí)現(xiàn)5.1代碼實(shí)現(xiàn)概述thinkphp是基于mvc思想的框架,因此代碼也相應(yīng)的分為了三個(gè)層面,前臺(tái)表現(xiàn)層、控制器層和數(shù)據(jù)庫(kù)交互層。前臺(tái)表現(xiàn)層又運(yùn)用了css、javascript、ajax等技術(shù)實(shí)現(xiàn)良好的交互性,同時(shí)用到了前臺(tái)表現(xiàn)層用到了jqueryl等框架提升系統(tǒng)的功能,前臺(tái)還使用了thinkphp的模板引擎。在頁(yè)面引入thinkphp的變量,控制器層是系統(tǒng)后臺(tái)的邏輯核心,負(fù)責(zé)前臺(tái)數(shù)據(jù)與數(shù)據(jù)庫(kù)交互層的控制調(diào)度,數(shù)據(jù)庫(kù)交互層則是用來(lái)對(duì)數(shù)據(jù)的增刪改查。三部分合理協(xié)調(diào),共同實(shí)現(xiàn)了代碼5.2前臺(tái)表現(xiàn)層代碼的編寫(xiě)前臺(tái)html頁(yè)面是一個(gè)系統(tǒng)與人直接打交道的地方,系統(tǒng)用戶體驗(yàn)的好壞,第一感覺(jué)取決于前臺(tái)頁(yè)面的編寫(xiě),本系統(tǒng)一共有25個(gè)頁(yè)面,頁(yè)面目錄結(jié)構(gòu)如下:圖5.1html頁(yè)面目錄結(jié)構(gòu)圖所有頁(yè)面分為三部分:Admin、Home、Public,Admin是管理員相關(guān)的模板,Home是教師和學(xué)生相關(guān)的模板,Public則是一些公用的模板。頁(yè)面采用表現(xiàn)與代碼分離,所有css都通過(guò)外部引入的方式與頁(yè)面相關(guān)聯(lián)。JS文件根據(jù)需要選擇在文件中加載或者外部引用。我們選擇行解讀一些模板的代碼,例如:admin.html頭文件代碼如下:<head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>管理界面</title><linkhref="__PUBLIC__/css/admin.css"rel="stylesheet"type="text/css"/><scripttype="text/javascript"src="__PUBLIC__/js/jquery.js"></script><scripttype="text/javascript">$(function(){$("li:has(ul)").find("ul").prev().click(function(){$(this).next().toggle();});$("li:has(ul)").find("ul").hide();});</script></head>代碼設(shè)置了字符集為UTF8,標(biāo)題為管理界面,引入了外部的admin.css,jquery.js,同時(shí),還書(shū)寫(xiě)了一段內(nèi)部的js代碼,這樣保證了靜態(tài)頁(yè)和樣式的分離,并且靈活運(yùn)用了js文件不同位置的優(yōu)勢(shì),降低了頁(yè)面的耦合度提高了程序的運(yùn)行效率。Login.html中表單代碼如下:<formaction="__URL__/check_login"target='_self'id="loginForm"method="post"name="myForm"onSubmit="returncheckForm();"> <h3>管理系統(tǒng)</h3> <labelfor="username"><span>用戶名:</span><inputid="username"name="username"type="text"/></label> <labelfor="password"><span>密    碼:</span><inputid="password"type="password"name="password"/></label> <divid="submit"><inputname="submit"type="submit"class="bt"value="登錄"/> </div></form>表單的代碼和通常的表單編寫(xiě)沒(méi)有什么區(qū)別,post方式提交,主要是注意這里面的thinkphp常量:__URL__代表當(dāng)前控制器,這是一個(gè)很常用很方便的常量,免去了提交路徑帶來(lái)的困擾。onSubmit="returncheckForm();"意思是提交表單的任務(wù)交給了checkForm這個(gè)js的函數(shù),它進(jìn)行了一些簡(jiǎn)單的表單驗(yàn)證,如果沒(méi)問(wèn)題后提交表單。5.3控制器層代碼的編寫(xiě)控制器是負(fù)責(zé)數(shù)據(jù)調(diào)度業(yè)務(wù)邏輯的,這里包含了所有系統(tǒng)的業(yè)務(wù)邏輯語(yǔ)句一個(gè)控制器可以有多個(gè)方法每一個(gè)方法完成一個(gè)獨(dú)立的功能,里面有很多方法,每個(gè)方法都有其獨(dú)立的功能,本系統(tǒng)不大,一共寫(xiě)了兩個(gè)控制器,一個(gè)Admin,一個(gè)Home,其中Admin是用來(lái)控制管理員的各種操作的,而Home控制器是用來(lái)控制教師和學(xué)生的各種操作的??刂破魑募拿鐖D:圖5.2控制器文件命名圖控制器是一個(gè)類文件,如:classIndexActionextendsAction這是繼承了Action這個(gè)類的一個(gè)類文件在里面可以定義各種方法來(lái)起到對(duì)整個(gè)系統(tǒng)的控制作用。例如:functioncheckTeac_logined(){//檢測(cè)教師是否已經(jīng)登錄 session_start(); $user=M('Teacher'); $condition['id']=$_SESSION['userid']; $us=$user->where($condition)->find();if(!$us){$url=U('login');$this->assign("jumpUrl",$url);$this->error("還沒(méi)有登錄??!");}}這是一個(gè)檢查教師是否登錄的方法session_start();是啟動(dòng)了session,$user=M('Teacher');是定義了一個(gè)針對(duì)Techer這個(gè)數(shù)據(jù)庫(kù)表的模型,下面會(huì)提到什么是模型,然后去查sessionid是不是存在表中,根據(jù)結(jié)果做出不同的反應(yīng)。5.4數(shù)據(jù)庫(kù)交互層代碼的編寫(xiě)數(shù)據(jù)庫(kù)交互層是對(duì)數(shù)據(jù)的增刪改查,首先要連接數(shù)據(jù)庫(kù),thinkphp的數(shù)據(jù)庫(kù)連接實(shí)在配置文件config.php中定義的同時(shí)我們引入了另外一個(gè)配置文件install_config.php.config.php文件代碼如下:<?php$install_config=include("install_config.php");//安裝的配置信息$config2=array('APP_DEBUG'=>false,'DB_TYPE'=>'mysql','DB_PORT'=>3306,'DB_PREF

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論