




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、電子商務(wù)中購物車的實現(xiàn)128福建電腦2005年第8期電子商務(wù)中購物車的實現(xiàn)張莉(廣東女子職業(yè)技術(shù)學(xué)院計算機系廣東廣州511450)【摘要1采用ASP(ActiveServerPages)編程技術(shù)設(shè)計購物車來實現(xiàn)顧客在網(wǎng)上超市選購,查詢商品.完成購物清單的提交.實現(xiàn)網(wǎng)上購物的功能.購物車是超市中供每住顧客選購商品時使用,進(jìn)入網(wǎng)上超市后,每人都有屬于自己的購物車.它自動記錄井計算你選購的商品及其價格.在購物車中您還可以改變商品的數(shù)量或取消對某商品的選購.【關(guān)鍵字1購物車,訂單.數(shù)據(jù)庫一,引言近年來由于信息科技的進(jìn)步,互聯(lián)網(wǎng)的盛行以及普及的過程.互聯(lián)網(wǎng)已通過以往只有大型企業(yè)公司才能擁有的設(shè)備,逐漸普
2、及到一般中小企業(yè)公司.并且也因為互聯(lián)網(wǎng)的盛行.改變了許多公司的傳統(tǒng)業(yè)務(wù)行銷方式.網(wǎng)上超市就是利用網(wǎng)絡(luò)的便利.與顧客直接從網(wǎng)上進(jìn)行商品交易.當(dāng)用戶找到自己想要的商品后.接下來就要選購物品了.如果增加或減少某種商品的數(shù)量.或者是撤消對某商品的選購.也只是點一下鼠標(biāo)就可以完成;點擊商品旁邊的購買按鈕即實現(xiàn)商品的選購.商品放進(jìn)屬于自己的購物車中.購物車是超市中供每位顧客選購商品時使用的工具.進(jìn)入網(wǎng)上超市后.每人都有屬于自己的購物車.它自動記錄并計算你選購的商品及其價格.在購物車中您還可以改變商品的數(shù)量或取消對某商品的選購.如果您還要選購其他商品,則選擇"繼續(xù)選購"的動作:也可以經(jīng)由
3、"查看購物車"確認(rèn)對商品的選購后進(jìn)入"付款處"結(jié)算.最后還應(yīng)考慮到.顧客有時可能要求結(jié)賬,也可能是要求繼續(xù)選購商品.所以在用戶已經(jīng)選購的商品清單中應(yīng)設(shè)計三個按鈕.分別是"繼續(xù)購物","重新計算價格","提交定單".顧客在每次操作后.都能看到當(dāng)前所選購商品的清單,包括選購的各種商品的數(shù)量,購置該種商品的總金額,以及購置商品的合計金額.如果您已經(jīng)注冊為會員并已登錄.則在付款處中形成您的購物訂單;否則您可以進(jìn)行注冊或登錄.以便將您的個人詳細(xì)聯(lián)系資料與購物單形成訂貨單.二,購物程序設(shè)計2.1設(shè)計前的準(zhǔn)備
4、根據(jù)估計用戶的訪問量,選擇一臺服務(wù)器.保證系統(tǒng)穩(wěn)定運行即可.對于軟件的要求.推薦使用Windows2000Server作為服務(wù)器操作系統(tǒng).MicrosoftAccess作后臺數(shù)據(jù)庫管理.2.2建立數(shù)據(jù)庫對于這個網(wǎng)站.我們可以創(chuàng)建一個含有多個表的數(shù)據(jù)庫market.其中包含有用戶注冊,產(chǎn)品登記,用戶定貨,貨品細(xì)節(jié),用戶信息反饋等表.在此列出與購物車相關(guān)的幾個表的定義:1,產(chǎn)品登記表(products)括以下幾個字段:表一:products字段名稱字段類型字段說明hemid自動編號作為記錄識別標(biāo)記的長整型類型itemproductnumber文本對每個產(chǎn)品唯一的識別標(biāo)記itemname文本包含產(chǎn)品
5、名稱itemdescription文本允許對產(chǎn)品的描述itempicturefde文本用來顯示網(wǎng)上產(chǎn)品的圖片文件itemregularprice貨幣產(chǎn)品的普通價格itemsalepfice貨幣產(chǎn)品的特殊價格itemstockquantity數(shù)字產(chǎn)品的數(shù)量beginspecia1日期,時問包含產(chǎn)品顯示的第一個13期endspeei日期,時間產(chǎn)品的最后顯示日期2,定貨表(orders)包括以下幾個字段:表二:orders字段名稱字段類型字段說明orderld自動編號作為記錄識別標(biāo)識ontentate日期,時間定單完成日期oIderfime日期,時問定單完成時問customemame文本定貨用戶名稱
6、customeraddress文本定貨用戶地址customercity文本定貨用戶所在省customertate文本定貨用戶所在城市customerzip文本定貨用戶所在區(qū)郵政編碼customerphone文本定貨用戶 號碼orderamount貨幣定單金額paymentmethod文本付款方式3,貨品細(xì)節(jié)表(orderdetails)包括以下幾個字段:表三:orderdetails字段名稱字段類型字段說明orderid數(shù)字識別從與該項細(xì)節(jié)相關(guān)orders表中取出的記錄productnumber文本識別此細(xì)節(jié)記錄表示的產(chǎn)品的產(chǎn)品號碼quantity數(shù)字表示定貨量price貨幣定貨時的產(chǎn)品價格2
7、_3核心腳本程序(globa1.asa)作為系統(tǒng)的全局文件.Global,asa建立在整個應(yīng)用程序中使用的會話變量.代碼放在Globa1.asa文件的子過程Session_On-Start中.當(dāng)有顧客光臨網(wǎng)站時,即當(dāng)有用戶連接到網(wǎng)站時,執(zhí)行此代碼.Gl0ba1.asa對每個脫離區(qū)建立下列變量:Session("CarthemNumArray")是一個包含識別用戶加入購物車的產(chǎn)品的項目號碼的陳列.Session("CartItemQtyArray")是另外一個數(shù)組,包含用戶購物車中產(chǎn)品各自的數(shù)量.Session("DBLogin",包含
8、連接應(yīng)用程序的主要數(shù)據(jù)資源所需要的登錄信息.假定服務(wù)器上已建立了一個ODBC連接.DSN會是該變量的一部分.Session("shipbasecharg")和Session("shipitmcharg")包含在線超市的定貨的運費.第一個變量表示每個訂單費用(底價),第二個表示每項的費用.這樣.一個定單的全部費用就是底價加上運送的貨物項數(shù)與每項的費用的乘積.變量session("cartltemnumarmy")和session(cartitemsession")用來實現(xiàn)頁面之間的用戶購物車的內(nèi)容傳送.其它三個變量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網(wǎng)站首頁(default.asp)作為整個網(wǎng)上超市的首頁.是用戶訪問網(wǎng)站時看到的第一個頁面,也是實現(xiàn)購物車的一個入口頁面.因此.這個頁面應(yīng)該是簡單而引人注目的,我們這里設(shè)計的效果是用戶看到此頁面后可以用兩種方式購買貨物.第一,在首頁上提供一個用戶可以輸入搜索
11、關(guān)鍵字的表單.方便用戶進(jìn)入網(wǎng)站后查找自己想要的商品;第二,在底部列出了用戶當(dāng)前可以選擇的數(shù)據(jù)庫中特價產(chǎn)品.用戶可以用每項產(chǎn)品旁邊的購買按鈕選擇產(chǎn)品.下面是default.asp中包含的幾個功能模塊:2.4.1查詢產(chǎn)品Default.asp文件中包含一個輸入文本框(如圖一),用戶可以輸入與他要尋找的產(chǎn)品的名稱,項目號碼或描述相符的關(guān)鍵字.點擊搜索按鈕把這個表提交給prodsearch.asp,它依次執(zhí)行實際的搜索并顯示結(jié)果.圖一:搜索引擎界面<formaction="prodsearch.asp"method"POST">&am
12、p;lt;inputtype"Text"name"txtSearch"></forrn>2.4.2顯示特殊產(chǎn)品在default.asp的后面幾行中,還要用一個sql語句尋找主要數(shù)據(jù)庫的products表中的記錄,在products表中,當(dāng)前日期在beginspeeial和endspeeial域之問.此sql語句用來創(chuàng)建一個包含滿足枵準(zhǔn)的記錄的記錄集rsproduets.檢查記錄集的eof屬性來確定是否找到了相符的記錄,若有,則創(chuàng)建一個顯示產(chǎn)品的表.執(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),每次調(diào)用一個名為writeproduetrow的子過程.2.4.3顯示某具體產(chǎn)品如上所述,writeproduetrow是要在已定義的表中,創(chuàng)建一個顯示rsproduets的記錄集,并顯示當(dāng)前記錄表示的特定產(chǎn)品相關(guān)信息.這些相關(guān)信息包括下列部分:該產(chǎn)品的圖片.圖片的名稱是通過products表的itempic.turefde域的值而獲得的.包含該產(chǎn)品的項目號(pmduetid),名稱(pr0ductrIaIIIe)和描述(description)的信息單元.其中每個項目用特定的字體和不同的顏色顯示,使其容易識別.顯示產(chǎn)品當(dāng)前的價格單元.如果產(chǎn)品有特
15、價(可從item.saleprice域取得),則也報出與普通價格作比較,該單元還包含一個用兩個特定字符串對shopcart.asp的鏈接.用querystrlng的方法傳送,其中一個告訴shopeart.asp處理的模式是add.一個傳送項目號products.shopcart.asp是一個頁面,用來把產(chǎn)品加入到用戶的購物車.2.5購物車程序(shopcart,asp)購物車可以算是網(wǎng)上超市中的核心頁面.在實際的超市中,顧客把自己喜歡的東西放在購物車中,最終,有時這些貨物將被購買,而有時顧客又會將商品退回.所以程序中也要把這些情況都考慮到,整個購物車g設(shè)計流程如下(如圖-).圍二:購物車流程圖
16、Shopeart.asp程序結(jié)構(gòu):(%sCarthemNunm=session("cartitemnumarray"1nCarthemQtys=session(cartitemqtyarray")nNumCaltema=ubound(sCarthemNums)確定將采取那種工作模式.如果提交的模式是add.那么就添加購物記錄sMode=request.querystdnmode,此外.還可以直接從form中得到工作模式.取得三個按鈕對應(yīng)的值selectcaserequest.formCemdSubmit1case填寫訂單sMode="checkoutcd
17、se.重新計算價格sMode=Rc丑lccase繼續(xù)購物sMode=.continue"endselect如果工作模式是addifsMode;add"thennThisltemlndex=0ifsMode=recale"orsMode=checkoutorsMode=continue.thenendif根據(jù)不同的模式重定向頁面.如果是add或者meal則仍然處在shopearLasp中如果是c0ntinue'則重定向到首頁default.asp.這樣顧客可以接著購買其他東西如果是checkout.仍然在shopeart.asp.但是模式已經(jīng)發(fā)生變化sele
18、ctcascsModecase.continueresponse.recrecdefault.asp.)ifsMode=.checkout.therIsPageHead=在線超市訂單填寫.%IfsMode="checkout.then%><formaction=submitorder.aspmethod="POST'>%ifsMode="checkout"then%>您如果要購買所選中的商品.請詳細(xì)提供以下資料.然后單擊發(fā)出訂單按鈕.%endif%>通過查看以上代碼可以看出.s
19、hopcart.asp以幾種模式中的一種運行.如果提交的模式是add,那么就添加購物記錄,根據(jù)不同的模式重定向頁面.如果是add或者fecal則仍然處在shopcart.asp中,如果是continue,則重定向到首頁defauh.asp.這樣顧客可以接著購買其他商品,如果是checkout,仍然在shop-cart.asp.但是模式已經(jīng)發(fā)生變化.如果我們在網(wǎng)站首頁選中了一種貨物,然后單擊購買按鈕,轉(zhuǎn)130福建電腦2005年第8期將會把商品放人購物車中.并顯示出商品的部分信息,并同時提供給用戶三個按鈕進(jìn)行選擇(如圖三).皂蚌辨程在魯j下奢卻r基2貿(mào)舀墨3苫薹露爨盤賽囂g器強:蕊疆=基輟酗畫妊蔓
20、棼罄囂蘩囂-l|黎纂整鷲l蚤餐黎毽強棼鏊靜籬1薅器甏湛醚彝§鏊罄鬻葭盤,黧甏鼙閼蘭譬鯉生苧塑圈三:購物車信息2.5.1shopcart.asp的結(jié)構(gòu)如果頁面由一個模式查詢字符調(diào)人,則調(diào)用add模式,否則,頁面可能由一個使用了cmdsubmit(-組submit之一)的表調(diào)人.shopcart.asp可以由request.form("cmdsubmit")的值確定哪種模式正在起作用.在頁面不同位置,根據(jù)當(dāng)前的操作模式執(zhí)行不同的代碼.每一個模式都有一個HTML(HypertextMarkupLanguage)表單.在add和recalculate模式下,表單的提交對象
21、仍然是shopcart.asp本身.主要原因是:如果用戶改變了購物車中一項或幾項產(chǎn)品的數(shù)量.在重新引導(dǎo)到另一個頁面之前有機會在shop.cart.asp中執(zhí)行代碼來改變購物車會話變量.2.5.2顯示價格等相關(guān)信息在shopcart.asp底部用來顯示用戶購物車的內(nèi)容,它通過使用ASP(ActiveServerPage)和一般HTML的集成來完成該任務(wù).該代碼在代表購物車的數(shù)組中逐個遍歷.可以找到數(shù)據(jù)庫中每項的位置,顯示該項的信息,并對價格進(jìn)行計算.在購物車中所有項目顯示完后,計算運輸費,根據(jù)公司收費標(biāo)準(zhǔn),我們定義的運費計算方法為:4.5+f1.25*Nnumitems).即產(chǎn)品的總運費為4.5
22、元再加每件產(chǎn)品1.25元的運輸費運(基于在golba1.asa中描述的會話變量shipbasecharge和shipitemcharge).最后,顯示定購總數(shù),定額總數(shù)為購買商品的總費用和運輸費用之和.2.6幾種具體的工作模式2.6.1add模式用戶點擊要購買物品旁邊的購買按鈕時,第一次調(diào)用shop-cart.asp.購買按鈕把兩個查詢字符串傳送到shopcart.asp,如下例:<ahref=shopcart.asp?mode=add&itemno=Ims一0218>所以shopcart.asp執(zhí)行時,根據(jù)查詢字符串mode的值是add,于是啟動a
23、dd模式,執(zhí)行以ifsmodem"add"開始的代碼區(qū).這個代碼區(qū)瀏覽scartitemmums數(shù)組,它是作為用戶的購物車的一部分在整個會話中傳送的.從而查看數(shù)組中是否已經(jīng)有了itemno查詢字符串表示的項目號碼.如果有,則為該項的數(shù)量加1,否則,把這一項加入到這個數(shù)組中.對購物車執(zhí)行了這次添加后.大部分其余的asp代碼就不再執(zhí)行,因為它應(yīng)用于其他模式.而每次數(shù)shopcart.asp只會在一個模式下工作.2.6.2connue模式單擊"繼續(xù)購物"按鈕.contiue模式起作用.它把shopca.asp表單內(nèi)容提交給shopcart.asp程序本身.執(zhí)行
24、代碼來響應(yīng)用戶對數(shù)量的改變并更新購物車會話變量.然后該用戶被引導(dǎo)回default.asp繼續(xù)購物.2.6.3recalculate模式該模式用于用戶購買多件貨物時,自動重新計算所需的貨物總價格,它實際并不需要.但用戶可以用它馬上看到被改動數(shù)量后的結(jié)果.recalculatc模式與continue的工作很相似,不過.rccalculatc允許執(zhí)行其余部分的shopcart.asp.這使用戶可以有效的看到自己的更新結(jié)果.當(dāng)我們將購買商品的數(shù)量改為多個時,單擊"重新計算價格"按鈕,價格就會被重新計算.2.6.4checkout模式用戶單擊"填寫訂單"按鈕時,以
25、checkout模式重新調(diào)人shopcart.asp.該模式與recalculate模式相似,但有兩處不同,首先是本身的定義,其它的模式是以shopcart.asp為表單提交的目標(biāo),而checkout模式將表引導(dǎo)至另一個頁面submitorder.asp.下面會看到該頁面完成定單并將其加人數(shù)據(jù)庫.還有一處不同的是當(dāng)以checkout模式執(zhí)行shopcart.asp時.腳本程序給用戶提供填寫訂單的文本框.用來輸人有關(guān)貨物運輸和費用的信息.三,寫入訂單數(shù)據(jù)表3.1填寫訂貨單(submitorder.asp)用戶在shopcart.asp上輸人各種必要的信息,如姓名,住址,聯(lián)系 ,付款方式等之后,單
26、擊"提交購物單"按鈕來調(diào)用sub-mitorder.asp.該頁面負(fù)責(zé)把訂貨信息加人數(shù)據(jù)庫并對用戶的定單進(jìn)行總結(jié).3.2防止重復(fù)提交和不完整信息.在submitorder.asp中包含一段非常有用的代碼:<%ifsession(radeeomplete")=truethensession(saleeomplete)-falseresponse.redirect"default.aspendif%>此代碼是一個用來避免用戶在重新裝人submitorder.asp時重復(fù)發(fā)送相同訂單的安全特性.在后面的代碼中.session變量selecomplete在訂單完成后和輸人到數(shù)據(jù)庫中時被設(shè)定為true.前面的代碼檢驗scion的值,如果是true,則命令完成,剩余的頁中代碼將不再被執(zhí)行.用戶會被再次指向default.asp,完成后,在單擊傳送命令按鈕前,當(dāng)用戶修改shopcart.asp的文本框中的產(chǎn)品數(shù)量時,submitorder.asp執(zhí)行shopcart.asp中的recalculate代碼,重新計算價格,為了盡量確保提交無誤,我們在submi.tomer.asp中編寫了檢查訂單的代碼.以確保shopcart.asp每一個文本框用戶都已經(jīng)填寫.如果用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國柔性環(huán)形高強纖維索具行業(yè)投資前景及策略咨詢研究報告
- 洗車池加固施工方案范本
- 錦州醫(yī)科大學(xué)《神經(jīng)生物學(xué)與腦科學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025至2031年中國大樹移植成活液行業(yè)投資前景及策略咨詢研究報告
- 新疆地暖施工方案編制
- 《團隊成果展示》課件
- 2025至2030年中國車用電路數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國脂肪酸結(jié)合蛋白數(shù)據(jù)監(jiān)測研究報告
- 2025年探討農(nóng)村土地使用權(quán)轉(zhuǎn)讓合同的法律效力問題
- 增城降水井施工方案審批
- 第1課時 化學(xué)方程式的意義及書寫課件2024-2025學(xué)年人教版九年級化學(xué)
- 《數(shù)字圖像處理課程設(shè)計》課程教學(xué)大綱
- 園藝大棚建設(shè)合同
- 冠狀動脈粥樣硬化性心臟病-28
- 藥用氧化鎂項目營銷計劃書
- 任務(wù)1 混合動力汽車轉(zhuǎn)向系統(tǒng)典型構(gòu)造與檢修
- 三維地籍解決方案白皮書
- 住院患者VTE相關(guān)評估量表課件
- 高中物理選修二第一章《安培力與洛倫茲力》測試題(含答案解析)
- 江蘇省徐州市睢寧縣2023-2024學(xué)年七年級下學(xué)期期中考試數(shù)學(xué)試卷(含答案)
- 專題13 統(tǒng)計與概率-【好題匯編】五年(2020-2024)高考數(shù)學(xué)真題分類匯編(含答案解析)
評論
0/150
提交評論