在線花店系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
在線花店系統(tǒng)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
在線花店系統(tǒng)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
在線花店系統(tǒng)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
在線花店系統(tǒng)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩54頁(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)介

1、在線花店系統(tǒng)一、在 線 花 店1二、特 色 突 破2三、 系 統(tǒng) 概 述23.1系統(tǒng)設(shè)計(jì)23.1.1 系統(tǒng)功能與應(yīng)用背景23.1.2 系統(tǒng)瀏覽33.1.3 系統(tǒng)特點(diǎn)33.2 系統(tǒng)設(shè)計(jì)和架構(gòu)43.2.1 系統(tǒng)設(shè)計(jì)思想43.2.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)4系統(tǒng)功能模塊細(xì)分53.2.3服務(wù)器和asp運(yùn)作環(huán)境配置53.3數(shù)據(jù)庫(kù)的設(shè)計(jì)、生成與配置73.3.1 數(shù)據(jù)庫(kù)需求分析83.3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)83.3.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)113.4公用模塊的編寫153.4.1數(shù)據(jù)庫(kù)連接文件153.4.2頁(yè)面頭文件223.4.3頁(yè)面尾文件233.5前臺(tái)界面設(shè)計(jì)與實(shí)現(xiàn)273.5.1首頁(yè)設(shè)計(jì)273.5.2產(chǎn)品詳細(xì)信息323.

2、5.3我的購(gòu)物車頁(yè)面設(shè)計(jì)363.5.4結(jié)帳處理393.5.5用戶注冊(cè)的設(shè)計(jì)與實(shí)現(xiàn)473.5.6訂單查詢48四、 結(jié) 論50五、致 謝51六、參考文獻(xiàn)52一、在 線 花 店再線花店系統(tǒng)將傳統(tǒng)的花店經(jīng)營(yíng)管理模式與計(jì)算機(jī)網(wǎng)絡(luò)的綜合經(jīng)營(yíng)管理模式結(jié)合在一起。將人、機(jī)、物的需求、活動(dòng)和運(yùn)作進(jìn)行系統(tǒng)分析、設(shè)計(jì)并管理,一實(shí)現(xiàn)現(xiàn)代高效、科學(xué)且安全的電子商務(wù)。本例通過(guò)一個(gè)在線花店的實(shí)例來(lái)介紹asp與access數(shù)據(jù)庫(kù)結(jié)合開(kāi)發(fā)的小型電子商務(wù)系統(tǒng)的過(guò)程。在系統(tǒng)設(shè)計(jì)時(shí)。從傳統(tǒng)花店的經(jīng)營(yíng)模式,網(wǎng)上用戶需求與業(yè)務(wù)經(jīng)營(yíng)模式,計(jì)算機(jī)網(wǎng)絡(luò)管理、系統(tǒng)設(shè)計(jì)等幾方面綜合分析,定義系統(tǒng)的輸入、輸出、實(shí)現(xiàn)功能、系統(tǒng)運(yùn)作能力、系統(tǒng)安全性、系

3、統(tǒng)可維護(hù)性等各項(xiàng)需求。其中數(shù)據(jù)庫(kù)采用access,動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)采用asp,綜合應(yīng)用了ado、數(shù)據(jù)庫(kù)設(shè)計(jì)、密碼、身份驗(yàn)證和緩存等技術(shù)。二、特 色 突 破網(wǎng)上花店系統(tǒng)適合在線銷售鮮花、禮品等,具有商品多屬性檢索(支持多重屬性分類)、購(gòu)物車、訂單提交和查詢等網(wǎng)上花店所需的基本功能。 本系統(tǒng)采用asp編寫,在windows的iis的支持下運(yùn)行。為了提高系統(tǒng)的效率,使用戶瀏覽時(shí)候響應(yīng)速度更快,本實(shí)例后臺(tái)采用了緩存技術(shù)。三、 系 統(tǒng) 概 述3.1系統(tǒng)設(shè)計(jì)3.1.1 系統(tǒng)功能與應(yīng)用背景互聯(lián)網(wǎng)以前所未有的速度發(fā)展,成為與報(bào)紙、廣播、電視相比肩的第四媒體,同時(shí)正以其更捷的信息傳輸形式改變這人們的消費(fèi)模式,利用簡(jiǎn)

4、單、快界、低成本的電子通信方式,買賣雙方不謀面就可以進(jìn)行各種商貿(mào)活動(dòng),走向商業(yè)的互聯(lián)網(wǎng)已經(jīng)成為網(wǎng)絡(luò)經(jīng)濟(jì)的大勢(shì)所趨。眼下電子商務(wù)網(wǎng)站正如雨后春筍般大量涌現(xiàn),企業(yè)網(wǎng)絡(luò)化已經(jīng)一種時(shí)尚。電子商務(wù)的發(fā)展可能大家都已經(jīng)耳濡目染,上網(wǎng)的朋友對(duì)這已經(jīng)不再陌生,電子商務(wù)確確實(shí)實(shí)出現(xiàn)在我們周圍。本系統(tǒng)是一個(gè)在線花店系統(tǒng),具有在線先手鮮花的基本功能。同過(guò)配置,可以作為一個(gè)實(shí)際應(yīng)用的鮮花銷售網(wǎng)站。本系統(tǒng)是為傳統(tǒng)經(jīng)營(yíng)的花店構(gòu)建網(wǎng)上銷售渠道而開(kāi)發(fā)的。本例中的在線花店重要完成的功能如下。l 鮮花產(chǎn)品選購(gòu)(可按分類方式查找鮮花種類或通過(guò)關(guān)鍵字進(jìn)行查詢)l 購(gòu)物車功能l 查看鮮花詳細(xì)情況l 用戶注冊(cè)l 用戶登陸l 查看用戶的訂

5、單信息l 用戶評(píng)論3.1.2 系統(tǒng)瀏覽圖 3-1 是用戶訪問(wèn)網(wǎng)站的第一個(gè)界面,也是本系統(tǒng)的主界面。用戶通過(guò)這個(gè)主界面可以瀏覽網(wǎng)站各個(gè)分類頁(yè)面,瀏覽推薦商品和查看分類屬性頁(yè)等。 圖 3-1 網(wǎng)站的首頁(yè)3.1.3 系統(tǒng)特點(diǎn)本章所介紹的實(shí)例具有以下特點(diǎn)。(1)頁(yè)面模塊化本系統(tǒng)在界面設(shè)計(jì)上都采用了模塊化處理思想,把很多頁(yè)面功用部分集成一個(gè)模塊,例如頁(yè)面的頭、尾和導(dǎo)航條,這樣在開(kāi)發(fā)是遇到這些相似的頁(yè)面部分,就不需要重新編寫,只要重用這部分即可,大大提高了開(kāi)發(fā)效率。(2)緩存技術(shù)把產(chǎn)品導(dǎo)航信息放到內(nèi)存中緩存起來(lái),大大提高了網(wǎng)站效率和響應(yīng)速度。 3.2 系統(tǒng)設(shè)計(jì)和架構(gòu)3.2.1 系統(tǒng)設(shè)計(jì)思想 電子上午發(fā)展已

6、經(jīng)有10多年的歷史了,在中國(guó)很多人對(duì)電子商務(wù)也逐漸接受和認(rèn)可。網(wǎng)上購(gòu)物作為依仗時(shí)尚很多人去體會(huì),更有部分人把購(gòu)物同逛商場(chǎng)等顯示社會(huì)服務(wù)一樣作為生活的一部分。鮮花作為生活的點(diǎn)綴,也越來(lái)越為生活所需要。這種網(wǎng)上買賣鮮花的交易越來(lái)越多,也逐漸被廣大消費(fèi)者所接受。本系統(tǒng)是一個(gè)相對(duì)簡(jiǎn)單的基本應(yīng)用系統(tǒng),主要滿足傳統(tǒng)的花店運(yùn)營(yíng)需要,將自己的銷售渠道擴(kuò)展到網(wǎng)上,通過(guò)簡(jiǎn)單的管理,提供給最終消費(fèi)者產(chǎn)品的展現(xiàn)、購(gòu)物、訂單處理等一實(shí)現(xiàn)鮮花在線銷售。通過(guò)本系統(tǒng)可以管理簡(jiǎn)單的在線銷售模式、滿足用戶隨時(shí)查詢產(chǎn)品信息,隨時(shí)下單購(gòu)物的應(yīng)用需求。由于本系統(tǒng)考慮到產(chǎn)品的適應(yīng)性、安全性和訪問(wèn)效率,所以,在系統(tǒng)平臺(tái)多樣性、技術(shù)先進(jìn)性、

7、功能適應(yīng)性和靈活性等方面都有考慮,使系統(tǒng)相對(duì)完善,具有更好的學(xué)習(xí)價(jià)值。本實(shí)例把頁(yè)面中一些常用的部分集成為模塊,例如頁(yè)面的頭和尾部,這樣設(shè)計(jì)新的頁(yè)面如果有重復(fù)出現(xiàn)的部分,只需要那現(xiàn)成的模塊來(lái)組裝就可以了。3.2.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)本實(shí)例由web服務(wù)器為最終用戶提供展現(xiàn)服務(wù)和為管理員提供管理服務(wù);用數(shù)據(jù)庫(kù)保存產(chǎn)品、用戶和訂單等信息。系統(tǒng)結(jié)構(gòu)如圖3-2所示數(shù)據(jù)庫(kù)web服務(wù)器管理員用戶系統(tǒng)用戶系統(tǒng)用戶系統(tǒng)圖 3-2 系統(tǒng)結(jié)構(gòu)圖系統(tǒng)功能模塊細(xì)分(1)用戶管理模塊管理用戶登錄、用戶注冊(cè)和用戶修改等用戶信息的基本功能,與一般電子商務(wù)的用戶管理系統(tǒng)基本相同。(2)產(chǎn)品信息模塊陳列產(chǎn)品的詳細(xì)信息(3)導(dǎo)航分類檢索

8、模塊按不同分類和不同應(yīng)用導(dǎo)航產(chǎn)品,把相關(guān)產(chǎn)品列出。(4)購(gòu)物車處理模塊通過(guò)cookie技術(shù)實(shí)現(xiàn)購(gòu)物車。用戶選者產(chǎn)品后,點(diǎn)擊“購(gòu)買”進(jìn)入購(gòu)物頁(yè)面,陳列要購(gòu)買的產(chǎn)品明細(xì)項(xiàng)。(5)用戶選擇產(chǎn)品完畢,通過(guò)購(gòu)物頁(yè)面到訂單結(jié)帳頁(yè)面,填寫必要的信息,產(chǎn)生最終訂單;還提供訂單查詢功能。3.2.3服務(wù)器和asp運(yùn)作環(huán)境配置1軟件準(zhǔn)備本章實(shí)例的數(shù)據(jù)庫(kù)管理軟件采用access,安裝office的時(shí)候便會(huì)附帶安裝access如果讀者機(jī)器上沒(méi)有安裝access,請(qǐng)準(zhǔn)備office軟件;web服務(wù)采用iis,iis的安裝請(qǐng)參考1.3.4節(jié)。2.iis的配置iis默認(rèn)的web(主頁(yè))文件存放于系統(tǒng)根區(qū)的“%system%i

9、netpu/wwwroot”中。這里簡(jiǎn)單介紹iis配置虛擬目錄的過(guò)程。在“控制面板”,雙擊“管理工具”,在“管人站點(diǎn)”,然后用鼠標(biāo)右鍵單擊“默認(rèn)網(wǎng)站”。從彈出的快捷菜單中選擇【新建】【虛擬目錄】,如圖3-3所示彈出如圖3-4所示的“虛擬目錄別名”對(duì)話框。 圖3-4指定虛擬目錄別名在如圖3-4所示對(duì)話框中填寫虛擬目錄別名,例如“ivzhi”然后單擊【下一步】按鈕,彈出如圖3-5所示的“網(wǎng)站內(nèi)容目錄”對(duì)話框。 圖3-5 選擇實(shí)際目錄在圖3-5所示對(duì)話框中,單擊【瀏覽】按鈕為該虛擬目錄選擇一個(gè)實(shí)際目錄(例如)“c:www”),然后單擊【下一步】按鈕,最后單擊【完成】按鈕,這樣名為“ivzhii”的虛

10、擬目錄就創(chuàng)建好了。在實(shí)際開(kāi)發(fā)時(shí),所有頁(yè)面都放到“c:www”下,訪問(wèn)時(shí)從瀏覽器輸入“http:/localhost/ivzhi/index.asp”,該訪問(wèn)“c:www”下的“index.asp”頁(yè)面 3.3數(shù)據(jù)庫(kù)的設(shè)計(jì)、生成與配置信息管理系統(tǒng)離不開(kāi)數(shù)據(jù)庫(kù),它保存系統(tǒng)用到的數(shù)據(jù)。本系統(tǒng)的數(shù)據(jù)庫(kù)主要用來(lái)保存用戶、訂單、產(chǎn)品等信息,所以數(shù)據(jù)庫(kù)主要用到的表有:用戶表、訂單表、產(chǎn)品表和分類導(dǎo)航4類表。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該先充分了解各個(gè)方面的需求,根據(jù)需求決定數(shù)據(jù)庫(kù)結(jié)構(gòu)。3.3.1 數(shù)據(jù)庫(kù)需求分析簡(jiǎn)單來(lái)說(shuō)系統(tǒng)有3個(gè)對(duì)象:用戶、消化產(chǎn)品和訂單。用戶瀏覽鮮花產(chǎn)品,并且在需要的時(shí)候下訂單。各這些信息提供增加、

11、修改、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能從粉滿足這些信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組合一份盡的數(shù)據(jù)字典,為程序設(shè)計(jì)打下基礎(chǔ)。系統(tǒng)需求積累用戶資源,用用戶表來(lái)記錄用戶的信息,具體包括用戶的真名、地址、電話、郵編、身份證號(hào)、e-mail和密碼等基本信息。網(wǎng)站要給用戶展現(xiàn)產(chǎn)品,把鮮花產(chǎn)品的詳細(xì)信息介紹給用戶,需要產(chǎn)品信息表,具體包括產(chǎn)品名稱、各類屬性和所屬分類等。網(wǎng)站是電子商務(wù)網(wǎng)站,最終目的是為用戶服務(wù),使用戶瀏覽查后有購(gòu)買的欲望,進(jìn)行購(gòu)買行為。訂單類表格記錄用戶的購(gòu)買行為,需要記錄購(gòu)買的產(chǎn)品信息,付款人的信息,收款人的信息,下單時(shí)間等。為了方便用戶的查找,提高網(wǎng)站的

12、服務(wù)質(zhì)量,對(duì)產(chǎn)品進(jìn)行不同的屬性導(dǎo)航,一個(gè)鮮花產(chǎn)品分可以包含不同的屬性,方便用戶的查找,促進(jìn)用戶的消費(fèi),實(shí)現(xiàn)網(wǎng)站的價(jià)值,對(duì)具體查的屬性進(jìn)行分類,實(shí)現(xiàn)屬性導(dǎo)航表,包括產(chǎn)品屬性分類,產(chǎn)品對(duì)應(yīng)產(chǎn)品屬性的對(duì)應(yīng)表。通過(guò)上述系統(tǒng)功能分析,針對(duì)一般的在線花店的需求,包括如下數(shù)據(jù)表。l 網(wǎng)站用戶信息表,包括數(shù)據(jù)項(xiàng)、用戶id、用戶代號(hào)等。l 采購(gòu)訂單表,包括數(shù)據(jù)項(xiàng)、訂單id、付款人姓名、付款人電話等。l 訂單明細(xì)表,包括數(shù)據(jù)項(xiàng)、訂單明細(xì)編號(hào)、產(chǎn)品id、訂單id等。l 產(chǎn)品表,包括數(shù)據(jù)項(xiàng)、產(chǎn)品id、產(chǎn)品代碼、產(chǎn)品名稱等。l 用戶評(píng)論表,包括數(shù)據(jù)項(xiàng)、id評(píng)論內(nèi)容、用戶名稱等。l 目錄屬性表,包括數(shù)據(jù)項(xiàng)、目錄編號(hào)名字、

13、目錄編號(hào)等。l 導(dǎo)航屬性字典表,包括數(shù)據(jù)項(xiàng)、導(dǎo)航id數(shù)字類型id、文本類型id。l 產(chǎn)品導(dǎo)航屬性對(duì)應(yīng)表,包括數(shù)據(jù)項(xiàng)、導(dǎo)航類型id、導(dǎo)航名稱等。3.3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包括各種具體信息,通過(guò)相互之間的作用形成數(shù)據(jù)的流動(dòng)。本實(shí)例設(shè)計(jì)規(guī)劃出的實(shí)體包括網(wǎng)站用戶實(shí)體、采購(gòu)訂單明細(xì)實(shí)體、產(chǎn)品實(shí)體、用戶評(píng)論實(shí)體、目錄信息實(shí)體、目錄屬性實(shí)體、導(dǎo)航屬性實(shí)體、查導(dǎo)航屬性對(duì)應(yīng)關(guān)系實(shí)體。圖3-6為實(shí)體間關(guān)系的e-r圖用戶評(píng)論用戶訂單訂單明細(xì)產(chǎn)品導(dǎo)航屬性對(duì)應(yīng)表導(dǎo)航字典產(chǎn)品目錄信息目錄屬性

14、圖3-6 實(shí)體關(guān)系e-r圖圖3-7為網(wǎng)絡(luò)用戶實(shí)體e-r圖。圖3-8為采購(gòu)訂單的實(shí)體e-r圖。用戶用戶id用戶代碼用戶口令用戶電話訂單付款人姓名產(chǎn)品id付款人電話用戶代號(hào) 圖3-7網(wǎng)站用戶實(shí)體e-r圖 圖3-8采購(gòu)訂單實(shí)體e-r圖圖3-9為訂單明細(xì)實(shí)體e-r圖。圖3-10為產(chǎn)品實(shí)體e-r圖。訂單明細(xì)產(chǎn)品訂單id產(chǎn)品id產(chǎn)品數(shù)量產(chǎn)品價(jià)格產(chǎn)品id產(chǎn)品目錄id產(chǎn)品名稱產(chǎn)品價(jià)格 圖3-9訂單明細(xì)實(shí)體e-r圖 圖3-10產(chǎn)品實(shí)體e-r圖圖3-11為用戶評(píng)論實(shí)體e-r圖。 圖3-12為目錄信息實(shí)體e-r圖產(chǎn)品論評(píng)目錄信息評(píng)論id評(píng)論內(nèi)容用戶id產(chǎn)品id目錄代號(hào)備注目錄名稱圖3-11 用戶評(píng)論實(shí)體e-r圖 圖

15、3-12目錄信息實(shí)體e-r圖圖3-13為目錄屬性實(shí)體e-r圖。 圖3-14為導(dǎo)航屬性字典實(shí)體e-r圖。目錄屬性導(dǎo)航屬性字典目錄屬性代號(hào)目錄名稱所屬目錄信息代號(hào)導(dǎo)航屬性id導(dǎo)航屬性名稱對(duì)應(yīng)目錄屬性di圖3-13 目錄屬性實(shí)體e-r圖 圖3-14導(dǎo)航屬性字典實(shí)體e-r圖圖3-15為產(chǎn)品導(dǎo)航屬性對(duì)應(yīng)關(guān)系e-r圖產(chǎn)品導(dǎo)航屬性對(duì)應(yīng)關(guān)系產(chǎn)品性目錄屬性id 圖3-15 產(chǎn)品導(dǎo)航屬性對(duì)應(yīng)關(guān)系e-r圖3.3.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。本章實(shí)例系統(tǒng)采用access數(shù)據(jù)庫(kù),因此在設(shè)計(jì)本章實(shí)例系統(tǒng)數(shù)據(jù)

16、庫(kù)概念結(jié)構(gòu)時(shí),需要遵循access數(shù)據(jù)庫(kù)的語(yǔ)法結(jié)構(gòu)。在線花店系統(tǒng)中各個(gè)表的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表,表3-1為用戶表,記錄某個(gè)用戶的信息。字段名稱數(shù)據(jù)類型說(shuō)明autoid自動(dòng)編碼主鍵,遞增,用戶在網(wǎng)站的標(biāo)識(shí)userid文本類型用戶idpwd文本類型用戶口令sex文本類型性別:1男,0女realname文本類型真實(shí)姓名personid文本類型用戶身份怔mobile文本類型手機(jī)號(hào)碼phone文本類型固定電話lasttime日期類型修改時(shí)間:第一次就是注冊(cè)時(shí)間adrress文本類型用戶地址email文本類型郵編表3-1中autoid是用戶網(wǎng)站惟一標(biāo)識(shí),useid是在用戶

17、注冊(cè)時(shí)自己選擇的名字,其他是擁護(hù)需要的屬性。表3-2為產(chǎn)品信息列表,記錄花店現(xiàn)有的產(chǎn)品信息。字段名稱數(shù)據(jù)類型說(shuō)明autoid自動(dòng)編寫主鍵,遞增,產(chǎn)品在網(wǎng)站的標(biāo)識(shí)code文本類型產(chǎn)品代碼,惟一標(biāo)識(shí),網(wǎng)站自己定義的字符串name文本類型產(chǎn)品名稱description備注類型產(chǎn)品描述marketprice貨幣類型市場(chǎng)價(jià)格saleprice貨幣類型銷售價(jià)格myimageurl文本類型圖片地址status數(shù)字類型產(chǎn)品狀態(tài),是不銷售:0銷售,1停止銷售category文本類型產(chǎn)品種類lasttime日期類型修改時(shí)間:第一次就是增加時(shí)間priority數(shù)字類型排序用的優(yōu)先級(jí)別memberprice貨幣類型會(huì)

18、員價(jià)格netimageurlsmall文本類型網(wǎng)絡(luò)小圖片地址netimageurlmid文本類型網(wǎng)絡(luò)中圖片地址netimageurlbigsign文本類型網(wǎng)絡(luò)大圖片地址sign數(shù)字類型標(biāo)志是否特價(jià)產(chǎn)品表3-2中autoid是產(chǎn)品在網(wǎng)站的惟一標(biāo)識(shí),在數(shù)據(jù)增加是自動(dòng)生成,category是對(duì)應(yīng)目錄表的分類字符串。表3-3中目錄信息表,記錄花店的分類信息。 表3-3 directory目錄信息表字段名稱數(shù)據(jù)類型說(shuō)明code文本類型目錄代碼,惟一標(biāo)識(shí)一個(gè)目錄name文本類型目錄名稱memo文本類型備注表3-3中目錄用字符串分級(jí)表示,產(chǎn)品的種類對(duì)應(yīng)目錄代碼。表3-4為訂單信息表,記錄花店的訂單信息。 表

19、3-4 myorder訂單信息表字段名稱數(shù)據(jù)類型說(shuō)明autoid自動(dòng)編碼主鍵,遞增,訂單在網(wǎng)站的標(biāo)識(shí)payname文本類型付款人姓名payphone文本類型付款人電話payemail文本類型付款人e-mailpayaddress貨幣類型付款人地址senddate日期類型送貨時(shí)間paymemo文本類型付款人備注paytime日期類型支付時(shí)間lasttime日期類型修改時(shí)間:第一次就是增加時(shí)間recname文本類型收款人姓名recnick文本類型收款人稱呼recphone文本類型收款人電話recaddress文本類型收款人地址recmemo文本類型收款人備注recemaie文本類型收款人郵編rec

20、say文本類型留言sendfee貨幣類型送貨費(fèi)sendarea數(shù)字類型送貨地區(qū)totalpay貨幣類型總價(jià)realpay貨幣類型實(shí)際價(jià)格orderpass文本類型訂單密碼userid文本類型用戶idorderstatus文本類型訂單狀態(tài)comefrom數(shù)字類型來(lái)源,是否從合作網(wǎng)站來(lái)的表3-4中的autoid是訂單在網(wǎng)站的惟一表識(shí),數(shù)據(jù)增加是自動(dòng)生成,category是對(duì)應(yīng)目錄表的分類字符串。訂單的付款人一般是網(wǎng)站的會(huì)員,收款人可以是自己,也可以是自己的朋友,所以對(duì)這兩方面信息分開(kāi)進(jìn)行記錄。表3-5為訂單名細(xì)表,極力花店定單具體購(gòu)買的產(chǎn)品信息。 表3-5 orderitem訂單明細(xì)表字段名稱數(shù)據(jù)

21、類型說(shuō)明autoid自動(dòng)編碼惟一標(biāo)識(shí)用戶采購(gòu)的一個(gè)產(chǎn)品productid數(shù)字類型產(chǎn)品idproductname文本類型產(chǎn)品名稱productprice貨幣類型成品價(jià)格quantity數(shù)字類型數(shù)量orderid數(shù)字類型訂單id訂單明細(xì)表和訂單表是多對(duì)一的關(guān)系,就是一張訂單可以有多個(gè)產(chǎn)品。表3-6為目錄性表,記錄花店目錄的屬性。 表3-6 directoryproperty目錄屬性表字段名稱數(shù)據(jù)類型說(shuō)明autoid自動(dòng)編碼目錄屬性代碼,惟一標(biāo)識(shí)一個(gè)目錄屬性name文本類型目錄屬性名字directorycode文本類型屬于那個(gè)目錄目錄屬性是為了更好的導(dǎo)航產(chǎn)品,目錄的產(chǎn)品有不同的屬性,比如鮮花的用途、

22、花材、對(duì)象等屬性。表3-7為導(dǎo)航屬性字典表,記錄花店目錄的屬性值。 表3-7 navigationdict導(dǎo)航屬性字典表字段名稱數(shù)據(jù)類型說(shuō)明autoid自動(dòng)編碼惟一標(biāo)識(shí)一個(gè)導(dǎo)航屬性directoryproperty數(shù)字類型對(duì)應(yīng)目錄屬性的iddirectoryvalue文本類型導(dǎo)航屬性名稱導(dǎo)航屬性字典對(duì)應(yīng)表3-6目錄屬性表的auotid字段,換種說(shuō)法就是目錄有什么屬性,屬性具體對(duì)應(yīng)什么值。比如鮮花目錄的用途屬性有戀情、生日、友情、祝福、婚慶、商務(wù)等不同的用途。表3-8為產(chǎn)品導(dǎo)航屬性對(duì)應(yīng)表,記錄花店產(chǎn)品對(duì)應(yīng)的不同屬性。 表3-8 navigationrelation 產(chǎn)品導(dǎo)航屬性對(duì)應(yīng)表字段名稱數(shù)據(jù)

23、類型說(shuō)明productid數(shù)字類型產(chǎn)品idnavigationid數(shù)字類型對(duì)應(yīng)目錄屬性的id一個(gè)產(chǎn)品可以對(duì)應(yīng)多個(gè)導(dǎo)航屬性,最終用戶可以根據(jù)不同的屬性瀏覽產(chǎn)品,方便用戶查找產(chǎn)品。表3-9為用戶評(píng)論表,記錄用戶對(duì)產(chǎn)品的評(píng)論。 表3-9comment 用戶評(píng)論表字段名稱數(shù)據(jù)類型說(shuō)明autoid自動(dòng)編碼評(píng)論idcomment備注類型評(píng)論內(nèi)容nckname文本類型用戶名稱repiy備注類型管理答復(fù)內(nèi)容status識(shí)字類型是否顯示email文本類型郵件userautoid數(shù)字類型用戶idproductid數(shù)字類型產(chǎn)品idlasttime數(shù)字類型對(duì)應(yīng)目錄屬性id表3-9記錄用戶對(duì)查的評(píng)論,userautoi

24、d為0客人,不是網(wǎng)站用戶。3.4公用模塊的編寫3.4.1數(shù)據(jù)庫(kù)連接文件把數(shù)據(jù)庫(kù)連接操作作封狀在一個(gè)頁(yè)面commondb.asp中,以方便其他頁(yè)面調(diào)用。例程3-1為commondb.asp頁(yè)面的參考代碼。 例程3-1 數(shù)據(jù)庫(kù)連接頁(yè)面commondb.asp <%const mydatabase="lvzhi" 'database nameconst mydblocation="db/"'location of database relative to %>例程3-1定義了兩個(gè)常量mydatabase和mydblocation,其

25、中m,ydatabase為數(shù)據(jù)庫(kù)名稱,mydblocation為數(shù)據(jù)庫(kù)存放位置,如果需要修改數(shù)據(jù)庫(kù)存放位置和名稱,就修改mydatabase和mydblocation這2個(gè)變量的值。例程3-1中引入了頁(yè)面allcommon,asp,allcommon,asp頁(yè)面中定義了數(shù)據(jù)庫(kù)連接的操作函數(shù),例程3-2為這些函數(shù)定義的參考代碼。 例呈3-2 allcommon.asp定義的數(shù)據(jù)庫(kù)公用函數(shù)代碼 打開(kāi)數(shù)據(jù)庫(kù) 最頂級(jí)函數(shù)<%' debug messagesub debug (msg)response.write msg & "<br>"end su

26、b' get comefrom cookiefunction getcomefromcookie()dim retret=request.cookies("comefrom")if (comefrom=null) thenret=""end ifgetcomefromcookie=retend functionconst mycookiekey="lvzhi"const myusecookies="no"sub setsess (field, value)if myusecookies<>&qu

27、ot;yes" then session(field)=valueelse response.cookies(mycookiekey) (field)=valueend if end subsub processaccessopen(connection)dim strconnstrconn = "provider=microsoft.jet.oledb.4.0;persist security info=false;data source=" & server.mappath( mydblocation & mydatabase & &q

28、uot;.mdb")set connection = server.createobject("adodb.connection")on error resume nextconnection.open strconnif connection.errors.count> 0 thensetsess "openerror", "open messages<br>" & connection.errors(0).description & " <br>" &am

29、p; getsess("dbc")elsesetsess "openerror",""end ifend sub' main database open for shopsub shopopendatabase (connection) processaccessopen connectionend sub' close database sub closerecordset (irs)irs.closeset irs=nothingend sub'*sub shopclosedatabase (connect

30、ion)on error resume nextconnection.closeset connection=nothingend sub'disable property 對(duì)應(yīng)的產(chǎn)品列表sub disablelistflower(property,value)dim retdim mynameif (property="0") thenmyname="list" &property & "f"elsemyname="list" &property & "f&quo

31、t; &valueend ifapplication(myname)=""end sub'list property 對(duì)應(yīng)的產(chǎn)品列表function getlistflower(property,value)dim retdim mynameif (property="0") thenmyname="list" &property & "f"elsemyname="list" &property & "f" &value

32、end ifret=application(myname)if (ret="") thenret=getlistflowerfromdb(property,value)application(myname)=retend ifgetlistflower=retend function'list property 對(duì)應(yīng)的產(chǎn)品列表 從數(shù)據(jù)庫(kù)function getlistflowerfromdb(property,value)dim ret,dbc,query,rs,myconditionshopopendatabase dbcquery = "select

33、result from navigateresult "mycondition="where sort=0 and property="&property &" and value="&valuequery=query & myconditionset rs = dbc.execute(query)ret="" if not rs.eof thenret=cstr(rs("result")end ifcloserecordset rsshopclosedatabase db

34、cgetlistflowerfromdb=retend function'dir 對(duì)應(yīng)的產(chǎn)品列表function getdirproduct(dir)dim retif (dir =null or dir="") thendir=""end ifdim dirnamedirname="dir" & dirret=application(dirname)if (ret="") thenret=getdirproductfromdb(dir)application(dirname)=retend ifg

35、etdirproduct=retend function'dir 對(duì)應(yīng)的產(chǎn)品列表,從數(shù)據(jù)庫(kù)讀出function getdirproductfromdb(dir)dim retdim dbc,query,rsshopopendatabase dbcif (dir="") then '讀出所有產(chǎn)品query = "select autoid from product order by priority"elsequery = "select autoid from product where left(category,"

36、+cstr(len(dir)+")='"&dir&"'"end ifset rs = dbc.execute(query)ret="" do while not rs.eofif (ret="") thenret=cstr(rs("autoid")elseret=ret+","+cstr(rs("autoid")end ifrs.movenext loopcloserecordset rsshopclosedatabase

37、dbcgetdirproductfromdb=retend function產(chǎn)品類定義'class product'public name,autoid,saleprice,desc,marketprice,vipprice,netimagesmall,netimagemid,netimagebig'end class'得到對(duì)應(yīng)的產(chǎn)品function getproduct(id)dim retif (id =null or id="") thenid="1"end ifdim productnameproductname=

38、"p" & idret=application(productname)if ( not isarray(ret) thenret=getproductfromdb(id)application(productname)=retend ifgetproduct=application(productname)end function'得到對(duì)應(yīng)的產(chǎn)品sub disableproduct(id)dim retif (id =null or id="") thenid="1"end ifdim productnameprod

39、uctname="p" & idapplication(productname)=""end sub'對(duì)應(yīng)的產(chǎn)品,從數(shù)據(jù)庫(kù)讀出dim fieldautoid,fieldname,fieldsaleprice,fielddesc,fieldmarketpricedim fieldvipprice,fieldnetimagesmall,fieldnetimagemid,fieldnetimagebig,fieldcodefieldautoid=0fieldname=1fieldsaleprice=2fielddesc=3fieldmarket

40、price=4fieldvipprice=5fieldnetimagesmall=6fieldnetimagemid=7fieldnetimagebig=8fieldcode=9function getproductfromdb(id)dim ret(10)dim dbc,query,rsshopopendatabase dbcquery = "select * from product where autoid="&idset rs = dbc.execute(query) if not rs.eof thenret(fieldautoid)=rs("a

41、utoid")ret(fieldname)=rs("name")ret(fieldsaleprice)=rs("saleprice")ret(fielddesc)=rs("description")ret(fieldmarketprice)=rs("marketprice")ret(fieldvipprice)=rs("memberprice")ret(fieldnetimagesmall)=rs("myimageurl")ret(fieldnetimagemid)

42、=rs("myimageurl")ret(fieldnetimagebig)=rs("myimageurl")ret(fieldnetimagesmall)=rs("netimageurlsmall")'ret(fieldnetimagemid)=rs("netimageurlmid")'ret(fieldnetimagebig)=rs("netimageurlbig")'ret(fieldcode)=rs("code")elseret(fieldau

43、toid)=-1end ifcloserecordset rsshopclosedatabase dbcgetproductfromdb=retend function%> 3.4.2頁(yè)面頭文件為了實(shí)現(xiàn)代碼復(fù)用,把頭文件設(shè)計(jì)成公用模塊,單獨(dú)保存為一個(gè)文件,其他頁(yè)面應(yīng)用的時(shí)候只要包含這個(gè)頭文件就可以了。 頭文件中主要放置網(wǎng)站標(biāo)志和各個(gè)2級(jí)頻道,保存成html文件格式,放置到文件夾inc/下,文件名稱為top.html.這樣其他頁(yè)面只要應(yīng)用<!_ _#include file=”inc/top.html”_ _>,就可以使其他頁(yè)面具有風(fēng)格統(tǒng)一的“頭”。 圖3-16 網(wǎng)站頭文件預(yù)覽

44、果圖3.4.3頁(yè)面尾文件和頁(yè)頭一樣,我們把版權(quán)聲明等信息保存在尾文件bottom.html中,本實(shí)例的尾部文件預(yù)覽果如圖3-17所示。3.5.1 用戶登錄判斷用戶登錄判定一般由兩個(gè)頁(yè)面組成,頁(yè)面login.asp提供表單讓用戶輸入用戶名和密碼,當(dāng)用戶單擊頁(yè)面中【登錄】按鈕時(shí),把用戶名、密碼提交到另一個(gè)頁(yè)面userlogindo.asp,由userlogindo.asp頁(yè)面作具體的登錄處理。login.asp就是一個(gè)簡(jiǎn)單的包含表單的html頁(yè)面,并引入公用頭尾文件,不過(guò)login.asp需要用到j(luò)avascipt驗(yàn)證表單,防止用戶輸入空信息。圖3-18為網(wǎng)站登錄頁(yè)面login.asp.的預(yù)覽效果

45、。例程3-3為login.asp頁(yè)面中表單驗(yàn)證的javascript代碼。 例程3-3 javascript校驗(yàn)代碼 <script language="javascript"> function userloginsubmit() var flag=false; if(document.loginform.userid.value=null| document.loginform.userid.value="") alert("請(qǐng)輸入您的用戶名!"); document.loginform.userid.focus();

46、 flag=true; if(document.loginform.pass.value=null| document.loginform.pass.value="") alert("請(qǐng)輸入密碼!"); if (flag=false) document.loginform.pass.focus(); flag=true; if(flag=false) document.loginform.submit(); return false; function userloginkeydown() if (window.event.keycode="1

47、3") userloginsubmit(); function userloginuserid() if (window.event.keycode="13") document.loginform.pass.focus(); </script> 在例程3-3中函數(shù)userloginsubmit()主要在用戶單擊【登錄】按鈕的時(shí)候驗(yàn)證用戶輸入的用戶名、密碼是否為空。函數(shù)userloginkeydown(),主要完成當(dāng)用戶按回車鍵時(shí),提交表單,也就時(shí)說(shuō)當(dāng)用戶輸入用戶名、密碼后單擊【登錄】按鈕或者按回車鍵都會(huì)提交表單。實(shí)現(xiàn)這個(gè)功能是為了用戶界面友好,方便最

48、終用戶的使用。函數(shù)userloginuserid()主要完成當(dāng)用戶輸入完用戶名按回車時(shí),焦點(diǎn)跳到輸入密碼的文本框中。userlogindo.asp主要完成用戶登錄的判定,把用戶登錄信息更新數(shù)據(jù)庫(kù)和session等,例程3-4為頁(yè)面uselogindo.asp登錄代碼。 例程 3-4 userlogindo.asp 登錄代碼 <%dim dbc, urldim forwardurldim strpassword, returnurlstrpassword=request("strpassword")stremail=request("stremail"

49、;)strpassword=replace(strpassword,"=","")stremail=replace(stremail,"=","")stremail=replace(stremail,"'","''")strpassword=replace(strpassword,"'","")returnurl=request("returnurl")if stremail=&quo

50、t;" then serror = serror & "請(qǐng)輸入email<br>"end ifif strpassword="" then serror = serror & "請(qǐng)輸入口令<br>"end ifif serror="" then retrievelogindataelse serror= "請(qǐng)登錄" & "<br>" & serrorend ifsetsess "login

51、error",serror setupreturnurl urlresponse.redirect urlsub retrievelogindatadim fieldvalueif getsess("login")="" then setsess "login","force"end iflocatecustomer strlastname, stremail , strpasswordif strcustomerid <>"" then lnglogincount=lng

52、logincount+1 updatecustomersessiondata updatelogindata setsess "login",strlastname setsess "realname",strlastname else serror = serror & getlang("langloginlocatefail") setsess "login", ""end ifshopclosedatabase dbcset rs=nothingend subsub updatelogindatadim dbc'on error resume nextopencustomerdb dbc'response.write "login count" & lnglogincountsql = "update customers set "sql = sql & "logincount=" & lnglogincount'sql = sql & ",lastlogindate='" & date() & &qu

溫馨提示

  • 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)論