版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-36- 第2章系統(tǒng)需求分析2.1系統(tǒng)需求分析隨著科學(xué)的進(jìn)步,電子商務(wù)也發(fā)展的非常迅速,人們追求的是方便快捷的生活方式,通過Internet選購(gòu)商品,不需要花費(fèi)太多的時(shí)間去逛商場(chǎng),坐在電腦前就可以買到喜歡的商品,很符合人們的心愿。本系統(tǒng)的關(guān)鍵是在具備基本功能的基礎(chǔ)上,保證操作簡(jiǎn)單以及界面美觀,并要顧客很快適應(yīng)系統(tǒng)的同時(shí)考慮系統(tǒng)的安全性。2.2系統(tǒng)可行性分析在開發(fā)項(xiàng)目之前需要進(jìn)行可行性分析,以減少項(xiàng)目的開發(fā)風(fēng)險(xiǎn)??尚行苑治鲋饕ń?jīng)濟(jì)可行性,技術(shù)可行性,操作可行性等。(1)經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性主要是對(duì)項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià)。本網(wǎng)站開發(fā)只需要計(jì)算機(jī)、相關(guān)開發(fā)軟件和資料的支持。本系統(tǒng)開發(fā)簡(jiǎn)單,使用方便,操作簡(jiǎn)單,用戶不需要進(jìn)行專業(yè)培訓(xùn)即可使用本系統(tǒng)。該網(wǎng)站投入使用后將方便商家和用戶的使用并且可以節(jié)約大量人力物力資源,所以本網(wǎng)站的開發(fā)在經(jīng)濟(jì)上是可行的。(2)技術(shù)可行性技術(shù)可行性主要考慮現(xiàn)有的硬軟件平臺(tái)能否滿足開發(fā)者的需要,現(xiàn)有的技術(shù)條件能否順利完成開發(fā)工作。本網(wǎng)站采用PHP+MySQL+Apach開發(fā)環(huán)境。PHP是一種流行的安全穩(wěn)定的網(wǎng)頁(yè)開發(fā)技術(shù),MySQL數(shù)據(jù)庫(kù)是性能卓越的數(shù)據(jù)庫(kù),非常適合中小型網(wǎng)站的開發(fā)。Apach是功能強(qiáng)大的開源網(wǎng)頁(yè)服務(wù)器。PHP,MySQL和Apache搭配可組成良好的開發(fā)環(huán)境。本網(wǎng)站使用Eclipse工具開發(fā)。Eclipse是一個(gè)開放源代碼的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。所以本網(wǎng)站的開發(fā)在經(jīng)濟(jì)上是可行的。(3)操作可行性隨著科學(xué)技術(shù)的日益發(fā)展,互聯(lián)網(wǎng)技術(shù)已經(jīng)在各個(gè)領(lǐng)域得到了廣泛地應(yīng)用。傳統(tǒng)的銷售方式存在的問題越來越明顯,而信息化、網(wǎng)絡(luò)化的網(wǎng)上購(gòu)物商城則凸顯出巨大的優(yōu)勢(shì)。該網(wǎng)站功能強(qiáng)大、操作方便,用戶只需熟悉基本的上網(wǎng)操作即可使用該系統(tǒng)。所以該網(wǎng)站的開發(fā)在操作上是可行的。綜上所述,網(wǎng)上購(gòu)物商城在經(jīng)濟(jì)上,技術(shù)上和操作上都是可行的,且開發(fā)該網(wǎng)站會(huì)帶來一定的經(jīng)濟(jì)效益和社會(huì)效益。第3章系統(tǒng)概述3.1系統(tǒng)的開發(fā)背景與意義3.1.1系統(tǒng)開發(fā)的背景21世紀(jì)的今天,網(wǎng)絡(luò)在人們生活中已經(jīng)日益盛行,越來越多人已經(jīng)離不開網(wǎng)絡(luò)。人們已經(jīng)不再滿足于了解最新信息,查找資料等一些傳統(tǒng)的網(wǎng)絡(luò)使用方式,而是過渡到娛樂,購(gòu)物等新興的網(wǎng)民生活。網(wǎng)上購(gòu)物,成了當(dāng)今廣大群眾的時(shí)尚。而商家,也逐漸重視起網(wǎng)絡(luò)的作用,充分利用起網(wǎng)絡(luò)的低成本,高效性來宣傳企業(yè)形象和銷售商品。因此,為了方便廣大群眾,滿足商家的需求,有必要建立一個(gè)業(yè)務(wù)發(fā)展框架系統(tǒng),規(guī)范網(wǎng)上業(yè)務(wù)的開展,提供完善的網(wǎng)絡(luò)資源,安全保障,安全的網(wǎng)上支付和有效的管理機(jī)制,有效地實(shí)現(xiàn)資源共享,實(shí)現(xiàn)真正的電子商務(wù)。為此我專門構(gòu)建了estore電子商城系統(tǒng)。estore電子商城是基于WEB開發(fā)的一套B2C的電子商務(wù)網(wǎng)站。B2C也就是BusinesstoCustomers[2]。本系統(tǒng)以構(gòu)建網(wǎng)上購(gòu)物網(wǎng)站為目標(biāo),可以讓顧客通過瀏覽網(wǎng)站購(gòu)物,選擇自己滿意的商品并下單購(gòu)買。不但能讓所有用戶能夠方便快速買到種類繁多,價(jià)廉質(zhì)優(yōu)的商品,而且也可以節(jié)省大量的時(shí)間和金錢。讓賣方在有效控制成本的同時(shí),大幅提升銷量并且不受地域與時(shí)間的限制。利用現(xiàn)代化的電子及網(wǎng)絡(luò)技術(shù),為企業(yè)和客戶搭建一個(gè)互動(dòng)平臺(tái)。降低企業(yè)運(yùn)營(yíng)成本的同時(shí),方便客戶購(gòu)物,達(dá)到雙贏的目的。一方面,企業(yè)減少了地面店鋪的租憑費(fèi)用,減少了宣傳貨物的廣告費(fèi)用,減少了雇傭員工的費(fèi)用;另一方面,電子及網(wǎng)絡(luò)技術(shù)使得企業(yè)運(yùn)作更加快捷方便,為企業(yè)贏得寶貴的時(shí)間和商機(jī)[3]。對(duì)于客戶來說,客戶省去了逛實(shí)體商城的時(shí)間,同時(shí)可以將自己的需求迅速地反饋給企業(yè),使自己的需求可以更好地得到滿足。3.1.2系統(tǒng)開發(fā)的意義網(wǎng)上購(gòu)物商城系統(tǒng)的建設(shè),可以建立起電子商務(wù)服務(wù)的門戶站點(diǎn),是現(xiàn)實(shí)社會(huì)到網(wǎng)絡(luò)社會(huì)的真正體現(xiàn),為廣大網(wǎng)上商家以及網(wǎng)絡(luò)客戶提供一個(gè)適合中國(guó)國(guó)情的電子商務(wù)網(wǎng)上生存環(huán)境和商業(yè)運(yùn)作空間[4]。網(wǎng)上購(gòu)物商城的建設(shè),不僅僅是初級(jí)網(wǎng)上購(gòu)物的實(shí)現(xiàn),它能夠有效地在Internet上構(gòu)架安全的和易于擴(kuò)展的業(yè)務(wù)框架體現(xiàn),實(shí)現(xiàn)企業(yè)對(duì)企業(yè)、企業(yè)對(duì)用戶以及用戶到用戶等應(yīng)用環(huán)境,推動(dòng)電子商務(wù)在中國(guó)的發(fā)展。近年來,我國(guó)電子商務(wù)發(fā)展非常迅速。在加入WTO后,市場(chǎng)將更加開放,我們的企業(yè)不僅僅是只面對(duì)國(guó)內(nèi)的用戶了,而是全面面對(duì)全世界了,所以企業(yè)為了花最小的代價(jià)和成本來擴(kuò)大自己的影響力和市場(chǎng)力,大多選擇導(dǎo)入電子商務(wù),所以導(dǎo)入電子商務(wù)的企業(yè)比例將持續(xù)增加,中國(guó)將成為電子商務(wù)在全球發(fā)展最快,潛力最大的地區(qū)之一[5]。本系統(tǒng)還涉及到如何配置軟件環(huán)境變量,如何建立數(shù)據(jù)庫(kù),如何使用MySQL數(shù)據(jù)庫(kù)等操作。通過本設(shè)計(jì),可以鞏固自己所學(xué)專業(yè)知識(shí),同時(shí)可以增強(qiáng)自己的檢索資料能力,實(shí)際動(dòng)手能力,分析問題的能力,解決問題的能力。3.2系統(tǒng)的功能概述estore電子商城主要實(shí)現(xiàn)網(wǎng)上購(gòu)物的整個(gè)流程,用戶進(jìn)入該商城,可以看到整個(gè)商城的首頁(yè)面,如果有賬號(hào),可以直接在首頁(yè)面進(jìn)行登錄,如果還未注冊(cè)賬號(hào),要先注冊(cè)成為estore電子商城的合法用戶,注冊(cè)信息主要包括昵稱,密碼,頭像,有效證件等信息,注冊(cè)成功后,則用戶就可以登錄estore電子商城首頁(yè),在首頁(yè)用戶可以隨意瀏覽商品,可以通過商城的商品展示,查找相關(guān)商品,也可以通過分類來進(jìn)行商品購(gòu)買,當(dāng)點(diǎn)擊商品時(shí)就可以瀏覽它的詳細(xì)信息,包括市場(chǎng)價(jià)格,本店價(jià)格,庫(kù)存量等一系列信息,如果遇到想要購(gòu)買的商品時(shí),登錄用戶就可以通過頁(yè)面右下角的阿里旺旺和商家進(jìn)行聯(lián)系,然后通過購(gòu)物車功能,把想購(gòu)買的商品先放進(jìn)購(gòu)物車中然后可以選擇結(jié)賬或者繼續(xù)購(gòu)買商品;當(dāng)用戶找到全部想要購(gòu)買的商品后,可以對(duì)購(gòu)買的商品進(jìn)行數(shù)量上的修改,當(dāng)所有都確定后,用戶可以點(diǎn)擊結(jié)賬按鈕,進(jìn)行結(jié)賬服務(wù);結(jié)賬時(shí),系統(tǒng)會(huì)再一次要求用戶填寫資料(聯(lián)系電話、地址等),確保能把購(gòu)買商品送到顧客那里,并生成訂單,之后用戶還可以在訂單管理中查看到自己的訂單信息。點(diǎn)擊注銷之后,系統(tǒng)會(huì)提示退出成功,至此就完成了一次完整的購(gòu)物流程。3.3系統(tǒng)的設(shè)計(jì)原則和要求概述參照各模塊的功能與具體的特點(diǎn),我們?cè)O(shè)計(jì)的整個(gè)網(wǎng)上購(gòu)物網(wǎng)站應(yīng)達(dá)到以下目的:①穩(wěn)定性。整個(gè)系統(tǒng)應(yīng)能穩(wěn)定運(yùn)行,硬件配置的局部改變不會(huì)影響整體的正常運(yùn)行,其它系統(tǒng)的差錯(cuò)不會(huì)導(dǎo)致辦公自動(dòng)化系統(tǒng)無法正確運(yùn)作。②準(zhǔn)確性。系統(tǒng)管理員按操作指南操作產(chǎn)生的權(quán)限數(shù)據(jù),和所有前臺(tái)用戶的操作與數(shù)據(jù)庫(kù)原定產(chǎn)生變化的實(shí)際狀態(tài)應(yīng)嚴(yán)格保持一致,杜絕錯(cuò)誤記錄,數(shù)據(jù)錯(cuò)位等情況的出現(xiàn)。③安全性。所有數(shù)據(jù)定時(shí)備份,在數(shù)據(jù)庫(kù)中預(yù)留一個(gè)或多個(gè)最高權(quán)限帳戶名及密碼,避免用戶誤操作而造成不必要的損失。④可維護(hù)性。界面風(fēng)格或其它可能的參數(shù)化改變(如增加新功能等)不需要重新編寫源代碼,用戶可以自己完成。⑤獨(dú)立性。每一個(gè)功能模塊盡量獨(dú)立,減少與其它模塊之間的耦合性,盡可能做到按客戶的需求可以選擇安裝那些模塊,不安裝那些模塊。⑥易使用性。網(wǎng)上購(gòu)物網(wǎng)站的界面與操作人員的交互性好,與主機(jī)間使用Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu)。第4章系統(tǒng)的開發(fā)環(huán)境及相關(guān)技術(shù)4.1系統(tǒng)的開發(fā)工具及環(huán)境操作系統(tǒng):Windows7;開發(fā)工具:Eclipse;編程語(yǔ)言:PHP;數(shù)據(jù)庫(kù)系統(tǒng):MySQL;4.2系統(tǒng)的相關(guān)技術(shù)簡(jiǎn)介4.2.1PHP技術(shù)介紹PHP(PHP:HypertextPreprocessor的縮寫,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語(yǔ)言。語(yǔ)法吸收了C語(yǔ)言,Java和Perl的特點(diǎn),入門門檻較低,易于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域[6]。PHP的文件后綴名為.php。PHP也是一種HTML內(nèi)嵌式的語(yǔ)言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格有類似于C語(yǔ)言,被廣泛地運(yùn)用。PHP可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多[7]。PHP的特性包括:①PHP獨(dú)特的語(yǔ)法混合了C,Java,Perl以及PHP自創(chuàng)新的語(yǔ)法。②PHP可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)——?jiǎng)討B(tài)頁(yè)面方面,與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn)。③PHP支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。④最重要的是PHP可以用C,C++進(jìn)行程序的擴(kuò)展![8]PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。PHP其優(yōu)勢(shì)為:①開放的源代碼:所有的PHP源代碼事實(shí)上都可以得到。②PHP是免費(fèi)的:和其它技術(shù)相比,PHP本身免費(fèi)且是開源代碼。③PHP的快捷性:程序開發(fā)快,運(yùn)行快,技術(shù)本身學(xué)習(xí)快。嵌入于HTML:因?yàn)镻HP可以被嵌入于HTML語(yǔ)言,它相對(duì)于其他語(yǔ)言。編輯簡(jiǎn)單,實(shí)用性強(qiáng),更適合初學(xué)者。④跨平臺(tái)性強(qiáng):由于PHP是運(yùn)行在服務(wù)器端的腳本,可以運(yùn)行在UNIX,LINUX,WINDOWS,MacOS下。⑤效率高:PHP消耗相當(dāng)少的系統(tǒng)資源。⑥圖像處理:用PHP動(dòng)態(tài)創(chuàng)建圖像。⑦面向?qū)ο螅涸赑HP4、PHP5中,面向?qū)ο蠓矫娑加辛撕艽蟮母倪M(jìn),PHP完全可以用來開發(fā)大型商業(yè)程序。⑧專業(yè)專注:PHP支持腳本語(yǔ)言為主,同為類C語(yǔ)言。[9]4.2.2MySQL數(shù)據(jù)庫(kù)介紹MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前屬于Oracle公司。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),這樣就增加了速度并提高了靈活性[10]。MySQL的SQL語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了雙授權(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,SQLServer等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQLCluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。LAMP目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP和LNMP,即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫(kù),PHP/Perl/Python作為服務(wù)器端腳本解釋器[11]。由于這四個(gè)軟件都是免費(fèi)或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢,就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。該系統(tǒng)特性為:①使用C和C++編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。②支持AIX,F(xiàn)reeBSD,HP-UX,Linux,MacOS,NovellNetware,OpenBSD,OS/2Wrap,Solaris,Windows等多種操作系統(tǒng)。③為多種編程語(yǔ)言提供了API。這些編程語(yǔ)言包括C,C++,Python,Java,Perl,PHP,Eiffel,Ruby和Tcl等。④支持多線程,充分利用CPU資源。⑤優(yōu)化的SQL查詢算法,有效地提高查詢速度。⑥既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中。⑦提供多語(yǔ)言支持,常見的編碼如中文的GB2312,BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。⑧提供TCP/IP,ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。⑨提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。⑩支持大型的數(shù)據(jù)庫(kù)??梢蕴幚?yè)碛猩锨f條記錄的大型數(shù)據(jù)庫(kù)。4.2.3Smarty模板介紹Smarty是一個(gè)使用PHP寫出來的模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離[12]。簡(jiǎn)單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會(huì)影響到前端人員的頁(yè)面設(shè)計(jì),前端人員重新修改頁(yè)面不會(huì)影響到程序的程序邏輯,這在多人合作的項(xiàng)目中顯的尤為重要。早在1999年后期,就已經(jīng)開始為模板引擎寫說明文檔。在完成這個(gè)文檔之后,開始嘗試用C寫一個(gè)模板引擎,并有希望被包含到PHP里去。在撞上了許多的技術(shù)難題的同時(shí),“什么是模板應(yīng)該做的,什么不該做”這個(gè)問題,也被熱烈的討論著。從這些經(jīng)驗(yàn)決定應(yīng)該用PHP將模板引擎寫成一個(gè)類,讓任何覺得合適的人使用它。所以就有了Smarty。(注:這個(gè)類以前從來沒有公開發(fā)表過)。這個(gè)類幾乎達(dá)到了我們所有的要求:常規(guī)變量替換,支持包括其他模板,使用配置文件集成設(shè)置,嵌入PHP代碼,限制‘if’語(yǔ)句的作用,還有更多的可以多層嵌套的健壯的動(dòng)態(tài)區(qū)塊[13]。它用常規(guī)表達(dá)式做到這一切,于是代碼變得相當(dāng)令人費(fèi)解。在每次調(diào)用的時(shí)候,都要去解析那些語(yǔ)法和常規(guī)表達(dá)式,于是在大型應(yīng)用的時(shí)候,它顯然慢了下來。在程序員的眼光看來,最大的問題還是使用PHP腳本建立和處理模板和動(dòng)態(tài)區(qū)塊的所有必要工作。我們應(yīng)該如何使他變得更簡(jiǎn)單?我們可以想象Smarty應(yīng)該有怎樣的最后表現(xiàn)。我們知道PHP代碼如果沒有了模板解析的開銷將有多快,我們也知道從一般的美工看來PHP語(yǔ)言是多么的“恐怖”,然而這一切可以被一種更簡(jiǎn)單的模板語(yǔ)法掩飾掉。我們應(yīng)該怎樣把這兩種方法的長(zhǎng)處結(jié)合起來?于是,Smarty誕生了……Smarty的主要有點(diǎn)是:①速度:采用Smarty編寫的程序可以獲得最大速度的提高,這一點(diǎn)是相對(duì)于其它的模板引擎技術(shù)而言的。②編譯型:采用Smarty編寫的程序在運(yùn)行時(shí)要編譯成一個(gè)非模板技術(shù)的PHP文件,這個(gè)文件采用了PHP與HTML混合的方式,在下一次訪問模板時(shí)將WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)文件中,而不再進(jìn)行模板重新編譯(在源程序沒有改動(dòng)的情況下)③緩存技術(shù):Smarty選用的一種緩存技術(shù),它可以將用戶最終看到的HTML文件緩存成一個(gè)靜態(tài)的HTML頁(yè),當(dāng)設(shè)定Smarty的cache屬性為true時(shí),在Smarty設(shè)定的cachetime期內(nèi)將用戶的WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)靜態(tài)的HTML文件中來,這相當(dāng)于調(diào)用一個(gè)靜態(tài)的HTML文件。④插件技術(shù):Smarty可以自定義插件。插件實(shí)際就是一些自定義的函數(shù)。⑤模板中可以使用if/elseif/else/endif。在模板文件使用判斷語(yǔ)句可以非常方便的對(duì)模板進(jìn)行格式重排。不適合使用Smarty的地方:①需要實(shí)時(shí)更新的內(nèi)容。例如像股票顯示,它需要經(jīng)常對(duì)數(shù)據(jù)進(jìn)行更新,這類型的程序使用smarty會(huì)使模板處理速度變慢。②小項(xiàng)目。小項(xiàng)目因?yàn)轫?xiàng)目簡(jiǎn)單而美工與程序員兼于一人的項(xiàng)目,使用Smarty會(huì)在一定程度上喪失PHP開發(fā)迅速的優(yōu)點(diǎn)。4.2.4HTML+CSS介紹HTML(HyperTextMark-upLanguage),即超文本標(biāo)記語(yǔ)言或超文本鏈接標(biāo)示語(yǔ)言,是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語(yǔ)言,也是構(gòu)成網(wǎng)頁(yè)文檔的主要語(yǔ)言。設(shè)計(jì)HTML語(yǔ)言的目的是為了能把存放在一臺(tái)電腦中的文本或圖形與另一臺(tái)電腦中的文本或圖形方便地聯(lián)系在一起,形成有機(jī)的整體,人們不用考慮具體信息是在當(dāng)前電腦上還是在網(wǎng)絡(luò)的其它電腦上。我們只需使用鼠標(biāo)在某一文檔中點(diǎn)取一個(gè)圖標(biāo),Internet就會(huì)馬上轉(zhuǎn)到與此圖標(biāo)相關(guān)的內(nèi)容上去,而這些信息可能存放在網(wǎng)絡(luò)的另一臺(tái)電腦中。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動(dòng)畫、聲音、表格、鏈接等。HTML的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內(nèi)容[14]。另外,HTML是網(wǎng)絡(luò)的通用語(yǔ)言,一種簡(jiǎn)單、通用的全置標(biāo)記語(yǔ)言。它允許網(wǎng)頁(yè)制作人建立文本與圖片相結(jié)合的復(fù)雜頁(yè)面,這些頁(yè)面可以被網(wǎng)上任何其他人瀏覽到,無論使用的是什么類型的電腦或?yàn)g覽器。HTML標(biāo)簽通常是英文詞匯的全稱(如塊引用:blockquote)或縮略語(yǔ)(如“p”代表Paragraph),但它們的與一般文本有區(qū)別,因?yàn)樗鼈兎旁趩螘?hào)里。故Paragragh標(biāo)簽是<p>,塊引用標(biāo)簽是<blockquote>。有些標(biāo)簽說明頁(yè)面如何被格式化(例如,開始一個(gè)新段落),其他則說明這些詞如何顯示(<b>使文字變粗)還有一些其他標(biāo)簽提供在頁(yè)面上不顯示的信息--例如標(biāo)題。關(guān)于標(biāo)簽,需要記住的是,它們是成雙出現(xiàn)的。每當(dāng)使用一個(gè)標(biāo)簽--如<blockquote>,則必須以另一個(gè)標(biāo)簽</blockquote>將它關(guān)閉。注意“blockquote”前的斜杠,那就是關(guān)閉標(biāo)簽與打開標(biāo)簽的區(qū)別。但是也有一些標(biāo)簽例外。比如,<input>標(biāo)簽就不需要。基本HTML頁(yè)面以DOCTYPE開始,它聲明文檔的類型,且它之前不能有任何內(nèi)容(包括換行符和空格),否則將使文檔聲明無效,接著是<html>標(biāo)簽,以</html>結(jié)束。在它們之間,整個(gè)頁(yè)面有兩部分--標(biāo)題和正文。標(biāo)題詞--夾在<head>和</head>標(biāo)簽之間--這個(gè)詞語(yǔ)在打開頁(yè)面時(shí)出現(xiàn)在屏幕底部最小化的窗口。正文則夾在<body>和</body>之間--即所有頁(yè)面的內(nèi)容所在。頁(yè)面上顯示的任何東西都包含在這兩個(gè)標(biāo)簽之中[15]。CascadingStyleSheets(層疊樣式表),從九十年代初HTML被發(fā)明開始樣式表就以各種形式出現(xiàn)了,不同的瀏覽器結(jié)合了它們各自的樣式語(yǔ)言,讀者可以使用這些樣式語(yǔ)言來調(diào)節(jié)網(wǎng)頁(yè)的顯示方式。一開始樣式表是給讀者用的,最初的HTML版本只含有很少的顯示屬性,讀者來決定網(wǎng)頁(yè)應(yīng)該怎樣被顯示。但隨著HTML的成長(zhǎng),為了滿足設(shè)計(jì)師的要求,HTML獲得了很多顯示功能。隨著這些功能的增加外來定義樣式的語(yǔ)言越來越?jīng)]有意義了。1994年哈坤?利提出了CSS的最初建議。伯特?波斯(BertBos)當(dāng)時(shí)正在設(shè)計(jì)一個(gè)叫做Argo的瀏覽器,他們決定一起合作設(shè)計(jì)CSS。當(dāng)時(shí)已經(jīng)有過一些樣式表語(yǔ)言的建議了,但CSS是第一個(gè)含有“層疊”的主意的。在CSS中,一個(gè)文件的樣式可以從其它的樣式表中繼承下來。讀者在有些地方可以使用他自己更喜歡的樣式,在其他地方則繼承,或“層疊”作者的樣式。這種層疊的方式使作者和讀者都可以靈活地加入自己的設(shè)計(jì),混合各人的愛好。哈坤于1994年在芝加哥的一次會(huì)議上第一次展示了CSS的建議,1995年他與波斯一起再次展示這個(gè)建議。當(dāng)時(shí)W3C剛剛建立,W3C對(duì)CSS的發(fā)展很感興趣,它為此組織了一次討論會(huì)。哈坤、波斯和其他一些人(比如微軟的托馬斯?雷爾登)是這個(gè)項(xiàng)目的主要技術(shù)負(fù)責(zé)人。1996年底,CSS已經(jīng)完成。1996年12月CSS要求的第一版本被出版。1997年初,W3C內(nèi)組織了專門管CSS的工作組,其負(fù)責(zé)人是克里斯?里雷。這個(gè)工作組開始討論第一版中沒有涉及到的問題,其結(jié)果是1998年5月出版的第二版要求。到2004年為止,第三版還未出版。1996年W3C正式推出了CSS1。1998年W3C正式推出了CSS2。CSS2.1是W3C現(xiàn)在正在推薦使用的。CSS3現(xiàn)在還處于開發(fā)中。4.2.5Javascript介紹JS是一種由Netscape的LiveScript發(fā)展而來的原型化繼承的面向?qū)ο蟮膭?dòng)態(tài)類型的區(qū)分大小寫的客戶端腳本語(yǔ)言,主要目的是為了解決服務(wù)器端語(yǔ)言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當(dāng)時(shí)服務(wù)端需要對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗(yàn)證步驟浪費(fèi)的時(shí)間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗(yàn)證的基本功能。JavaScript的正式名稱是"ECMAScript"。這個(gè)標(biāo)準(zhǔn)由ECMA組織發(fā)展和維護(hù)。ECMA-262是正式的JavaScript標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)基于JavaScript(Netscape)和Jscript(Microsoft)。Netscape(Navigator2.0)的BrendanEich發(fā)明了這門語(yǔ)言,從1996年開始,已經(jīng)出現(xiàn)在所有的Netscape和Microsoft瀏覽器中。ECMA-262的開發(fā)始于1996年,在1997年7月,ECMA會(huì)員大會(huì)采納了它的首個(gè)版本。在1998年,該標(biāo)準(zhǔn)成為了國(guó)際ISO標(biāo)準(zhǔn)(ISO/IEC16262)。這個(gè)標(biāo)準(zhǔn)仍然處于發(fā)展之中。在2005年12月,ECMA發(fā)布ECMA-357標(biāo)準(zhǔn)(ISO/IEC22537)出臺(tái),主要增加對(duì)擴(kuò)展標(biāo)記語(yǔ)言XML的有效支持。能夠具有交互性,能夠包含更多活躍的元素,就有必要在網(wǎng)頁(yè)中嵌入其它的技術(shù)。如:Javascript,VBScript,DocumentObjectModel(DOM,文檔對(duì)象模型)、Layers和CascadingStyleSheets(CSS,層疊樣式表),這里主要講Javascript。那么Javascript是什么東東?Javascript就是適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言,如今越來越廣泛地使用于Internet網(wǎng)頁(yè)制作上。Javascript是由Netscape公司開發(fā)的一種腳本語(yǔ)言(scriptinglanguage),或者稱為描述語(yǔ)言。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁(yè)。Javascript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。運(yùn)行用Javascript編寫的程序需要能支持Javascript語(yǔ)言的瀏覽器。Netscape公司Navigator3.0以上版本的瀏覽器都能支持Javascript程序,微軟公司InternetExplorer3.0以上版本的瀏覽器基本上支持Javascript。微軟公司還有自己開發(fā)的Javascript,稱為JScript。Javascript和Jscript基本上是相同的,只是在一些細(xì)節(jié)上有出入。Javascript短小精悍,又是在客戶機(jī)上執(zhí)行的,大大提高了網(wǎng)頁(yè)的瀏覽速度和交互能力。同時(shí)它又是專門為制作Web網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言。JavaScript使網(wǎng)頁(yè)增加互動(dòng)性。JavaScript使有規(guī)律地重復(fù)的HTML文段簡(jiǎn)化,減少下載時(shí)間。JavaScript能及時(shí)響應(yīng)用戶的操作,對(duì)提交表單做即時(shí)的檢查,無需浪費(fèi)時(shí)間交由CGI驗(yàn)證[16]。JavaScript的特點(diǎn)是無窮無盡的,只要你有創(chuàng)意。第5章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)5.1系統(tǒng)的功能模塊圖5.1系統(tǒng)功能模塊圖(1)用戶注冊(cè)功能:用戶可注冊(cè)自己的賬號(hào),包括昵稱,密碼,頭像選擇等基本信息。(2)用戶登陸功能:用戶輸入已注冊(cè)的賬號(hào)、密碼,驗(yàn)證成功后登陸estore購(gòu)物商城系統(tǒng)。(3)商品瀏覽功能:點(diǎn)擊商品圖片可進(jìn)入商品詳情頁(yè)面,查看商品詳情并加入購(gòu)物車。(4)加入收藏夾功能:可以將商品加入收藏夾,然后繼續(xù)購(gòu)物,或清空收藏夾里的商品。(5)購(gòu)買商品功能:在購(gòu)物車內(nèi),可以修改商品數(shù)量,自動(dòng)計(jì)算所加入的所有商品總額。5.2功能模塊流程圖注冊(cè)流程圖用戶注冊(cè)流程為:輸入新用戶昵稱,檢查用戶名是否已經(jīng)被注冊(cè)過,如果是則重新進(jìn)行新昵稱注冊(cè),直至檢查用戶名未被注冊(cè)過,顯示用戶名可用之后,設(shè)置密碼,密碼不符合要求,重新設(shè)置密碼,直至密碼符合要求,顯示密碼符合要求之后,繼續(xù)填寫剩下的注冊(cè)信息,完成之后,系統(tǒng)會(huì)將新注冊(cè)的用戶名,密碼保存到數(shù)據(jù)庫(kù)中,頁(yè)面顯示,注冊(cè)成功。具體流程圖如下圖5.2所示。圖5.2注冊(cè)模塊流程圖登錄流程圖用戶登錄流程為:查詢用戶名是否存在,若不存在,則顯示用戶名或者密碼錯(cuò)誤,請(qǐng)重新登錄,否則輸入密碼進(jìn)行核對(duì),密碼檢驗(yàn)錯(cuò)誤之后,系統(tǒng)會(huì)顯示用戶名或者密碼錯(cuò)誤,重新進(jìn)行登錄,密碼檢驗(yàn)正確之后,系統(tǒng)會(huì)將此用戶的ID存入到session中,系統(tǒng)顯示登錄成功。具體流程圖如下圖5.3所示。圖5.3登錄模塊流程圖商品瀏覽流程圖商品瀏覽流程為:用戶登錄成功之后,進(jìn)入系統(tǒng)首頁(yè)面進(jìn)行商品的瀏覽,可以通過類別搜索商品也可以直接點(diǎn)擊商品圖片進(jìn)入商品的詳情介紹,如果遇到滿意的商品,可以添加到收藏夾或購(gòu)物車,如果不滿意,可以回到系統(tǒng)首頁(yè)繼續(xù)瀏覽商品。具體的流程圖如下圖5.4所示。圖5.4商品瀏覽模塊流程圖購(gòu)物車流程圖購(gòu)物車流程為:將商品添加到購(gòu)物車后,可以在購(gòu)物車查看新添加的商品,如果不滿意,可以清空購(gòu)物車,重新繼續(xù)選擇商品,或者直接在購(gòu)物車內(nèi)進(jìn)行商品數(shù)量的調(diào)整,如果對(duì)購(gòu)物車內(nèi)的商品覺得滿意,就可以去收銀臺(tái)進(jìn)行下訂單的操作。具體流程圖如下圖5.5所示。圖5.5購(gòu)物車模塊流程圖5.3后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)5.3.1創(chuàng)建使用MySQL數(shù)據(jù)庫(kù)首先創(chuàng)建數(shù)據(jù)庫(kù):createdatabaseld1302_estore;其次使用該數(shù)據(jù)庫(kù):useld1302_estore。5.3.2創(chuàng)建表(1)用戶信息表用戶信息:用戶ID,用戶昵稱,用戶密碼,注冊(cè)時(shí)間,最近登錄日期,電子郵箱,性別,生日,頭像,有效證件等。用戶信息建表語(yǔ)句為:CREATETABLEIFNOTEXISTS`user`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`varchar(50)NOTNULL,`password`varchar(40)NOTNULL,`reg_date`datetimeNOTNULLDEFAULT'0000-00-0000:00:00',`lastlogintime`datetimeNOTNULLDEFAULT'0000-00-0000:00:00',`email`varchar(50)NOTNULL,`sex`varchar(40)DEFAULTNULL,`birthday`datetimeDEFAULTNULL,`img`varchar(100)DEFAULTNULL,`id_card`varchar(50)DEFAULTNULL,`state`tinyint(1)NOTNULLDEFAULT'0',`integral`int(11)NOTNULLDEFAULT'0',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=66;用戶信息表具體如下表5.1所示。表5.1用戶信息表字段名類型寬度是否允許為空備注idint11否主鍵usernamevarchar50否passwordvarchar40否Reg_datedatetime否lastlogintimedatetime否emailvarchar50否sexvarchar40是birthdaydatetime是imgvarchar100是表5.1(續(xù))Id_cardvarchar50是statetinyint1否interalint11否(2)商品種類信息表商品種類信息:商品ID,商品名稱,商品大類的ID,添加商品時(shí)間。商品種類信息建表語(yǔ)句為:CREATETABLEIFNOTEXISTS`category`(`id`int(11)NOTNULLAUTO_INCREMENT,`cat_name`varchar(50)NOTNULL,`pid`int(11)NOTNULLDEFAULT'0',`add_cat_date`datetimeNOTNULLDEFAULT'0000-00-0000:00:00',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=12;商品種類信息表具體如下表5.2所示。表5.2商品種類信息表字段名類型寬度是否允許為空備注idint11否主鍵cat_namevarchar50否pidint11否add_cat_datedatetime否(3)商品信息表商品信息:商品ID,上面名稱,本店價(jià)格,商品描述,商品小圖片,商品大圖片,分類ID,上架時(shí)間(默認(rèn)),銷售方式的名稱,銷售方式的價(jià)格,商品點(diǎn)擊量,商品總評(píng)分?jǐn)?shù),商品市場(chǎng)價(jià)格,商品庫(kù)存量,商品狀態(tài)等。商品信息建表語(yǔ)句為:CREATETABLEIFNOTEXISTS`goods`(`id`int(11)NOTNULLAUTO_INCREMENT,`good_name`varchar(100)NOTNULL,`store_price`decimal(65,0)NOTNULLDEFAULT'0'COMMENT'本店的價(jià)格',`good_detail`textCOMMENT'商品介紹',`good_min_img`varchar(100)DEFAULTNULLCOMMENT'小圖片',`good_max_img`varchar(255)DEFAULTNULLCOMMENT'大圖片',`cat_id`int(11)NOTNULLDEFAULT'0'COMMENT'分類id',`good_shelves_date`datetimeNOTNULLDEFAULT'0000-00-0000:00:00'COMMENT'上架時(shí)間(默認(rèn))',`good_sellway`varchar(50)NOTNULLCOMMENT'銷售方式的名稱',`good_sellprice`decimal(65,0)NOTNULLDEFAULT'0'COMMENT'銷售方式的價(jià)格',`good_clicks`int(11)NOTNULLDEFAULT'0'COMMENT'商品點(diǎn)擊數(shù)',`good_scores`int(11)NOTNULLDEFAULT'0'COMMENT'商品總評(píng)分?jǐn)?shù)',`market_price`decimal(65,0)NOTNULLDEFAULT'0'COMMENT'商品市場(chǎng)價(jià)格',`good_acount`int(11)NOTNULLDEFAULT'0'COMMENT'商品庫(kù)存量',`good_way`int(11)NOTNULLDEFAULT'0'COMMENT'商品狀態(tài)',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=31;商品信息表具體如下表5.3所示。表5.3商品信息表字段名類型寬度是否允許為空備注idint11否主鍵good_namevarchar100否store_pricedecimal11否good_detailtext是good_min_imgvarchar100是good_max_imgvarchar255是cat_idint11否good_shelves_datedatetime否good_sellwayvarchar50否good_sellpricedecimal11否good_clicksint11否good_scoresint11否market_pricedecimal11否good_acountint11否good_wayint11否購(gòu)物車信息表購(gòu)物車信息:ID,商品ID,購(gòu)物數(shù)量,單價(jià)價(jià)格,訂單ID。購(gòu)物車信息建表語(yǔ)句為:CREATETABLEIFNOTEXISTS`orderdetail`(`id`int(11)NOTNULLAUTO_INCREMENT,`good_id`int(11)NOTNULLDEFAULT'0',`good_num`int(11)NOTNULLDEFAULT'0'COMMENT'購(gòu)物數(shù)量',`unit_price`decimal(11,0)NOTNULLDEFAULT'0'COMMENT'單價(jià)價(jià)格',`order_id`int(11)NOTNULLDEFAULT'0',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=48;購(gòu)物車信息表具體如下表5.4所示。表5.4購(gòu)物車信息表字段名類型寬度是否允許為空備注idint11否主鍵good_idint11否good_numint11否unit_pricedecimal11否order_idint11否訂單信息表訂單信息:ID,用戶ID,訂單總額,訂單狀態(tài)(1發(fā)貨0不發(fā)),訂單接收人,訂單地址,訂單人的電話,郵箱,訂單時(shí)間,訂單號(hào)碼。訂單信息建表語(yǔ)句為:CREATETABLEIFNOTEXISTS`orders`(`id`int(11)NOTNULLAUTO_INCREMENT,`user_id`int(11)NOTNULLDEFAULT'0',`order_account`int(11)NOTNULLDEFAULT'0'COMMENT'訂單總額',`order_state`tinyint(1)NOTNULLDEFAULT'0'COMMENT'訂單狀態(tài)(1發(fā)貨0不發(fā))',`order_username`varchar(50)NOTNULLCOMMENT'訂單接受人',`order_address`varchar(50)NOTNULLCOMMENT'訂單地址',`order_phone`varchar(50)NOTNULLCOMMENT'訂單人的電話',`order_email`varchar(50)NOTNULLCOMMENT'郵箱',`order_time`datetimeNOTNULLDEFAULT'0000-00-0000:00:00'COMMENT'訂單時(shí)間',`order_number`varchar(100)NOTNULLCOMMENT'訂單號(hào)碼',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=31;表5.5訂單信息表字段名類型寬度是否允許為空備注idint11否主鍵user_idint11否order_accountint11否order_statetinyint1否order_usernamevarchar50否order_addressvarchar50否order_phonevarchar50否order_emailvarchar50否order_timedatetime否order_numbervarchar100否第6章系統(tǒng)編碼顯示6.1用戶注冊(cè)頁(yè)面用戶注冊(cè)界面register.tpl。新用戶必須進(jìn)行注冊(cè),為了能及時(shí)發(fā)貨給用戶以及隨時(shí)聯(lián)系用戶,系統(tǒng)必須記錄每一位用戶的詳細(xì)信息。用戶注冊(cè)模塊就是完成這一功能。該模塊內(nèi)容主要包括:用戶的昵稱、密碼、密碼確認(rèn)、性別、頭像、生日、郵件以及新用戶的有效證件等等。詳細(xì)代碼見附錄(1)。注冊(cè)頁(yè)面主要代碼如下:<divclass="fm_item"><label>*賬號(hào):</label><inputtype="text"name="username"id="username"onblur="usernameCheck();"/><spanid="usernameInfo"></span> </div><divclass="fm_item"><label>*密碼:</label><inputtype="password"name="password"onblur="passwordCheck()"/><spanid=passwordInfo></span> </div><divclass="fm_item"><label>*密碼確認(rèn):</label><inputtype="password"name="repassword"onblur="repasswordCheck()"/><spanid=repasswordInfo></span></div>注冊(cè)頁(yè)面界面展示如下圖6.1所示:圖6.1注冊(cè)頁(yè)面6.2用戶登陸頁(yè)面登陸頁(yè)面Login.tpl。用戶輸入自己注冊(cè)時(shí)的賬號(hào)密碼通過驗(yàn)證后,進(jìn)入登陸后的購(gòu)物商城主頁(yè),可看到商品目錄,店主推薦,最新商品等的展示,供用戶瀏覽選擇。詳細(xì)代碼見附錄(2)。登錄頁(yè)面主要代碼如下:<divclass="fm_item"><label>*賬 號(hào):</label><inputtype="text"name="username"mode="require"id="username"><labelid="ckusername"class="forminfo">請(qǐng)輸入你的賬號(hào)</label></div><divclass="fm_item"><label>*密 碼:</label><inputtype="password"name="password"mode="require"id="userpwd" onchange="javascript:EvalPwd(this.value);" onkeyup="javascript:EvalPwd(this.value);"size="25"><labelid="ckuserpwd"class="forminfo">請(qǐng)輸入你的密碼</label></div><divclass="fm_btn"><inputtype="submit"value="確認(rèn)"class="btn"><inputtype="reset"value="重填"class="btn"></div>登錄頁(yè)面界面展示如下圖6.2所示:圖6.2登陸頁(yè)面6.3商品列表頁(yè)面商品列表界面goodsList.tpl將商城所有商品按類別分為“男女服裝”、“鞋包配飾”、“數(shù)碼家電”、“美食特產(chǎn)”、“日用百貨”等大類,每個(gè)大類又分為兩個(gè)小類,此頁(yè)面供用戶便捷的快速的查找到自己所需貨源。詳細(xì)代碼見附錄(3)。商品列表頁(yè)面代碼如下:<divclass="box_list"><dl>{foreachfrom=$gidkey=litem=w}<dt><ahref="goodsList.php?act=listgoods&cateid={$w.id}">『{$w.cat_name}』</a></dt>{foreachfrom=$catekey=kitem=v}{if$w.id==$v.pid}<dd>|__<ahref="goodsList.php?act=listgoods&cateid={$v.id}">{$v.cat_name}</a></dd>{/if}{/foreach}{/foreach}</dl></div>商品列表頁(yè)面界面展示如下圖6.3所示:圖6.3商品列表頁(yè)面6.4商品詳情頁(yè)面商品詳情界面goodDetail.tpl。此頁(yè)面可以由商品列表頁(yè)面進(jìn)入,也可以由首頁(yè)直接點(diǎn)擊商品圖片進(jìn)入到商品的詳情頁(yè)面,此頁(yè)面清晰明了的顯示了商品的本店價(jià)格,市場(chǎng)價(jià)格,商品數(shù)量,上架時(shí)間,商品介紹等詳細(xì)信息,在此頁(yè)面可以將商品添加到收藏夾或購(gòu)物車,然后進(jìn)行購(gòu)買。詳細(xì)代碼見附錄(4)。商品詳情頁(yè)面主要代碼如下:<ul><liclass="tab1">商品介紹</li><liclass="tab2"onclick="changeTab('goodtab1','goodtab2',2)">留言信息</li></ul><divclass="tabcontent"><p>{$v.good_detail}</p></div></div><divid="goodtab2"><ul><liclass="tab2"onclick="changeTab('goodtab1','goodtab2',1)">商品介紹</li><liclass="tab1">留言信息</li></ul><divclass="tabcontent"></div></div>商品詳情頁(yè)面界面展示如下圖6.4所示:圖6.4商品詳情頁(yè)面6.5購(gòu)物車頁(yè)面購(gòu)物車頁(yè)cart.tpl??蛻敉ㄟ^購(gòu)買商品放進(jìn)購(gòu)物車時(shí),購(gòu)物車要隨時(shí)記錄客戶所選商品的單價(jià),并計(jì)算顧客所有購(gòu)買的商品價(jià)格,因此需要一個(gè)購(gòu)物車數(shù)據(jù)庫(kù)表記錄商品的基本信息,客戶通過購(gòu)物車買完商品后,還需要填寫送貨方式、付款方式等客戶的基本信息。購(gòu)物車主要有統(tǒng)計(jì)全部商品數(shù)量和價(jià)錢的功能,并可對(duì)其中商品數(shù)量進(jìn)行更新或刪除。詳細(xì)代碼見附錄(5)。購(gòu)物車頁(yè)面主要代碼如下:<divid="cart"><formmethod="post"action="cart.php"><tablewidth="530"border="1"cellpadding="0"cellspacing="3"><tr><thscope="col">商品ID</th><thscope="col">商品名稱</th><thscope="col">商品圖片</th><thscope="col">商品單價(jià)</th><thscope="col">市場(chǎng)價(jià)格</th><thscope="col">商品數(shù)量</th><thscope="col">庫(kù)存量</th><thscope="col">小計(jì)</th>購(gòu)物車頁(yè)面界面展示如下圖6.5所示:圖6.5購(gòu)物車頁(yè)面6.6訂單詳情頁(yè)面訂單頁(yè)order.tpl包含了用戶的收貨人姓名、收貨地址、電話、送貨方式等訂單基本信息。訂單附加信息頁(yè)則除了訂單收貨信息外,還有商品ID、商品名稱、商品圖片、商品單價(jià)、商品總額等附加信息,從而方便了用戶對(duì)訂單的確認(rèn)及提交。詳細(xì)代碼見附錄(6)。訂單詳情頁(yè)面主要代碼如下:<divid="orderuser"><h4>訂單人的信息</h4><ul><li>收貨人姓名:<label>{$name}</label></li><li>收貨人地址:<label>{$useraddr}</label></li><li>收貨人電話:<label>{$userphone}</label></li><li>收貨人郵箱:<label>{$email}</label></li></ul><divclass="clear"></div></div><formaction="order.php"method="post"><inputtype="submit"value="提交訂單"class="orderBtn"><inputtype="hidden"name="act"value="submitOrder"><inputtype="hidden"name="oid"value="{$myorder.id}"></form>購(gòu)物訂單頁(yè)面界面展示如下圖6.6所示:圖6.6訂單詳情頁(yè)面第7章總結(jié)畢業(yè)設(shè)計(jì)是本科學(xué)習(xí)階段一次非常難得的理論與實(shí)際相結(jié)合的機(jī)會(huì),通過這次比較完整的網(wǎng)上電子商城系統(tǒng)設(shè)計(jì),我擺脫了單純的理論知識(shí)學(xué)習(xí)狀態(tài),和實(shí)際設(shè)計(jì)的結(jié)合鍛煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí),解決實(shí)際工程問題的能力,同時(shí)也提高我查閱文獻(xiàn)資料,設(shè)計(jì)手冊(cè),設(shè)計(jì)規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富,并且意志品質(zhì)力,抗壓能力及耐力也都得到了不同程度的提升。這是我們都希望看到的也正是我們進(jìn)行畢業(yè)設(shè)計(jì)的目的所在。雖然畢業(yè)設(shè)計(jì)內(nèi)容繁多,過程繁瑣但我的收獲卻更加豐富。各種系統(tǒng)的適用條件,各種軟件的選用標(biāo)準(zhǔn),各種工具的了解,我都是隨著設(shè)計(jì)的不斷深入而不斷熟悉并學(xué)會(huì)應(yīng)用的。在設(shè)計(jì)過程中一些頁(yè)面的設(shè)計(jì)讓我很頭痛,原因是由于系統(tǒng)本身設(shè)計(jì)受到顏色搭配的美觀,而又必須考慮本專業(yè)的一些要求規(guī)范,從而形成了一些矛盾點(diǎn),這些矛盾在處理上讓人很難斟酌,正是基于這種考慮我意識(shí)到:要想更完美的進(jìn)行一次設(shè)計(jì),與其他專業(yè)人才的交流溝通是很有必要的。提高是有限的但提高也是全面的,正是這一次設(shè)計(jì)讓我積累了無數(shù)實(shí)際經(jīng)驗(yàn),使我的頭腦更好的被知識(shí)武裝了起來,也必然會(huì)讓我在未來的工作學(xué)習(xí)中表現(xiàn)出更高的應(yīng)變能力,更強(qiáng)的溝通力和理解力。順利如期的完成本次畢業(yè)設(shè)計(jì)給了我很大的信心,讓我了解專業(yè)知識(shí)的同時(shí)也對(duì)本專業(yè)的發(fā)展前景充滿信心,讓我清楚的感到隨著網(wǎng)絡(luò)科技的不斷發(fā)展和網(wǎng)絡(luò)的廣泛應(yīng)用,使我們的生活離不開它了。在這次的畢業(yè)設(shè)計(jì)中雖然時(shí)間緊迫但我學(xué)會(huì)了很多,也感到自身知識(shí)的貧乏,希望在日后的努力中能做出更完善的系統(tǒng)。參考文獻(xiàn)[1]強(qiáng)鋒科技.HTML+CSS網(wǎng)頁(yè)設(shè)計(jì)指南[M].北京:清華大學(xué)出版社,2010.280~284.[2]國(guó)家人力資源和社會(huì)保障部.PHP+MySQL開發(fā)實(shí)例教程[M].北京:中國(guó)電力出版社,2008.132~133.[3]澤瓦斯.PHPWeb2.0開發(fā)實(shí)戰(zhàn)[M].北京:人民郵電出版社,2008.455~458.[4]潘凱華、劉中華.PHP從入門到精通(第二版)[M].北京:清華大學(xué)出版社,2010.271~275.[5]王志剛、朱蕾.PHP5應(yīng)用實(shí)例詳解[M].北京:電子工業(yè)出版社,2010.460~464.[6]約克.jQueryJavaScript與CSS開發(fā)入門經(jīng)典[M].北京:清華大學(xué)出版社,2010.195~197.[7]唐俊.PHP+MySQL網(wǎng)站開發(fā)技術(shù)(項(xiàng)目式)[M].北京:人民郵電出版社,2013.179~185.[8]黃縉華.MySQL入門很簡(jiǎn)單[M].北京:清華大學(xué)出版社.2011.332~333.[9]劉振巖、王勇、陳立平.基于Linux的Web程序設(shè)計(jì):PHP網(wǎng)站開發(fā)[M].北京:人民郵電出版社,2013.301~302.[10]明日科技.PHP程序開發(fā)范例寶典[M].北京:人民郵電出版社,2007.55~57.[11]厄爾曼.PHP5高級(jí)應(yīng)用開發(fā)實(shí)踐[M].北京:人民郵電出版社,2009.279~280.[12]陳浩.零基礎(chǔ)學(xué)PHP第2版[M].北京:機(jī)械工業(yè)出版社,2012.167~168.[13]李松峰,李雅雯.JavaScriptDOM高級(jí)程序設(shè)計(jì)[M].北京:人民郵電出版社,2008.375~380.[14]沙菲克(DaveyShafik),MatthewWeierO'phinney,BenBalbo,等.PHP深度分析[M].北京:中國(guó)水利水電出版社,2010.253~254.[15]古曼茲、貝肯、瑞桑斯.PHP5權(quán)威編程[M].北京:電子工業(yè)出版社,2007.568~570.[16]張恩民.PHP開發(fā)實(shí)戰(zhàn)權(quán)威指南[M].北京:清華大學(xué)出版社,2012.20~24.致謝敲完最后一個(gè)字符,重新從頭細(xì)細(xì)閱讀早已不陌生的文字,我感觸頗多。雖然其中沒有什么值得特別炫耀的成果,但對(duì)我而言,是寶貴的。它是無數(shù)教誨,關(guān)愛和幫助的結(jié)果。從開始接受課題到現(xiàn)在完成畢業(yè)設(shè)計(jì)論文,衷心的感謝我的指導(dǎo)老師朱凱給予了精心的指導(dǎo)和熱情的幫助,老師淵博的知識(shí),敏銳的思路和實(shí)事求是的工作作風(fēng)給我留下了深刻的印象,這將使得我終身受益,謹(jǐn)此向老師表示衷心的感謝和崇高的敬意。附錄(1)注冊(cè)頁(yè)面詳細(xì)代碼:<label>*賬號(hào):</label><inputtype="text"name="username"mode="require"id="username"onblur="usernameCheck();"><divid="usernameInfo"></div><labelid="ckusername"class="forminfo">請(qǐng)輸入你的賬號(hào)</label></div><divclass="fm_item"><label>*密碼:</label><inputtype="password"name="userpwd"mode="require"id="userpwd"onblur="passwordCheck()"onchange="javascript:EvalPwd(this.value);"onkeyup="javascript:EvalPwd(this.value);"size="25"><divid="passwordInfo"></div><labelid="ckuserpwd"class="forminfo">請(qǐng)輸入你的密碼</label></div><divclass="fm_item"><label>*密碼確認(rèn):</label><inputtype="password"name="userrepwd"id="userrepwd"onblur="repasswordCheck()"><divid="repasswordInfo"></div><labelclass="forminfo">2次密碼不一致</label></div><divclass="fm_item"><label>*性別:</label><selectname="sex"><optionvalue="男"selected>男</option><optionvalue="女">女</option></select></div><divclass="fm_item"><label>*頭像:</label><selectsize="1"name="selectpics"onchange="chgpic()"><optionvalue='t1'selected>默認(rèn)</option><imgsrc="images/t1.jpg"name="userimg"class="r_pt"></div><divclass="fm_item"><label>生日:</label><inputtype="text"name="birthday"onblur="dateCheck()"id='birthday'><divid="dateInfo"></div></div><divclass="fm_item"><label>郵件:</label><inputtype="text"name="email"onblur="EmaiCheck()"><divid="emailInfo"></div></div><divclass="fm_item"><label>身份證:</label><inputtype="text"name="idcard"></div>(2)登錄頁(yè)面詳細(xì)代碼:<label>*賬號(hào):</label><inputtype="text"name="username"mode="require"id="username"><labelid="ckusername"class="forminfo">請(qǐng)輸入你的賬號(hào)</label></div><divclass="fm_item"><label>*密碼:</label><inputtype="password"name="password"mode="require"id="userpwd" onchange="javascript:EvalPwd(this.value);" onkeyup="javascript:EvalPwd(this.value);"size="25"><labelid="ckuserpwd"class="forminfo">請(qǐng)輸入你的密碼</label></div>(3)商品列表頁(yè)面詳細(xì)代碼<divclass="box_list"><dl> {foreachfrom=$result_pidkey=key_piditem=value_pid}<dt><ahref="goodsList.php?act=listgoods_pid&cateid={$value_pid.id}">『{$value_pid.cat_name}』</a></dt>{foreachfrom=$result_idkey=key_iditem=value_id}{if$value_pid.id==$value_id.pid} <dd>__<ahref="goodsList.php?act=listgoods_id&cateid={$value_id.id}">{$value_id.cat_name}</a></dd>{/if}{/foreach}{/foreach}</dl> </div><divclass="box_bottom"><imgsrc="images//0.gif"width="10"height="1"alt=""/></div></div></div><divid="content"><divclass="glist"><ul>{foreachfrom=$resultkey=keyitem=value}<formaction="cart.php"method="get"><li><ahref="goodDetail.php?act=detailedgood&gid={$value.id}"><imgsrc="images//goodsimg/{$value.good_min_img}"width="150"height="150"/></a></ul></div></div></div>(4)商品詳情頁(yè)面主要代碼:<divclass="gdInfo"><h4>{$value.good_name}</h4><p>本店價(jià)格:<labelstyle="color:red">¥{$value.store_price}</label></p><p>市場(chǎng)價(jià)格:<labelstyle="color:red">¥{$value.market_price}</label></p><p>商品數(shù)量:{$value.good_acount}</p><p>上架時(shí)間:{$value.good_shelves_date}</p><p>商品點(diǎn)擊數(shù):{$value.good_clicks}</p></div><divclass="clear"></div>(5)購(gòu)物車頁(yè)面詳細(xì)代碼:<divid="cart"><formmethod="post"action="cart.php"><tablewidth="530"border="1"cellpadding="0"cellspacing="3"><tr><thscope="col">商品ID</th><thscope="col">商品名稱</th><thscope="col">商品圖片</th><thscope="col">商品單價(jià)</th><thscope="col">市場(chǎng)價(jià)格</th><thscope="col">商品數(shù)量</th><thscope="col">庫(kù)存量</th><thscope="col">小計(jì)</th><thscope="col">操作</th></tr><tableborder="0"><tr><td>總金額:¥{$s_total}元,市場(chǎng)價(jià)總額:¥{$m_total}元,節(jié)省了{(lán)$save}元</td></div>(6)訂單頁(yè)面詳細(xì)代碼:<divid="orderuser"><h4>訂單人的信息</h4><ul><li>收貨人姓名:<label>{$order_username}</label></li><li>收貨人地址:<label>{$order_address}</label></li><li>收貨人電話:<label>{$order_phone}</label></li><li>收貨人郵箱:<label>{$order_email}</label></li></ul><divclass="clear"></div></div><formaction="orderList.php"method="post"><inputtype="submit"value="提交訂單"class="orderBtn"><inputtype="hidden"name="act"value="submitOrder"><inputtype="hidden"name="oid"value="32"></form> 基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度漁船租賃與漁業(yè)政策研究服務(wù)合同4篇
- 2025年度租賃房屋租賃合同稅費(fèi)繳納指南4篇
- 2025年文化創(chuàng)意產(chǎn)業(yè)合伙人合作協(xié)議書模板3篇
- 2025年度專業(yè)賽車場(chǎng)車手雇傭合同3篇
- 2025年物產(chǎn)中大金屬集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 《廉政風(fēng)險(xiǎn)防控培訓(xùn)課件》
- 2025年貴州遵義金控集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 二零二五年度米面油食品安全風(fēng)險(xiǎn)評(píng)估與監(jiān)控合同4篇
- 2025年消防給排水系統(tǒng)管網(wǎng)優(yōu)化設(shè)計(jì)施工合同2篇
- 2025年度重型工業(yè)門采購(gòu)安裝合同范本4篇
- 中國(guó)華能集團(tuán)公司風(fēng)力發(fā)電場(chǎng)運(yùn)行導(dǎo)則(馬晉輝20231.1.13)
- 中考語(yǔ)文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- 2022-2023學(xué)年度六年級(jí)數(shù)學(xué)(上冊(cè))寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報(bào)價(jià)單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識(shí)別實(shí)例
- 流體靜力學(xué)課件
- 顧客忠誠(chéng)度論文
- 實(shí)驗(yàn)室安全檢查自查表
- 證券公司績(jī)效考核管理辦法
評(píng)論
0/150
提交評(píng)論