電子商務中購物車的實現_第1頁
電子商務中購物車的實現_第2頁
電子商務中購物車的實現_第3頁
電子商務中購物車的實現_第4頁
電子商務中購物車的實現_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子商務中購物車的實現128福建電腦2005年第8期電子商務中購物車的實現張莉(廣東女子職業(yè)技術學院計算機系廣東廣州511450)【摘要1采用ASP(ActiveServerPages)編程技術設計購物車來實現顧客在網上超市選購,查詢商品.完成購物清單的提交.實現網上購物的功能.購物車是超市中供每住顧客選購商品時使用,進入網上超市后,每人都有屬于自己的購物車.它自動記錄井計算你選購的商品及其價格.在購物車中您還可以改變商品的數量或取消對某商品的選購.【關鍵字1購物車,訂單.數據庫一,引言近年來由于信息科技的進步,互聯(lián)網的盛行以及普及的過程.互聯(lián)網已通過以往只有大型企業(yè)公司才能擁有的設備,逐漸普

2、及到一般中小企業(yè)公司.并且也因為互聯(lián)網的盛行.改變了許多公司的傳統(tǒng)業(yè)務行銷方式.網上超市就是利用網絡的便利.與顧客直接從網上進行商品交易.當用戶找到自己想要的商品后.接下來就要選購物品了.如果增加或減少某種商品的數量.或者是撤消對某商品的選購.也只是點一下鼠標就可以完成;點擊商品旁邊的購買按鈕即實現商品的選購.商品放進屬于自己的購物車中.購物車是超市中供每位顧客選購商品時使用的工具.進入網上超市后.每人都有屬于自己的購物車.它自動記錄并計算你選購的商品及其價格.在購物車中您還可以改變商品的數量或取消對某商品的選購.如果您還要選購其他商品,則選擇"繼續(xù)選購"的動作:也可以經由

3、"查看購物車"確認對商品的選購后進入"付款處"結算.最后還應考慮到.顧客有時可能要求結賬,也可能是要求繼續(xù)選購商品.所以在用戶已經選購的商品清單中應設計三個按鈕.分別是"繼續(xù)購物","重新計算價格","提交定單".顧客在每次操作后.都能看到當前所選購商品的清單,包括選購的各種商品的數量,購置該種商品的總金額,以及購置商品的合計金額.如果您已經注冊為會員并已登錄.則在付款處中形成您的購物訂單;否則您可以進行注冊或登錄.以便將您的個人詳細聯(lián)系資料與購物單形成訂貨單.二,購物程序設計2.1設計前的準備

4、根據估計用戶的訪問量,選擇一臺服務器.保證系統(tǒng)穩(wěn)定運行即可.對于軟件的要求.推薦使用Windows2000Server作為服務器操作系統(tǒng).MicrosoftAccess作后臺數據庫管理.2.2建立數據庫對于這個網站.我們可以創(chuàng)建一個含有多個表的數據庫market.其中包含有用戶注冊,產品登記,用戶定貨,貨品細節(jié),用戶信息反饋等表.在此列出與購物車相關的幾個表的定義:1,產品登記表(products)括以下幾個字段:表一:products字段名稱字段類型字段說明hemid自動編號作為記錄識別標記的長整型類型itemproductnumber文本對每個產品唯一的識別標記itemname文本包含產品

5、名稱itemdescription文本允許對產品的描述itempicturefde文本用來顯示網上產品的圖片文件itemregularprice貨幣產品的普通價格itemsalepfice貨幣產品的特殊價格itemstockquantity數字產品的數量beginspecia1日期,時問包含產品顯示的第一個13期endspeei日期,時間產品的最后顯示日期2,定貨表(orders)包括以下幾個字段:表二:orders字段名稱字段類型字段說明orderld自動編號作為記錄識別標識ontentate日期,時間定單完成日期oIderfime日期,時問定單完成時問customemame文本定貨用戶名稱

6、customeraddress文本定貨用戶地址customercity文本定貨用戶所在省customertate文本定貨用戶所在城市customerzip文本定貨用戶所在區(qū)郵政編碼customerphone文本定貨用戶 號碼orderamount貨幣定單金額paymentmethod文本付款方式3,貨品細節(jié)表(orderdetails)包括以下幾個字段:表三:orderdetails字段名稱字段類型字段說明orderid數字識別從與該項細節(jié)相關orders表中取出的記錄productnumber文本識別此細節(jié)記錄表示的產品的產品號碼quantity數字表示定貨量price貨幣定貨時的產品價格2

7、_3核心腳本程序(globa1.asa)作為系統(tǒng)的全局文件.Global,asa建立在整個應用程序中使用的會話變量.代碼放在Globa1.asa文件的子過程Session_On-Start中.當有顧客光臨網站時,即當有用戶連接到網站時,執(zhí)行此代碼.Gl0ba1.asa對每個脫離區(qū)建立下列變量:Session("CarthemNumArray")是一個包含識別用戶加入購物車的產品的項目號碼的陳列.Session("CartItemQtyArray")是另外一個數組,包含用戶購物車中產品各自的數量.Session("DBLogin",包含

8、連接應用程序的主要數據資源所需要的登錄信息.假定服務器上已建立了一個ODBC連接.DSN會是該變量的一部分.Session("shipbasecharg")和Session("shipitmcharg")包含在線超市的定貨的運費.第一個變量表示每個訂單費用(底價),第二個表示每項的費用.這樣.一個定單的全部費用就是底價加上運送的貨物項數與每項的費用的乘積.變量session("cartltemnumarmy")和session(cartitemsession")用來實現頁面之間的用戶購物車的內容傳送.其它三個變量ssion(

9、"dblogin"),session("shipbasecharge")和session("shipitemcharge")在此建立以便在需要時可以改變.Globa1.asa程序代碼如下:<SCRIPTLANGUAGE=VBSeriptRUNA1.-Server>SubSession_OnStmdimshemNums(O),nltemQtys(0)shemNums(O)=.nhemQtys(O)=02005年第8期福建電腦129session("C.m'tltemNumArray"

10、;,shemNumsseseion("CartltemQtyArry,=nltemQtyssession(DBLogin",=DSN=marketsession("shipbasecharge,=4.50seseion("shipitemeharge")=1.25EndSub?=sCR2.4網站首頁(default.asp)作為整個網上超市的首頁.是用戶訪問網站時看到的第一個頁面,也是實現購物車的一個入口頁面.因此.這個頁面應該是簡單而引人注目的,我們這里設計的效果是用戶看到此頁面后可以用兩種方式購買貨物.第一,在首頁上提供一個用戶可以輸入搜索

11、關鍵字的表單.方便用戶進入網站后查找自己想要的商品;第二,在底部列出了用戶當前可以選擇的數據庫中特價產品.用戶可以用每項產品旁邊的購買按鈕選擇產品.下面是default.asp中包含的幾個功能模塊:2.4.1查詢產品Default.asp文件中包含一個輸入文本框(如圖一),用戶可以輸入與他要尋找的產品的名稱,項目號碼或描述相符的關鍵字.點擊搜索按鈕把這個表提交給prodsearch.asp,它依次執(zhí)行實際的搜索并顯示結果.圖一:搜索引擎界面<formaction="prodsearch.asp"method"POST">&am

12、p;lt;inputtype"Text"name"txtSearch"></forrn>2.4.2顯示特殊產品在default.asp的后面幾行中,還要用一個sql語句尋找主要數據庫的products表中的記錄,在products表中,當前日期在beginspeeial和endspeeial域之問.此sql語句用來創(chuàng)建一個包含滿足枵準的記錄的記錄集rsproduets.檢查記錄集的eof屬性來確定是否找到了相符的記錄,若有,則創(chuàng)建一個顯示產品的表.執(zhí)行代碼如下:<.壓setdbMain=server

13、.ereatcobject(ADODB.Connection"】dbMain.opensession("dblogln")SetrsProducts魯Server.CreateObject(ADODB.Recordset.】6sQL="SELECT'FROMproductsWHEREbeginspecial(=#"&dateO&"#&.ANDendspecial>=#&date0&#rsPIoducts.open%>這些

14、代碼在記錄集rsproduets的記錄間循環(huán),每次調用一個名為writeproduetrow的子過程.2.4.3顯示某具體產品如上所述,writeproduetrow是要在已定義的表中,創(chuàng)建一個顯示rsproduets的記錄集,并顯示當前記錄表示的特定產品相關信息.這些相關信息包括下列部分:該產品的圖片.圖片的名稱是通過products表的itempic.turefde域的值而獲得的.包含該產品的項目號(pmduetid),名稱(pr0ductrIaIIIe)和描述(description)的信息單元.其中每個項目用特定的字體和不同的顏色顯示,使其容易識別.顯示產品當前的價格單元.如果產品有特

15、價(可從item.saleprice域取得),則也報出與普通價格作比較,該單元還包含一個用兩個特定字符串對shopcart.asp的鏈接.用querystrlng的方法傳送,其中一個告訴shopeart.asp處理的模式是add.一個傳送項目號products.shopcart.asp是一個頁面,用來把產品加入到用戶的購物車.2.5購物車程序(shopcart,asp)購物車可以算是網上超市中的核心頁面.在實際的超市中,顧客把自己喜歡的東西放在購物車中,最終,有時這些貨物將被購買,而有時顧客又會將商品退回.所以程序中也要把這些情況都考慮到,整個購物車g設計流程如下(如圖-).圍二:購物車流程圖

16、Shopeart.asp程序結構:(%sCarthemNunm=session("cartitemnumarray"1nCarthemQtys=session(cartitemqtyarray")nNumCaltema=ubound(sCarthemNums)確定將采取那種工作模式.如果提交的模式是add.那么就添加購物記錄sMode=request.querystdnmode,此外.還可以直接從form中得到工作模式.取得三個按鈕對應的值selectcaserequest.formCemdSubmit1case填寫訂單sMode="checkoutcd

17、se.重新計算價格sMode=Rc丑lccase繼續(xù)購物sMode=.continue"endselect如果工作模式是addifsMode;add"thennThisltemlndex=0ifsMode=recale"orsMode=checkoutorsMode=continue.thenendif根據不同的模式重定向頁面.如果是add或者meal則仍然處在shopearLasp中如果是c0ntinue'則重定向到首頁default.asp.這樣顧客可以接著購買其他東西如果是checkout.仍然在shopeart.asp.但是模式已經發(fā)生變化sele

18、ctcascsModecase.continueresponse.recrecdefault.asp.)ifsMode=.checkout.therIsPageHead=在線超市訂單填寫.%IfsMode="checkout.then%><formaction=submitorder.aspmethod="POST'>%ifsMode="checkout"then%>您如果要購買所選中的商品.請詳細提供以下資料.然后單擊發(fā)出訂單按鈕.%endif%>通過查看以上代碼可以看出.s

19、hopcart.asp以幾種模式中的一種運行.如果提交的模式是add,那么就添加購物記錄,根據不同的模式重定向頁面.如果是add或者fecal則仍然處在shopcart.asp中,如果是continue,則重定向到首頁defauh.asp.這樣顧客可以接著購買其他商品,如果是checkout,仍然在shop-cart.asp.但是模式已經發(fā)生變化.如果我們在網站首頁選中了一種貨物,然后單擊購買按鈕,轉130福建電腦2005年第8期將會把商品放人購物車中.并顯示出商品的部分信息,并同時提供給用戶三個按鈕進行選擇(如圖三).皂蚌辨程在魯j下奢卻r基2貿舀墨3苫薹露爨盤賽囂g器強:蕊疆=基輟酗畫妊蔓

20、棼罄囂蘩囂-l|黎纂整鷲l蚤餐黎毽強棼鏊靜籬1薅器甏湛醚彝§鏊罄鬻葭盤,黧甏鼙閼蘭譬鯉生苧塑圈三:購物車信息2.5.1shopcart.asp的結構如果頁面由一個模式查詢字符調人,則調用add模式,否則,頁面可能由一個使用了cmdsubmit(-組submit之一)的表調人.shopcart.asp可以由request.form("cmdsubmit")的值確定哪種模式正在起作用.在頁面不同位置,根據當前的操作模式執(zhí)行不同的代碼.每一個模式都有一個HTML(HypertextMarkupLanguage)表單.在add和recalculate模式下,表單的提交對象

21、仍然是shopcart.asp本身.主要原因是:如果用戶改變了購物車中一項或幾項產品的數量.在重新引導到另一個頁面之前有機會在shop.cart.asp中執(zhí)行代碼來改變購物車會話變量.2.5.2顯示價格等相關信息在shopcart.asp底部用來顯示用戶購物車的內容,它通過使用ASP(ActiveServerPage)和一般HTML的集成來完成該任務.該代碼在代表購物車的數組中逐個遍歷.可以找到數據庫中每項的位置,顯示該項的信息,并對價格進行計算.在購物車中所有項目顯示完后,計算運輸費,根據公司收費標準,我們定義的運費計算方法為:4.5+f1.25*Nnumitems).即產品的總運費為4.5

22、元再加每件產品1.25元的運輸費運(基于在golba1.asa中描述的會話變量shipbasecharge和shipitemcharge).最后,顯示定購總數,定額總數為購買商品的總費用和運輸費用之和.2.6幾種具體的工作模式2.6.1add模式用戶點擊要購買物品旁邊的購買按鈕時,第一次調用shop-cart.asp.購買按鈕把兩個查詢字符串傳送到shopcart.asp,如下例:<ahref=shopcart.asp?mode=add&itemno=Ims一0218>所以shopcart.asp執(zhí)行時,根據查詢字符串mode的值是add,于是啟動a

23、dd模式,執(zhí)行以ifsmodem"add"開始的代碼區(qū).這個代碼區(qū)瀏覽scartitemmums數組,它是作為用戶的購物車的一部分在整個會話中傳送的.從而查看數組中是否已經有了itemno查詢字符串表示的項目號碼.如果有,則為該項的數量加1,否則,把這一項加入到這個數組中.對購物車執(zhí)行了這次添加后.大部分其余的asp代碼就不再執(zhí)行,因為它應用于其他模式.而每次數shopcart.asp只會在一個模式下工作.2.6.2connue模式單擊"繼續(xù)購物"按鈕.contiue模式起作用.它把shopca.asp表單內容提交給shopcart.asp程序本身.執(zhí)行

24、代碼來響應用戶對數量的改變并更新購物車會話變量.然后該用戶被引導回default.asp繼續(xù)購物.2.6.3recalculate模式該模式用于用戶購買多件貨物時,自動重新計算所需的貨物總價格,它實際并不需要.但用戶可以用它馬上看到被改動數量后的結果.recalculatc模式與continue的工作很相似,不過.rccalculatc允許執(zhí)行其余部分的shopcart.asp.這使用戶可以有效的看到自己的更新結果.當我們將購買商品的數量改為多個時,單擊"重新計算價格"按鈕,價格就會被重新計算.2.6.4checkout模式用戶單擊"填寫訂單"按鈕時,以

25、checkout模式重新調人shopcart.asp.該模式與recalculate模式相似,但有兩處不同,首先是本身的定義,其它的模式是以shopcart.asp為表單提交的目標,而checkout模式將表引導至另一個頁面submitorder.asp.下面會看到該頁面完成定單并將其加人數據庫.還有一處不同的是當以checkout模式執(zhí)行shopcart.asp時.腳本程序給用戶提供填寫訂單的文本框.用來輸人有關貨物運輸和費用的信息.三,寫入訂單數據表3.1填寫訂貨單(submitorder.asp)用戶在shopcart.asp上輸人各種必要的信息,如姓名,住址,聯(lián)系 ,付款方式等之后,單

26、擊"提交購物單"按鈕來調用sub-mitorder.asp.該頁面負責把訂貨信息加人數據庫并對用戶的定單進行總結.3.2防止重復提交和不完整信息.在submitorder.asp中包含一段非常有用的代碼:<%ifsession(radeeomplete")=truethensession(saleeomplete)-falseresponse.redirect"default.aspendif%>此代碼是一個用來避免用戶在重新裝人submitorder.asp時重復發(fā)送相同訂單的安全特性.在后面的代碼中.session變量selecomplete在訂單完成后和輸人到數據庫中時被設定為true.前面的代碼檢驗scion的值,如果是true,則命令完成,剩余的頁中代碼將不再被執(zhí)行.用戶會被再次指向default.asp,完成后,在單擊傳送命令按鈕前,當用戶修改shopcart.asp的文本框中的產品數量時,submitorder.asp執(zhí)行shopcart.asp中的recalculate代碼,重新計算價格,為了盡量確保提交無誤,我們在submi.tomer.asp中編寫了檢查訂單的代碼.以確保shopcart.asp每一個文本框用戶都已經填寫.如果用戶

溫馨提示

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

評論

0/150

提交評論