版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目錄</b></p><p> 一、在 線 花 店2</p><p> 二、特 色 突 破3</p><p> 三、 系 統(tǒng) 概 述3</p><p><b> 3.1系統(tǒng)設計3</b></p><p> 3.1.1 系統(tǒng)功能與
2、應用背景3</p><p> 3.1.2 系統(tǒng)瀏覽4</p><p> 3.1.3 系統(tǒng)特點4</p><p> 3.2 系統(tǒng)設計和架構5</p><p> 3.2.1 系統(tǒng)設計思想5</p><p> 3.2.2 系統(tǒng)結構設計5</p><p> 系統(tǒng)功能模塊細分6&
3、lt;/p><p> 3.2.3服務器和ASP運作環(huán)境配置6</p><p> 3.3數(shù)據庫的設計、生成與配置8</p><p> 3.3.1 數(shù)據庫需求分析9</p><p> 3.3.2數(shù)據庫概念結構設計9</p><p> 3.3.3數(shù)據庫邏輯結構設計12</p><p>
4、 3.4公用模塊的編寫16</p><p> 3.4.1數(shù)據庫連接文件16</p><p> 3.4.2頁面頭文件22</p><p> 3.4.3頁面尾文件23</p><p> 3.5前臺界面設計與實現(xiàn)27</p><p> 3.5.1首頁設計27</p><p>
5、 3.5.2產品詳細信息32</p><p> 3.5.3我的購物車頁面設計36</p><p> 3.5.4結帳處理40</p><p> 3.5.5用戶注冊的設計與實現(xiàn)47</p><p> 3.5.6訂單查詢49</p><p> 四、 結 論50</p><p&g
6、t; 五、致 謝51</p><p><b> 六、參考文獻52</b></p><p><b> 摘要</b></p><p> 本系統(tǒng)是一個相對簡單的基本應用系統(tǒng),主要滿足傳統(tǒng)的花店運營需要,將自己的銷售渠道擴展到網上,通過簡單的管理,提供給最終消費者產品的展現(xiàn)、購物、訂單處理等一實現(xiàn)鮮花在線銷售。&
7、lt;/p><p> 通過本系統(tǒng)可以管理簡單的在線銷售模式、滿足用戶隨時查詢產品信息,隨時下單購物的應用需求。由于本系統(tǒng)考慮到產品的適應性、安全性和訪問效率,所以,在系統(tǒng)平臺多樣性、技術先進性、功能適應性和靈活性等方面都有考慮,使系統(tǒng)相對完善,具有更好的學習價值。</p><p> 關鍵詞:花店,在線,網店</p><p><b> Abstract &
8、lt;/b></p><p> The present system is a relatively simple and basic applications, mainly to meet the needs of the traditional flower shop operator, will expand its sales channels to the Internet through s
9、imple management, to the final consumer products show, shopping, order processing and so on to achieve a Online sales of flowers. The system can be managed through a simple on-line sales mode, the user at any time to me
10、et the product information, shopping at any time under a single application requirements. As</p><p><b> 一、在 線 花 店</b></p><p> 再線花店系統(tǒng)將傳統(tǒng)的花店經營管理模式與計算機網絡的綜合經營管理模式結合在一</p><p
11、> 起。將人、機、物的需求、活動和運作進行系統(tǒng)分析、設計并管理,一實現(xiàn)現(xiàn)代高效、科學且安全的電子商務。</p><p> 本例通過一個在線花店的實例來介紹ASP與Access數(shù)據庫結合開發(fā)的小型電子商務系統(tǒng)的過程。在系統(tǒng)設計時。從傳統(tǒng)花店的經營模式,網上用戶需求與業(yè)務經營模式,計算機網絡管理、系統(tǒng)設計等幾方面綜合分析,定義系統(tǒng)的輸入、輸出、實現(xiàn)功能、系統(tǒng)運作能力、系統(tǒng)安全性、系統(tǒng)可維護性等各項需求。其中
12、數(shù)據庫采用Access,動態(tài)網頁開發(fā)采用ASP,綜合應用了ADO、數(shù)據庫設計、密碼、身份驗證和緩存等技術。</p><p><b> 二、特 色 突 破</b></p><p> 網上花店系統(tǒng)適合在線銷售鮮花、禮品等,具有商品多屬性檢索(支持多重屬性分類)、</p><p> 購物車、訂單提交和查詢等網上花店所需的基本功能。</p&
13、gt;<p> 本系統(tǒng)采用ASP編寫,在Windows的IIS的支持下運行。為了提高系統(tǒng)的效率,使用戶瀏覽時候響應速度更快,本實例后臺采用了緩存技術。</p><p> 三、 系 統(tǒng) 概 述</p><p><b> 3.1系統(tǒng)設計</b></p><p> 3.1.1 系統(tǒng)功能與應用背景</p><p
14、> 互聯(lián)網以前所未有的速度發(fā)展,成為與報紙、廣播、電視相比肩的第四媒體,同時正以其更捷的信息傳輸形式改變這人們的消費模式,利用簡單、快界、低成本的電子通信方式,買賣雙方不謀面就可以進行各種商貿活動,走向商業(yè)的互聯(lián)網已經成為網絡經濟的大勢所趨。</p><p> 眼下電子商務網站正如雨后春筍般大量涌現(xiàn),企業(yè)網絡化已經一種時尚。電子商務的發(fā)展可能大家都已經耳濡目染,上網的朋友對這已經不再陌生,電子商務確確實
15、實出現(xiàn)在我們周圍。本系統(tǒng)是一個在線花店系統(tǒng),具有在線先手鮮花的基本功能。同過配置,可以作為一個實際應用的鮮花銷售網站。本系統(tǒng)是為傳統(tǒng)經營的花店構建網上銷售渠道而開發(fā)的。</p><p> 本例中的在線花店重要完成的功能如下。</p><p> 鮮花產品選購(可按分類方式查找鮮花種類或通過關鍵字進行查詢)</p><p><b> 購物車功能</
16、b></p><p><b> 查看鮮花詳細情況</b></p><p><b> 用戶注冊</b></p><p><b> 用戶登陸</b></p><p><b> 查看用戶的訂單信息</b></p><p>&
17、lt;b> 用戶評論</b></p><p> 3.1.2 系統(tǒng)瀏覽</p><p> 圖 3-1 是用戶訪問網站的第一個界面,也是本系統(tǒng)的主界面。用戶通過這個主界面可以瀏覽網站各個分類頁面,瀏覽推薦商品和查看分類屬性頁等。</p><p> 圖 3-1 網站的首頁</p><p> 3.1.3 系統(tǒng)特點</
18、p><p> 本章所介紹的實例具有以下特點。</p><p><b> (1)頁面模塊化</b></p><p> 本系統(tǒng)在界面設計上都采用了模塊化處理思想,把很多頁面功用部分集成一個模塊,例如頁面的頭、尾和導航條,這樣在開發(fā)是遇到這些相似的頁面部分,就不需要重新編寫,只要重用這部分即可,大大提高了開發(fā)效率。</p><p
19、><b> ?。?)緩存技術</b></p><p> 把產品導航信息放到內存中緩存起來,大大提高了網站效率和響應速度。</p><p> 3.2 系統(tǒng)設計和架構</p><p> 3.2.1 系統(tǒng)設計思想</p><p> 電子上午發(fā)展已經有10多年的歷史了,在中國很多人對電子商務也逐漸接受和認可。網上購
20、物作為依仗時尚很多人去體會,更有部分人把購物同逛商場等顯示社會服務一樣作為生活的一部分。鮮花作為生活的點綴,也越來越為生活所需要。這種網上買賣鮮花的交易越來越多,也逐漸被廣大消費者所接受。</p><p> 本系統(tǒng)是一個相對簡單的基本應用系統(tǒng),主要滿足傳統(tǒng)的花店運營需要,將自己的銷售渠道擴展到網上,通過簡單的管理,提供給最終消費者產品的展現(xiàn)、購物、訂單處理等一實現(xiàn)鮮花在線銷售。</p><p
21、> 通過本系統(tǒng)可以管理簡單的在線銷售模式、滿足用戶隨時查詢產品信息,隨時下單購物的應用需求。由于本系統(tǒng)考慮到產品的適應性、安全性和訪問效率,所以,在系統(tǒng)平臺多樣性、技術先進性、功能適應性和靈活性等方面都有考慮,使系統(tǒng)相對完善,具有更好的學習價值。</p><p> 本實例把頁面中一些常用的部分集成為模塊,例如頁面的頭和尾部,這樣設計新的頁面如果有重復出現(xiàn)的部分,只需要那現(xiàn)成的模塊來組裝就可以了。<
22、/p><p> 3.2.2 系統(tǒng)結構設計</p><p> 本實例由Web服務器為最終用戶提供展現(xiàn)服務和為管理員提供管理服務;用數(shù)據庫保存產品、用戶和訂單等信息。系統(tǒng)結構如圖3-2所示</p><p> 圖 3-2 系統(tǒng)結構圖</p><p><b> 系統(tǒng)功能模塊細分</b></p><p>
23、;<b> ?。?)用戶管理模塊</b></p><p> 管理用戶登錄、用戶注冊和用戶修改等用戶信息的基本功能,與一般電子商務的用戶管理系統(tǒng)基本相同。</p><p><b> ?。?)產品信息模塊</b></p><p><b> 陳列產品的詳細信息</b></p><p&
24、gt; ?。?)導航分類檢索模塊</p><p> 按不同分類和不同應用導航產品,把相關產品列出。</p><p> ?。?)購物車處理模塊</p><p> 通過cookie技術實現(xiàn)購物車。用戶選者產品后,點擊“購買”進入購物頁面,陳列要購買的產品明細項。</p><p> ?。?)用戶選擇產品完畢,通過購物頁面到訂單結帳頁面,填寫必要
25、的信息,產生最終訂單;還提供訂單查詢功能。</p><p> 3.2.3服務器和ASP運作環(huán)境配置</p><p><b> 1.軟件準備</b></p><p> 本章實例的數(shù)據庫管理軟件采用Access,安裝Office的時候便會附帶安裝Access如果讀者機器上沒有安裝Access,請準備Office軟件;Web服務采用IIS,II
26、S的安裝請參考1.3.4節(jié)。</p><p><b> 2.IIS的配置</b></p><p> IIS默認的Web(主頁)文件存放于系統(tǒng)根區(qū)的“%system%inetpu/wwwroot”中。</p><p> 這里簡單介紹IIS配置虛擬目錄的過程。在“控制面板”,雙擊“管理工具”,在“管人站點”,然后用鼠標右鍵單擊“默認網站”。從
27、彈出的快捷菜單中選擇【新建】→【虛擬目錄】,如圖3-3所示</p><p> 彈出如圖3-4所示的“虛擬目錄別名”對話框。</p><p> 圖3-4指定虛擬目錄別名</p><p> 在如圖3-4所示對話框中填寫虛擬目錄別名,例如“Ivzhi”然后單擊【下一步】按鈕,彈出如圖3-5所示的“網站內容目錄”對話框。</p><p> 圖
28、3-5 選擇實際目錄</p><p> 在圖3-5所示對話框中,單擊【瀏覽】按鈕為該虛擬目錄選擇一個實際目錄(例如)“c:\\www”),然后單擊【下一步】按鈕,最后單擊【完成】按鈕,這樣名為“Ivzhii”的虛擬目錄就創(chuàng)建好了。在實際開發(fā)時,所有頁面都放到“c:\\www”下,訪問時從瀏覽器輸入“http://localhost/Ivzhi/index.asp”,該訪問“c:\\www”下的“index.as
29、p”頁面</p><p> 3.3數(shù)據庫的設計、生成與配置</p><p> 信息管理系統(tǒng)離不開數(shù)據庫,它保存系統(tǒng)用到的數(shù)據。本系統(tǒng)的數(shù)據庫主要用來保存用戶、訂單、產品等信息,所以數(shù)據庫主要用到的表有:用戶表、訂單表、產品表和分類導航4類表。</p><p> 設計數(shù)據庫系統(tǒng)時應該先充分了解各個方面的需求,根據需求決定數(shù)據庫結構。</p><
30、;p> 3.3.1 數(shù)據庫需求分析</p><p> 簡單來說系統(tǒng)有3個對象:用戶、消化產品和訂單。用戶瀏覽鮮花產品,并且在需要的時候下訂單。各這些信息提供增加、修改、保存、更新和查詢,這就要求數(shù)據庫結構能從粉滿足這些信息的輸出和輸入。收集基本數(shù)據、數(shù)據結構及數(shù)據處理的流程,組合一份盡的數(shù)據字典,為程序設計打下基礎。</p><p> 系統(tǒng)需求積累用戶資源,用用戶表來記錄用戶的
31、信息,具體包括用戶的真名、地址、電話、郵編、身份證號、E-mail和密碼等基本信息。</p><p> 網站要給用戶展現(xiàn)產品,把鮮花產品的詳細信息介紹給用戶,需要產品信息表,具體包括產品名稱、各類屬性和所屬分類等。</p><p> 網站是電子商務網站,最終目的是為用戶服務,使用戶瀏覽查后有購買的欲望,進行購買行為。訂單類表格記錄用戶的購買行為,需要記錄購買的產品信息,付款人的信息,收
32、款人的信息,下單時間等。</p><p> 為了方便用戶的查找,提高網站的服務質量,對產品進行不同的屬性導航,一個鮮花產品分可以包含不同的屬性,方便用戶的查找,促進用戶的消費,實現(xiàn)網站的價值,對具體查的屬性進行分類,實現(xiàn)屬性導航表,包括產品屬性分類,產品對應產品屬性的對應表。</p><p> 通過上述系統(tǒng)功能分析,針對一般的在線花店的需求,包括如下數(shù)據表。</p>&l
33、t;p> 網站用戶信息表,包括數(shù)據項、用戶ID、用戶代號等。</p><p> 采購訂單表,包括數(shù)據項、訂單ID、付款人姓名、付款人電話等。</p><p> 訂單明細表,包括數(shù)據項、訂單明細編號、產品ID、訂單ID等。</p><p> 產品表,包括數(shù)據項、產品ID、產品代碼、產品名稱等。</p><p> 用戶評論表,包括
34、數(shù)據項、ID評論內容、用戶名稱等。</p><p> 目錄屬性表,包括數(shù)據項、目錄編號名字、目錄編號等。</p><p> 導航屬性字典表,包括數(shù)據項、導航ID數(shù)字類型ID、文本類型ID。</p><p> 產品導航屬性對應表,包括數(shù)據項、導航類型ID、導航名稱等。</p><p> 3.3.2數(shù)據庫概念結構設計</p>
35、<p> 得到上面的數(shù)據項和數(shù)據結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據的流動。</p><p> 本實例設計規(guī)劃出的實體包括網站用戶實體、采購訂單明細實體、產品實體、用戶評論實體、目錄信息實體、目錄屬性實體、導航屬性實體、查導航屬性對應關系實體。圖3-6為實體間關系的E-R圖</
36、p><p> 圖3-6 實體關系E-R圖</p><p> 圖3-7為網絡用戶實體E-R圖。圖3-8為采購訂單的實體E-R圖。</p><p> 圖3-7網站用戶實體E-R圖 圖3-8采購訂單實體E-R圖</p><p> 圖3-9為訂單明細實體E-R圖。圖3-10為產品實體E-R圖。</p><p>
37、; 圖3-9訂單明細實體E-R圖 圖3-10產品實體E-R圖</p><p> 圖3-11為用戶評論實體E-R圖。 圖3-12為目錄信息實體E-R圖</p><p> 圖3-11 用戶評論實體E-R圖 圖3-12目錄信息實體E-R圖</p><p> 圖3-13為目錄屬性實體E-R圖。 圖3-14為導
38、航屬性字典實體E-R圖。</p><p> 圖3-13 目錄屬性實體E-R圖 圖3-14導航屬性字典實體E-R圖</p><p> 圖3-15為產品導航屬性對應關系E-R圖</p><p> 圖3-15 產品導航屬性對應關系E-R圖</p><p> 3.3.3數(shù)據庫邏輯結構設計</p>
39、;<p> 數(shù)據庫的概念結構設計完畢后,現(xiàn)在可以將上面的數(shù)據庫概念結構轉化為某種數(shù)據庫系統(tǒng)所支持的實際數(shù)據模型,也就是數(shù)據庫的邏輯結構。本章實例系統(tǒng)采用Access數(shù)據庫,因此在設計本章實例系統(tǒng)數(shù)據庫概念結構時,需要遵循Access數(shù)據庫的語法結構。</p><p> 在線花店系統(tǒng)中各個表的設計結果如下面表格所示。每個表格表示在數(shù)據庫中的一個表,</p><p> 表3
40、-1為用戶表,記錄某個用戶的信息。</p><p> 表3-1中autoid是用戶網站惟一標識,Useid是在用戶注冊時自己選擇的名字,其他是擁護需要的屬性。</p><p> 表3-2為產品信息列表,記錄花店現(xiàn)有的產品信息。</p><p> 表3-2中Autoid是產品在網站的惟一標識,在數(shù)據增加是自動生成,category是對應目錄表的分類字符串。<
41、;/p><p> 表3-3中目錄信息表,記錄花店的分類信息。</p><p> 表3-3 directory目錄信息表</p><p> 表3-3中目錄用字符串分級表示,產品的種類對應目錄代碼。</p><p> 表3-4為訂單信息表,記錄花店的訂單信息。</p><p> 表3-4 myorder訂單信息表
42、</p><p> 表3-4中的autoid是訂單在網站的惟一表識,數(shù)據增加是自動生成,category是對應目錄表的分類字符串。訂單的付款人一般是網站的會員,收款人可以是自己,也可以是自己的朋友,所以對這兩方面信息分開進行記錄。</p><p> 表3-5為訂單名細表,極力花店定單具體購買的產品信息。</p><p> 表3-5 orderitem訂單明細
43、表</p><p> 訂單明細表和訂單表是多對一的關系,就是一張訂單可以有多個產品。</p><p> 表3-6為目錄性表,記錄花店目錄的屬性。</p><p> 表3-6 directoryproperty目錄屬性表</p><p> 目錄屬性是為了更好的導航產品,目錄的產品有不同的屬性,比如鮮花的用途、花材、對象等屬性。<
44、/p><p> 表3-7為導航屬性字典表,記錄花店目錄的屬性值。</p><p> 表3-7 navigationdict導航屬性字典表</p><p> 導航屬性字典對應表3-6目錄屬性表的auotid字段,換種說法就是目錄有什么屬性,屬性具體對應什么值。比如鮮花目錄的用途屬性有戀情、生日、友情、祝福、婚慶、商務等不同的用途。</p><p
45、> 表3-8為產品導航屬性對應表,記錄花店產品對應的不同屬性。</p><p> 表3-8 navigationrelation 產品導航屬性對應表</p><p> 一個產品可以對應多個導航屬性,最終用戶可以根據不同的屬性瀏覽產品,方便用戶查找產品。</p><p> 表3-9為用戶評論表,記錄用戶對產品的評論。</p><p&g
46、t; 表3-9comment 用戶評論表</p><p> 表3-9記錄用戶對查的評論,userautoid為0客人,不是網站用戶。</p><p> 3.4公用模塊的編寫</p><p> 3.4.1數(shù)據庫連接文件</p><p> 把數(shù)據庫連接操作作封狀在一個頁面Commondb.asp中,以方便其他頁面調用。例程3-1為Com
47、mondb.asp頁面的參考代碼。</p><p> 例程3-1 數(shù)據庫連接頁面commondb.asp</p><p><b> <%</b></p><p> const myDatabase="lvzhi" 'Database name</p><p> const my
48、dblocation="db/"'location of database relative to </p><p><b> %></b></p><p> 例程3-1定義了兩個常量myDatabase和mydblocation,其中m,yDatabase為數(shù)據庫名稱,mydblocation為數(shù)據庫存放位置,如果需要修改數(shù)據庫
49、存放位置和名稱,就修改myDatabase和mydblocation這2個變量的值。</p><p> 例程3-1中引入了頁面allcommon,asp,allcommon,asp頁面中定義了數(shù)據庫連接的操作函數(shù),例程3-2為這些函數(shù)定義的參考代碼。</p><p> 例呈3-2 allcommon.asp定義的數(shù)據庫公用函數(shù)代碼</p><p> 打開數(shù)據庫
50、 最頂級函數(shù)</p><p><b> <%</b></p><p> ' Debug Message</p><p> Sub Debug (msg)</p><p> response.write msg & "<br>"</p><
51、p><b> end sub</b></p><p> ' get ComeFrom Cookie</p><p> function getComeFromCookie()</p><p><b> dim ret</b></p><p> ret=Request.Co
52、okies("comefrom")</p><p> if (comefrom=null) then</p><p><b> ret=""</b></p><p><b> end if</b></p><p> getComeFromCookie=
53、ret</p><p> end function</p><p> const myCookieKey="lvzhi"</p><p> const myUseCookies="no"</p><p> Sub SetSess (field, value)</p><p&g
54、t; If myUseCookies<>"Yes" then </p><p> Session(field)=value</p><p><b> else</b></p><p> Response.cookies(myCookiekey) (field)=value</p><p
55、><b> end if </b></p><p><b> end sub</b></p><p> Sub ProcessAccessOpen(connection)</p><p> dim strconn</p><p> strconn = "provider
56、=microsoft.jet.oledb.4.0;persist security info=false;data source=" & Server.MapPath( mydblocation & myDatabase & ".mdb")</p><p> Set connection = Server.CreateObject("ADODB.
57、Connection")</p><p> on error resume next</p><p> connection.open strConn</p><p> If connection.errors.count> 0 then</p><p> SetSess "Openerror",
58、"Open Messages<br>" & connection.errors(0).description & " <br>" & GetSess("dbc")</p><p><b> else</b></p><p> SetSess "Op
59、enerror",""</p><p><b> end if</b></p><p><b> End Sub</b></p><p> ' main database open for shop</p><p> Sub ShopOpenDataBa
60、se (connection)</p><p> ProcessAccessOpen connection</p><p><b> end sub</b></p><p> ' close database </p><p> Sub CloseRecordSet (irs)</p>&l
61、t;p><b> irs.close</b></p><p> set irs=nothing</p><p><b> end sub</b></p><p> '***************</p><p> Sub ShopCloseDatabase (connect
62、ion)</p><p> on error resume next</p><p> connection.close</p><p> set connection=nothing</p><p><b> End sub</b></p><p> 'disable prop
63、erty 對應的產品列表</p><p> sub disableListFlower(property,value)</p><p><b> dim ret</b></p><p> dim myname</p><p> if (property="0") then</p>
64、<p> myname="List" &property & "F"</p><p><b> else</b></p><p> myname="List" &property & "F" &value</p>&l
65、t;p><b> end if</b></p><p> Application(myname)=""</p><p><b> end sub</b></p><p> 'List property 對應的產品列表</p><p> function
66、 GetListFlower(property,value)</p><p><b> dim ret</b></p><p> dim myname</p><p> if (property="0") then</p><p> myname="List" &p
67、roperty & "F"</p><p><b> else</b></p><p> myname="List" &property & "F" &value</p><p><b> end if</b></p&
68、gt;<p> ret=Application(myname)</p><p> if (ret="") then</p><p> ret=GetListFlowerFromDB(property,value)</p><p> Application(myname)=ret</p><p><
69、;b> end if</b></p><p> GetListFlower=ret</p><p> end function</p><p> 'List property 對應的產品列表 從數(shù)據庫</p><p> function GetListFlowerFromDb(property,value
70、)</p><p> Dim ret,dbc,query,rs,mycondition</p><p> shopopendatabase dbc</p><p> query = "select result from navigateresult "</p><p> mycondition="wh
71、ere sort=0 and property="&property &" and value="&value</p><p> query=query & mycondition</p><p> set rs = dbc.execute(query)</p><p><b> ret=
72、""</b></p><p> if not rs.EOF then</p><p> ret=CStr(rs("result"))</p><p><b> end if</b></p><p> closerecordset rs</p>&l
73、t;p> shopclosedatabase dbc</p><p> GetListFlowerFromDb=ret</p><p> end function</p><p> 'dir 對應的產品列表</p><p> function GetDirProduct(dir)</p><p&g
74、t;<b> dim ret</b></p><p> if (dir =null or dir="") then</p><p><b> dir=""</b></p><p><b> end if</b></p><p>
75、 dim dirname</p><p> dirname="dir" & dir</p><p> ret=Application(dirname)</p><p> if (ret="") then</p><p> ret=GetDirProductFromDB(dir)</
76、p><p> Application(dirname)=ret</p><p><b> end if</b></p><p> GetDirProduct=ret</p><p> end function</p><p> 'dir 對應的產品列表,從數(shù)據庫讀出</p>
77、;<p> function GetDirProductFromDB(dir)</p><p><b> dim ret</b></p><p> Dim dbc,query,rs</p><p> shopopendatabase dbc</p><p> if (dir=""
78、;) then '讀出所有產品</p><p> query = "select autoid from product order by priority"</p><p><b> else</b></p><p> query = "select autoid from product w
79、here Left(category,"+Cstr(len(dir))+")='"&dir&"'"</p><p><b> end if</b></p><p> set rs = dbc.execute(query)</p><p><b>
80、 ret=""</b></p><p> Do WHILE not rs.EOF</p><p> if (ret="") then</p><p> ret=CStr(rs("autoid"))</p><p><b> else</b>&
81、lt;/p><p> ret=ret+","+CStr(rs("autoid"))</p><p><b> end if</b></p><p> rs.movenext </p><p><b> Loop</b></p>&l
82、t;p> closerecordset rs</p><p> shopclosedatabase dbc</p><p> GetDirProductFromDb=ret</p><p> end function</p><p><b> 產品類定義</b></p><p>
83、 'Class Product</p><p> 'public name,autoid,saleprice,Desc,marketPrice,vipPrice,netImageSmall,netImageMid,netImageBig</p><p> 'End Class</p><p><b> '得到對應的產
84、品</b></p><p> function GetProduct(ID)</p><p><b> dim ret</b></p><p> if (ID =null or ID="") then</p><p><b> ID="1"</b
85、></p><p><b> end if</b></p><p> dim productname</p><p> productname="P" & ID</p><p> ret=Application(productname)</p><p>
86、 if ( not IsArray(ret)) then</p><p> ret=GetProductFromDB(ID)</p><p> Application(productname)=ret</p><p><b> end if</b></p><p> GetProduct=Application(
87、productname)</p><p> end function</p><p><b> '得到對應的產品</b></p><p> sub disableProduct(ID)</p><p><b> dim ret</b></p><p> if
88、 (ID =null or ID="") then</p><p><b> ID="1"</b></p><p><b> end if</b></p><p> dim productname</p><p> productname="
89、P" & ID</p><p> Application(productname)=""</p><p><b> end sub</b></p><p> '對應的產品,從數(shù)據庫讀出</p><p> dim FIELDAUTOID,FIELDNAME,FIELDS
90、ALEPRICE,FIELDDESC,FIELDMARKETPRICE</p><p> dim FIELDVIPPRICE,FIELDNETIMAGESMALL,FIELDNETIMAGEMID,FIELDNETIMAGEBIG,FIELDCODE</p><p> FIELDAUTOID=0</p><p> FIELDNAME=1</p>
91、<p> FIELDSALEPRICE=2</p><p> FIELDDESC=3</p><p> FIELDMARKETPRICE=4</p><p> FIELDVIPPRICE=5</p><p> FIELDNETIMAGESMALL=6</p><p> FIELDNETIMAGEM
92、ID=7</p><p> FIELDNETIMAGEBIG=8</p><p> FIELDCODE=9</p><p> function GetProductFromDB(ID)</p><p> dim ret(10)</p><p> Dim dbc,query,rs</p><
93、p> shopopendatabase dbc</p><p> query = "select * from product where autoid="&ID</p><p> set rs = dbc.execute(query)</p><p> if not rs.EOF then</p><
94、;p> ret(FIELDAUTOID)=rs("autoid")</p><p> ret(FIELDNAME)=rs("name")</p><p> ret(FIELDSALEPRICE)=rs("saleprice")</p><p> ret(FIELDDESC)=rs("
95、description")</p><p> ret(FIELDMARKETPRICE)=rs("marketprice")</p><p> ret(FIELDVIPPRICE)=rs("memberprice")</p><p> ret(FIELDNETIMAGESMALL)=rs("myima
96、geurl")</p><p> ret(FIELDNETIMAGEMID)=rs("myimageurl")</p><p> ret(FIELDNETIMAGEBIG)=rs("myimageurl")</p><p> ret(FIELDNETIMAGESMALL)=rs("netimageur
97、lsmall")</p><p> 'ret(FIELDNETIMAGEMID)=rs("netimageurlmid")</p><p> 'ret(FIELDNETIMAGEBIG)=rs("netimageurlbig")</p><p> 'ret(FIELDCODE)=rs(&
98、quot;code")</p><p><b> else</b></p><p> ret(FIELDAUTOID)=-1</p><p><b> end if</b></p><p> closerecordset rs</p><p> shopc
99、losedatabase dbc</p><p> GetProductFromDB=ret</p><p> end function</p><p><b> %> </b></p><p> 3.4.2頁面頭文件</p><p> 為了實現(xiàn)代碼復用,把頭文件設計成公用模塊,單
100、獨保存為一個文件,其他頁面應用的時候只要包含這個頭文件就可以了。 頭文件中主要放置網站標志和各個2級頻道,保存成HTML文件格式,放置到文件夾inc/下,文件名稱為top.html.這樣其他頁面只要應用<!_ _#include file=”inc/top.html”_ _>,就可以使其他頁面具有風格統(tǒng)一的“頭”。</p><p> 圖3-16 網站頭文件預覽果圖</p>&l
101、t;p> 3.4.3頁面尾文件</p><p> 和頁頭一樣,我們把版權聲明等信息保存在尾文件bottom.html中,本實例的尾部文件預覽果如圖3-17所示。</p><p><b> 用戶登錄判斷</b></p><p> 用戶登錄判定一般由兩個頁面組成,頁面login.asp提供表單讓用戶輸入用戶名和密碼,當用戶單擊頁面中【
102、登錄】按鈕時,把用戶名、密碼提交到另一個頁面userlogindo.asp,由userlogindo.asp頁面作具體的登錄處理。</p><p> Login.asp就是一個簡單的包含表單的HTML頁面,并引入公用頭尾文件,不過login.asp需要用到javascipt驗證表單,防止用戶輸入空信息。圖3-18為網站登錄頁面login.asp.的預覽效果。</p><p> 例程3-
103、3為login.asp頁面中表單驗證的javascript代碼。</p><p> 例程3-3 javascript校驗代碼</p><p> <script language="javascript"></p><p> function userloginsubmit()</p><p><b&
104、gt; {</b></p><p> var flag=false;</p><p> if(document.loginForm.USERID.value==null|| document.loginForm.USERID.value=="")</p><p><b> {</b></p>
105、<p> alert("請輸入您的用戶名!");</p><p> document.loginForm.USERID.focus();</p><p> flag=true;</p><p><b> }</b></p><p> if(document.loginForm.P
106、ASS.value==null|| document.loginForm.PASS.value=="")</p><p><b> {</b></p><p> alert("請輸入密碼!");</p><p> if (flag==false)</p><p> docu
107、ment.loginForm.PASS.focus();</p><p> flag=true;</p><p><b> }</b></p><p> if(flag==false)</p><p><b> {</b></p><p> document.log
108、inForm.submit();</p><p><b> } </b></p><p> return false; </p><p><b> }</b></p><p> function userloginkeydown()</p><p&g
109、t;<b> {</b></p><p> if (window.event.keyCode=="13")</p><p> userloginsubmit();</p><p><b> }</b></p><p> function userloginuserid(
110、)</p><p><b> {</b></p><p> if (window.event.keyCode=="13")</p><p> document.loginForm.PASS.focus();</p><p><b> }</b></p>&l
111、t;p><b> </script></b></p><p> 在例程3-3中函數(shù)userloginsubmit()主要在用戶單擊【登錄】按鈕的時候驗證用戶輸入的用戶名、密碼是否為空。</p><p> 函數(shù)userloginkeydown(),主要完成當用戶按回車鍵時,提交表單,也就時說當用戶輸入用戶名、密碼后單擊【登錄】按鈕或者按回車鍵都會
112、提交表單。實現(xiàn)這個功能是為了用戶界面友好,方便最終用戶的使用。</p><p> 函數(shù)userloginuserid()主要完成當用戶輸入完用戶名按回車時,焦點跳到輸入密碼的文本框中。</p><p> Userlogindo.asp主要完成用戶登錄的判定,把用戶登錄信息更新數(shù)據庫和session等,例程3-4為頁面Uselogindo.asp登錄代碼。</p><
113、p> 例程 3-4 Userlogindo.asp 登錄代碼</p><p><b> <%</b></p><p> dim dbc, url</p><p> dim forwardURL</p><p> dim strpassword, returnurl</p><p&
114、gt; strPassword=Request("strPassword")</p><p> stremail=request("stremail")</p><p> strpassword=replace(strpassword,"=","")</p><p> strem
115、ail=replace(stremail,"=","")</p><p> stremail=replace(stremail,"'","''")</p><p> strpassword=replace(strpassword,"'","&qu
116、ot;)</p><p> returnurl=request("returnurl")</p><p> if strEmail="" then</p><p> sError = sError & "請輸入Email<br>"</p><p><b
117、> end if</b></p><p> if strPassword="" then</p><p> sError = sError & "請輸入口令<br>"</p><p><b> end if</b></p><p>
118、If sError="" then</p><p> RetrieveLoginData</p><p><b> else</b></p><p> Serror= "請登錄" & "<br>" & Serror</p><p&g
119、t;<b> end if</b></p><p> setsess "Loginerror",Serror </p><p> Setupreturnurl url</p><p> Response.redirect url</p><p> Sub RetrieveLogindat
120、a</p><p> Dim fieldvalue</p><p> If GetSess("Login")="" then</p><p> SetSess "Login","Force"</p><p><b> end if</b&g
121、t;</p><p> LocateCustomer strLastName, stremail , strpassword</p><p> If strCustomerID <>"" then</p><p> LngLoginCount=lngLoginCount+1</p><p> Updat
122、eCustomerSessionData</p><p> UpdateLoginData</p><p> SetSess "Login",strlastname </p><p> SetSess "realname",strlastname </p><p><b> Else&
123、lt;/b></p><p> SError = SError & getlang("langLoginLocateFail") </p><p> SetSess "Login", ""</p><p><b> end if</b></p><
124、;p> ShopCloseDatabase dbc</p><p> set rs=nothing</p><p><b> end sub</b></p><p> Sub UpdateLoginData</p><p><b> Dim dbc</b></p>&l
125、t;p> 'on error resume next</p><p> OpenCustomerDB dbc</p><p> 'response.write "Login count" & lngLoginCount</p><p> sql = "update customers set &qu
126、ot;</p><p> sql = sql & "logincount=" & lnglogincount</p><p> 'sql = sql & ",lastlogindate='" & date() & "'"</p><p>
127、 sql = sql & ",lastlogindate=" & datedelimit(date() )</p><p> sql = sql & " where contactid=" & strcustomerid</p><p> dbc.execute(sql)</p><p>
128、 ShopCloseDatabase dbc</p><p><b> end sub</b></p><p> ' determine where to go to</p><p> Sub SetupReturnurl (url)</p><p> if returnurl<>"
129、;" then </p><p> if Serror="" then</p><p> url=returnurl</p><p><b> exit sub</b></p><p><b> else</b></p><p> ur
130、l="UserLogin.asp"</p><p><b> end if</b></p><p><b> exit sub</b></p><p> end if </p><p> If Getsess("Followonurl")
131、="" and getsess("Currenturl")="" then</p><p> If Serror="" then </p><p> url=getconfig("xhome")</p><p><b> else</b>&
132、lt;/p><p> url="UserLogin.asp"</p><p><b> end if</b></p><p> exit sub </p><p><b> end if </b></p><p> If Serror=
133、"" then </p><p> url=GetSess("FollowonURL")</p><p><b> else</b></p><p> url=getSess("CurrentURL")</p><p><b> end if&
134、lt;/b></p><p><b> end sub</b></p><p><b> %></b></p><p> 3.5前臺界面設計與實現(xiàn)</p><p><b> 3.5.1首頁設計</b></p><p> 一般的電子商
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計----網上花店系統(tǒng)
- 畢業(yè)設計---網上鮮花店管理系統(tǒng)
- 畢業(yè)設計---網上鮮花店管理系統(tǒng)
- 網上鮮花店管理系統(tǒng)畢業(yè)設計
- 網上花店訂購系統(tǒng)畢業(yè)設計
- 網上花店系統(tǒng)畢業(yè)設計論文
- 畢業(yè)設計---網上花店管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計---花店網上銷售系統(tǒng)的設計
- jsp網上鮮花店管理系統(tǒng)畢業(yè)設計論文
- 基于web的網上花店系統(tǒng)畢業(yè)設計
- 畢業(yè)論文-“有間花店”網上花店管理系統(tǒng)
- 網上花店管理系統(tǒng)_畢業(yè)論文
- 畢業(yè)設計--“網上花店”的設計與制作
- 畢業(yè)設計--網上花店的設計與開發(fā)
- 網上花店系統(tǒng)畢業(yè)論文
- 網上花店管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計(論文)基于jsp技術的網上花店系統(tǒng)設計與實現(xiàn)
- 畢業(yè)設計--鮮花店網上訂花系統(tǒng)分析與設計
- 網上花店管理系統(tǒng)畢業(yè)論文(含外文翻譯)
- 網上花店管理系統(tǒng)的設計與實現(xiàn).pdf
評論
0/150
提交評論