




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設計 作者: 日期:2 個人收集整理 勿做商業(yè)用途基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設計摘要:本文介紹運用了ASP網(wǎng)站開發(fā)技術(主要采用了Vbscript語言和Javascript語言),在Windows XP下,以Microsoft Access為數(shù)據(jù)庫開發(fā)平臺,IIS為應用服務器實現(xiàn)一個快速登陸網(wǎng)站的設計的方法和過程。內容包括6個部分:第一部分是ASP概述,該部分對ASP技術的相關知識做了詳細的介紹;第二部分是數(shù)據(jù)庫概述,該部分主要是介紹ASP對數(shù)據(jù)庫的訪問;第三部分是需求分析,該部分對系統(tǒng)的功能,性能和環(huán)境做了具體的分析;第四部分是總體設計,該部分對系統(tǒng)的各
2、個模塊給出了整體的設計方案;第五部分是詳細設計,該部分分別對各個功能模塊的實現(xiàn)與設計做的詳細的介紹;第六部分是結束語。運用ASP技術和網(wǎng)絡數(shù)據(jù)庫原理,基于B/S模式我開發(fā)了一個網(wǎng)上購物系統(tǒng)。在這個系統(tǒng)中,顧客可以很方便的注冊成為會員,對商品進行瀏覽檢索,查看商品的詳細資料,然后根據(jù)各人的喜好購買心儀的商品。系統(tǒng)會自動為顧客生成訂單,按照顧客所填寫的信息提交訂單并發(fā)貨。系統(tǒng)管理員則可以對現(xiàn)有的商品進行添加和編輯,審查已注冊的用戶并對提交的訂單進行處理。關鍵詞:B/S模式;ASP;電子商務;網(wǎng)絡數(shù)據(jù)庫。Development and Design Net Shopping System Based
3、 on ASPAbstract: This text introduces using technique of active web stage exploitation in ASP(Active Server Pages which most adopted in Vbscript and Javescript language)as the programming language , running under Windows XP, using Microsofte Access as the database, IIS(Internet Information Server) a
4、s the application server to realize this fast disembarkation web system。The content includes six parts: Part one is a summary of ASP,this part has done the detailed introduction to the correlate knowledge of ASP;Part two is a summary of datebase,this part introduces how to interview datebase mostly;
5、 Part three is the analyse in demand,this part makes frondose analyse about function,performance and environmental demand for the system;Part four is a collectivity design,this part gives holistic design plan to every modules;Part five is a particular design,this part gives detailed introduction to
6、each module's realization and design;Part six is a tag.文檔為個人收集整理,來源于網(wǎng)絡文檔為個人收集整理,來源于網(wǎng)絡Application ASP technique is with the network database principle, according to B/ S mode I developped a net on the shopping system。In my system, customer can very the convenient registration become the member, a
7、nd proceeds to merchandise view index, look into favour that the merchandises detailed data, then purchase the adoring merchandise according to the everyone.System would the auto is a born order of customer, and hand over the order to erupt goods according to the information for fill inning of custo
8、mer。System manager can then proceeds to increase with the order that edit, investigate already the registered customer combine right hand over to proceeds to handle to current merchandise。本文為互聯(lián)網(wǎng)收集,請勿用作商業(yè)用途本文為互聯(lián)網(wǎng)收集,請勿用作商業(yè)用途Keywords: B/ S mode, ASP, electronic commerce, network database。前 言對于基于Web平臺的網(wǎng)
9、上購物系統(tǒng),存在著一個前臺應用和后臺管理的問題。而無論前臺還是后臺,都要對數(shù)據(jù)庫進行調用和操作。因此如何創(chuàng)建網(wǎng)絡數(shù)據(jù)庫,以及客戶端如何調用服務器端的數(shù)據(jù)庫成為實現(xiàn)網(wǎng)上購物的一個關鍵性問題。計算機技術的發(fā)展與普及,已經改變了我們的生活方式,計算機應用已逐漸滲透到社會發(fā)展的各個領域.隨著計算機技術和通信技術的迅猛發(fā)展,社會資源的信息化、數(shù)據(jù)的分布處理、各種計算機資源共享等應用需求推動計算機技術朝著群體化方向發(fā)展,促使計算機技術與通信技術緊密結合。Internet是目前世界上覆蓋范圍最大的計算機網(wǎng)絡群體。Internet是在通信網(wǎng)絡的基礎上,以TCP/IP協(xié)議為基準、以域名地址和IP地址為標識、以網(wǎng)
10、關和路由器為轉換協(xié)議工具構成的網(wǎng)絡的集合。Internet實質上是由遍布全球的各種計算機網(wǎng)絡互連而形成的網(wǎng)絡。Internet的出現(xiàn)不僅使得通信和資源共享的地理范圍擴展至全球,而且隨著其服務內容和應用領域的拓寬,正在改變人們的時空觀.以微電子、計算機、通信和網(wǎng)絡技術為代表的現(xiàn)代信息技術在經濟領域的廣泛應用,使得交易成本急劇下降,從而導致信息替代了資本在經濟發(fā)展中的主導地位。作為重要的生產要素和戰(zhàn)略資源,通過互聯(lián)網(wǎng)傳遞的大量信息使得現(xiàn)有的社會資源獲得高效配置,社會勞動生產率大幅度提高,并推動經濟結構革新和產業(yè)結構的升級。電子商務是互聯(lián)網(wǎng)發(fā)展日臻成熟的直接后果,是網(wǎng)絡技術應用新的發(fā)展方向。互聯(lián)網(wǎng)自
11、身所具有的開放性、全球性、低成本、高效率的特點,已成為電子商務的內在特征,并使得電子商務大大超越了作為一種新的貿易形式所具有的價值。 電子商務對于社會生產力的推動作用突出表現(xiàn)在4個方面:(1)大幅度降低信息成本,提高信息使用效率.作為一個極為重要的商務信息載體和運送平臺,電子商務降低了信息來源成本;突破行業(yè)和產品物理特性的限制,使交易范圍急劇放大;彌補信息的不對稱性,實現(xiàn)交易信息互換和交易行為的虛擬市場化.從目前市場情況看,電子商城、網(wǎng)上書店和網(wǎng)上拍賣等交易行為,無不體現(xiàn)與傳統(tǒng)交易相比的信息成本優(yōu)勢。信息成本的低廉形成了對電子商務生存的最有力的支撐。
12、60;(2)大量減少中間環(huán)節(jié),降低銷售成本和購買成本。電子商務為買賣雙方在網(wǎng)上直接交易提供了現(xiàn)實可能性,縮短了供求之間的距離。繞過傳統(tǒng)的經銷商而直接與客戶溝通,企業(yè)可以將需求直接轉化為企業(yè)的生產指令,減少了許多中間環(huán)節(jié),使得零庫存生產成為可能。在批發(fā)領域,電子商務可以在很大程度上取代傳統(tǒng)商業(yè)在商品流通渠道中的批發(fā)職能,使批發(fā)商的作用大大削弱.除了農業(yè)生產資料要面對眾多零星的農戶以外,大多數(shù)生產消費者都有可能直接上網(wǎng)采購生產資料。而對于普通消費者,則可以通過網(wǎng)絡購買降低購物成本。 (3)有利于形成高效流通、交換體制.電子商務構成了虛擬社會中的整個商
13、品交易龐大網(wǎng)絡,實體社會中商品的盲目實物移動轉變?yōu)橛心繕说膶嵨镆苿?。借助于電子商務的信息溝通和需求預測,企業(yè)可以組織有效生產,形成高效流通、交換體制。政府則可以通過電子商務,將市場、企業(yè)和個人聯(lián)接起來,方便地進行宏觀調控和微觀調控. (4)有利于第三產業(yè)的發(fā)展。電子商務大量運用最先進的信息技術,必將推動產業(yè)結構的優(yōu)化和升級,特別是促進了現(xiàn)代第三產業(yè)的發(fā)展,增強了經濟結構自身的穩(wěn)定性.電子商務以新供給創(chuàng)造了新需求,又以新需求推動了新供給,促進了社會總供求的良性互動,推動了經濟的持續(xù)穩(wěn)定增長,從而延長了經濟擴張期,減小了經濟波動的幅度。個人收集整理,
14、勿做商業(yè)用途個人收集整理,勿做商業(yè)用途在這里,我采用B/S模式來實現(xiàn)客戶端對服務器端的調用,所謂B/S模式即瀏覽器/服務器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來的新的網(wǎng)絡結構模式。在B/S模式中,客戶端運行瀏覽器軟件.瀏覽器以超文本形式向Web服務器提出訪問數(shù)據(jù)庫的要求,Web服務器接受客戶端請求后,將這個請求轉化為SQL語法,并交給數(shù)據(jù)庫服務器,數(shù)據(jù)庫服務器得到請求后,驗證其合法性,并進行數(shù)據(jù)處1準備知識ASP技術1。1 ASP的簡介ASP(Active server pages)是一種類似HTML(Hypertext Markup Language超文本標識語言)、Script與CGI
15、(Common GAteway Interface 通用網(wǎng)關接口)的結合體,但是其運行效率卻比CGI更高、程序編制也比HTML更方便且更有靈活性,程序安全及保密性也比Script好.HTML(Hypertext Markup Language)是一種超文本標識語言,文件通過這種格式可以在互連網(wǎng)上載送瀏覽,用戶只要使用網(wǎng)頁瀏覽器工具就可以瀏覽這些文件,目前比較常用的工具包括Microsoft Internet Explorer,Netscape Communicator等,由于HTML文件都是由標簽(tag)所組成,因此它比較適合制作靜態(tài)網(wǎng)頁,再者,由于先天上的限制HTML是無法直接存取數(shù)據(jù)庫的
16、,所以存取數(shù)據(jù)庫的工作大多是依靠CGI來處理。ASP不但可以包含HTML標簽,也可以直接存取數(shù)據(jù)庫及使用無限擴充的ActiveX控件,因此在程序編制上要比HTML方便而且更富有靈活性。ASP以HTML為基礎,主體還是HTML代碼,只是在需要ASP動態(tài)產生的地方加入ASP代碼。ASP的最終顯示結果也是HTML代碼,可準確控制ASP的輸出結果。Script(腳本)是由一組可以在WEB服務器或客戶端瀏覽器運行的命令組合而成,目前在網(wǎng)頁編制上比較流行的腳本語言包括 VBScript,JavaScript。這些腳本大都是在客戶端運行,因此,客戶端可以很清楚的取得腳本的內容。所以,就安全性而言,這些客戶端
17、的腳本語言的確有危險。ASP雖然具有腳本語言的方便性,但由于他是在WEB服務器端運行,運行后再將運行結果以HTML格式傳送至客戶端的瀏覽器。因此ASP與一般的腳本語言相比,要安全的多。1。2 ASP的特點ASP可以和HTML或其它腳本語言(VBScript,JavaScript)相互嵌套。 ASP是一種在WEB服務器端運行的腳本語言,程序代碼安全保密。 ASP以對象為基礎,因此可以使用ActiveX控件繼續(xù)擴充其功能。 ASP內置ADO組件,因此可以輕松的存取各種數(shù)據(jù)庫 .ASP可以將運行結果以HTML的格式傳送至客戶端瀏覽器,因而可以適用與各種瀏覽器.1.3 ASP的工作原理如果瀏覽器向II
18、S/PWS請求的是。HTM文件,那么IIS/PWS會直接把文件的內容傳給瀏覽器。如果瀏覽器向IIS/PWS請求的是。ASP文件,則IIS/PWS會首先解釋文件。IIS/PWS解釋。ASP文件的過程中,遇到HTML標記或一般文字時會直接把讀區(qū)的內容傳給瀏覽器。如果遇到 的標記,則會把其中的內容視為程序,然后解釋執(zhí)行,但程序經過IIS/PWS解釋執(zhí)行后,其源程序代碼不會傳給瀏覽器,而只是把可顯示的運行結果傳給了瀏覽器。Active Server Page技術為應用開發(fā)商提供了基于腳本的直觀、快速、高效的應用開發(fā)手段,極大2 系統(tǒng)概述2.1 系統(tǒng)設計思想整個系統(tǒng)是以ASP技術來開發(fā),數(shù)據(jù)庫的創(chuàng)建使用
19、Microsoft Access 2000,對數(shù)據(jù)庫的查詢和調用是通過ASP內置的ADODB組件來實現(xiàn)的.為了便于編程,前臺的操作頁面和后臺的數(shù)據(jù)庫管理頁面的設計我是分別進行的。在整個程序編寫完之后,在將后臺的數(shù)據(jù)庫管理頁面通過管理員在前臺的登錄來調用,這樣就把前臺和后臺有機的連接起來,使操作更加方便。當用戶以會員身份登錄調用執(zhí)行的是前臺的操作頁面,而當以管理員身份登錄時,則進入后臺管理頁面來對數(shù)據(jù)庫進行操作。而對于前臺購物操作中的核心部分-購物籃的實現(xiàn),這將在后面的功能模塊設計章節(jié)中做詳細闡述。2。2 系統(tǒng)總體結構圖如圖1所示,系統(tǒng)是基于B/S模式開發(fā)的。Internet信息服務器2。2系統(tǒng)
20、功能描述網(wǎng)上購物系統(tǒng)分為前臺管理和后臺管理。前臺管理包括瀏覽商品、查詢商品、訂購商購物車、用戶信息維護等功能。后臺管理包括公告管理、商品管理、訂單管理、投訴管理和用戶管理等模塊。后臺管理具體描述如下:(1)公告管理 添加公告,包括公告標題和公告內容等; 修改公告; 刪除公告。(2)商品管理 添加商品類別; 修改商品類別; 刪除商品類別; 添加商品信息,包括商品類別、名稱、編號、所屬公司等信息; 商品圖片的上傳、修改和刪除; 修改商品信息; 刪除商品信息; 查看商品信息。(3)訂單管理 處理訂單; 辦理發(fā)貨; 辦理結帳;從功能描述的內容可以看到,本系統(tǒng)可以實現(xiàn)六個完整的功能。根據(jù)這些功能,設計出
21、系統(tǒng)的功能模塊,如圖2所示。 圖2 網(wǎng)上購物系統(tǒng)功能模塊示意圖在本系統(tǒng)中,用戶管理模塊的功能比較簡單。在系統(tǒng)初始化時,有一個默認的“系統(tǒng)管理員"用戶Admin,由程序設計人員手動地添加到數(shù)據(jù)庫中.Admin用戶可以創(chuàng)建其他的管理員信息;普通用戶則可以修改自己注冊信息和密碼。用戶管理功能模塊的關系如圖3所示。普通用戶Adm用戶 系統(tǒng)用戶信息管理修改自身的密碼創(chuàng)建、修改和刪除管理員信息刪除用戶信息修改自身的密碼創(chuàng)建、修改自身的信息圖3 用戶管理功能模塊關系圖2。4系統(tǒng)流程分析在本系統(tǒng)中,客戶購物要先瀏覽商品再選擇商品,然后是訂購商品。如果是未注冊的客戶要先注冊,已注冊未登陸的客戶要先登陸
22、,已登陸注冊的客戶就可以去去購物車確認訂購的商品,確認好商品再去收銀臺提交訂購單。前臺客戶購物流程如圖4:圖4 前臺客戶購物流程圖在本系統(tǒng)中,后臺的管理是接到用戶的訂單,接著是訂單的處理,根據(jù)訂單的內容發(fā)貨,然后就是訂單結帳,最后是訂單刪除。后臺訂單處理流程如圖5所示。圖5 后臺訂單處理流程圖認多用戶系統(tǒng)的工作流程都是從用戶登錄模塊開始的,之后,對用戶的身份進行認證,確定用戶是否是有效的注冊用戶以決定用戶的操作權限,從而決定用戶的工作界面。2。5系統(tǒng)功能模塊圖 如圖6所示,用戶進入本系統(tǒng)后,非會員用戶可以查看商品,若要購買商品就要先進入會員注冊界面注冊成會員才行。會員用戶進入本系統(tǒng)可以直接進行
23、商品的查詢,訂單查詢和商品購買等操作。管理員進入可以直接進行商品添加,商品審查,處理訂單,發(fā)貨查詢,會員審查,管理員添加,管理員審查等操作。2。6 系統(tǒng)開發(fā)工具開發(fā)環(huán)境:WindowsXP Professional IIS 5。0(Internet Information Server 5。0) Internet Explorer 6。0腳本語言:JavaScript、VBScript數(shù)據(jù)庫工具:Microsoft Access 2000ASP開發(fā)工具:Microsoft Visual InterDev 6。0 網(wǎng)頁設計:Macromedia DreamweaverMX會員審查管理員添加管理員
24、審查圖6 系統(tǒng)功能模塊圖3系統(tǒng)網(wǎng)絡數(shù)據(jù)庫的建立3.1 系統(tǒng)數(shù)據(jù)源的設置使用ADO去編寫緊湊簡明的腳本以便連接到ODBC 兼容的數(shù)據(jù)庫和 OLE DB 兼容的源。具體的操作步驟可以歸納為以下幾步: 創(chuàng)建數(shù)據(jù)庫源名(DSN) ADODB通過ODBC工作,因此要在ODBC中設置DSN(數(shù)據(jù)源名).打開Windows的"控制面板",雙擊"ODBC”的圖標,然后選擇”文件 DSN ”的屬性頁,單擊<添加>,選擇數(shù)據(jù)庫驅動程序,然后單擊"下一步”,按照屏幕的指示鍵入數(shù)據(jù)源文件的名稱,然后單擊“下一步",再單擊"完成”創(chuàng)建數(shù)據(jù)源。創(chuàng)建數(shù)
25、據(jù)庫鏈接 鏈接用以保持一些關于正在訪問的數(shù)據(jù)的動態(tài)信息,以及鏈接者信息。利用ADODB的成員函數(shù)Open和先前設定的DSN與數(shù)據(jù)庫連接,其語法如下:SetConnect=Server。CreateObject("ADODB.Connection")/創(chuàng)建了鏈接對象Connect。 Connect.Open("DSN=dsnname;UID=userID;PWD=password”) /打開鏈接。dsnname為數(shù)據(jù)源名;userID為用戶名;password為用戶口令.創(chuàng)建數(shù)據(jù)對象 ADO中的數(shù)據(jù)對象通常保存的是查詢結果.RecordSet 是ADO中最復雜的對象
26、,有許多屬性和方法,靈活運用,可以達到許多好的效果。其創(chuàng)建方法如下: Set RecordSet =Connect。Execute(sqtStr) ,創(chuàng)建并打開了對象RecordSet ,sqtStr是一個串,代表一條標準的SQL語句.例如: sqlStr=”SELECTFROM b1” Set RecordSet =Connect.Execute(sqlStr) 這條語句執(zhí)行后,對象RecordSet中就保存了b1中的所有記錄。 操作數(shù)據(jù)庫,可利用Execute方便地執(zhí)行數(shù)據(jù)的插入、修改、刪除等操作.上述是用ASP訪問數(shù)據(jù)庫的全過程,由于應用面向對象思想,所有操作都比較簡單,用戶需要注意的僅
27、是對數(shù)據(jù)結構的了解、當前所操作的對象及對象的屬性等等,只要對這些有了清晰的認識,再加上ASP強大功能,在網(wǎng)絡上使用數(shù)據(jù)庫,實現(xiàn)用戶與頁面間交換信息,就再也不是什么難事了。3.2 表、關系模型和數(shù)據(jù)庫的概述一個數(shù)據(jù)庫的信息通常組織和存儲在表的形式中,各個表具有行和列.這樣由行和列組成對象的項目稱為數(shù)據(jù)項(又稱為字段),所有數(shù)據(jù)項組成一個記錄,若干個同類記錄構成表文件。若干個同類記錄構成表文件。若干個表以及它們的關系等用來管理數(shù)據(jù),也叫做數(shù)據(jù)庫文件。數(shù)據(jù)庫加上相應的操作和管理數(shù)據(jù)庫的軟件,即為一個數(shù)據(jù)庫管理系統(tǒng)(dbms),它能合理地組織和存儲大量數(shù)據(jù),并支持對于數(shù)據(jù)庫表中數(shù)據(jù)的各種操作,如:更新
28、、排序、索引、查詢、列表、打印等。數(shù)據(jù)庫系統(tǒng)是實現(xiàn)有組織地、動態(tài)地存儲大量的相關數(shù)據(jù),方便用戶訪問的計算機軟件、硬件資源組成的系統(tǒng),它由數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫以及支撐數(shù)據(jù)庫管理系統(tǒng)的軟、硬件構成。數(shù)據(jù)庫離不開數(shù)據(jù)模型。數(shù)據(jù)模型是對現(xiàn)實世界客觀事物及其聯(lián)系的描述,它反映數(shù)據(jù)項之間和記錄之間的聯(lián)系,在數(shù)據(jù)庫技術中使用模型的概念描述數(shù)據(jù)庫的結構與語義。常用的三種數(shù)據(jù)模型:層次模型、網(wǎng)狀模型和關系模型。此外,還有面向對象模型等。關系模型把數(shù)據(jù)之間的關系看成是一個二維表關系,因為二維表關系建立在集合代數(shù)關系理論基礎上的,所以,把這種建立模型基礎上的數(shù)據(jù)庫稱為關系數(shù)據(jù)庫。數(shù)據(jù)庫與文件系統(tǒng)不同,其數(shù)據(jù)獨立于
29、程序而存在,并可以提供給不同的用戶共享使用,其基本思想是對所有的數(shù)據(jù)實行統(tǒng)一的、集中的、獨立于程序的管理。關系數(shù)據(jù)庫管理系統(tǒng)很好地實現(xiàn)了這一基本思想。3。3 范式和建表的規(guī)范化在關系模型中,一個數(shù)據(jù)庫模式是關系模式的集合.在建立書店數(shù)據(jù)庫時,要按關系能好的關系模式的集合作為數(shù)據(jù)庫模式,關系模式的優(yōu)劣,可以用模式的范式(normalforms,簡記為NF)。第一范式(1NF)如果關系模式R的每個關系r的屬性值都是不可分的原子值,那么稱R是第一范式(1NF)的模式,r是規(guī)范化關系。例如教師模式R(NAME,ADDRESS,PHONE),如果一個教師家中裝了兩部電話,那么關系中至少要出現(xiàn)兩個元組,以
30、便存儲兩個號碼。1NF的模式是關系數(shù)據(jù)庫最基本的要求,遠不是理想3NF的模式必定是2NF的模式。局部依賴和傳遞依賴是產生冗余和異常的兩個重要原因。由于3NF模式中不存在非主屬性對候選鍵的局部依賴和傳遞依賴,因此消除了很大一部分存儲異常,具有較好的性能。而對于非3NF的1NF、2NF甚至非1NF的關系模式,由于它們性能上的弱點,一般不宜作為數(shù)據(jù)庫模式,通常需要將它們變換成3NF或更高級的范式(即關系的規(guī)范化處理)。BC范式(BoyceCodd NF,簡稱BCNF)若關系模式R是1NF,且每個屬性都不傳遞依賴于的R的候選鍵,那么稱R是BCNF模式。此時排除了任何屬性對鍵的傳遞依賴。在設計數(shù)據(jù)庫關系
31、模式時,應作權衡,盡可能使數(shù)據(jù)庫模式保持最優(yōu)的特性,一般盡可能設計成BCNF模式集,如果設計成BCNF模式集的同時達不到保持FD的目標,那只能降低要求,設計成3NF模式集,而同時又達到無損害聯(lián)接和保持FD的目標.抓住以上規(guī)則后,就能使用Microsoft Access設計出性能良好的數(shù)據(jù)庫了。字段名數(shù)據(jù)類型字段大小字段說明Id自動編號長整型管理員編號UserName文本20管理員帳號PassWord文本20管理員密碼 表3 商品大類表(Class_1)字段名數(shù)據(jù)類型字段大小字段說明ID長整型自動大類編號Class_1_Name文本30大類名稱Class_1_RegTime日期時間默認值Now(
32、)添加時間表4 商品小類表(Class_2)字段名數(shù)據(jù)類型字段大小字段說明ID長整型自動小類編號Class_2_Name文本30小類名稱Class_1_Name文本30所屬大類名稱Class_2_RegTime日期時間默認值Now()添加時間P_Full_Pic文本50商品全景圖RegTime日期時間默認值Now()商品錄入時間Look_Count長整型自動商品瀏覽次數(shù)表6 購物籃表(ShopList)字段名數(shù)據(jù)類型字段大小字段說明Product_Id長整型10商品編號Form_Id長整型自動所屬訂單號Product_Name文本30商品名稱Number文本255購物數(shù)量P_NewPrice貨
33、幣自動會員價格RegTime日期時間默認值Now()購物時間表7 訂單表(OrderList)字段名數(shù)據(jù)類型字段大小字段說明Form_ID長整型自動訂單號User_ID文本20會員帳戶名Name文本20會員姓名Zip文本20郵編Phone文本30聯(lián)系電話Email文本30電子信箱說明:所建立的數(shù)據(jù)庫文件(SuperMarket_Data.mdb)保存在文件夾market_database下,為防止別人隨意篡改數(shù)據(jù)庫,我將其后綴名改為.asp來調用。4 系統(tǒng)功能模塊設計4.1 客戶端4.1。1 購物籃在設計購物籃中,首先要考慮到的是購物籃中商品信息的存儲,而且在整個的商品購買中沒有改變,這里就要
34、用到ASP中的內置Session組件,它是訪問者從的到達某個特定主頁到離開為止的那段時間,服務器端給他分配一個用來儲存信息的全局變量的集合,這些變量可以自動生成,也可以是程序人員在服務器端腳本程序中定義的。Session可以用來存儲訪問者的特定信息,創(chuàng)建訪問者信息容器。我們使用它來作為虛擬購物籃,無論什么時候用戶在我網(wǎng)站中選擇了一種商品,那么這種商品就會進入購物籃,當用戶準備離開時,就可以立即進行以上所有選擇的商品的訂購。這些購物信息可以保存在 Session中。用戶在Web應用程序中訪問同一頁面時,Session變量始終存在,當用戶在應用程序的頁之間跳轉時,存儲在Session對象中的變量也
35、不會清除。在建立購物籃中,其實是對全局變量的操作。在這里我定義了一個全局變量:ProductList = Session("ProductList”),將購物信息保存到此全局變量中。另外還定義了一個全局變量Products,通過函數(shù)PutToShopBag()將ProductList的值賦給Products,使用函數(shù)Split()將讀取到的字符串進行分割,以得到購物信息:Products = Split(Request(”cpbm”), ”, ")。圖7。購物籃界面在我的購物籃中可操作的事件為:確認更改:在數(shù)量項目文本框中可以更改數(shù)目,該事件是用以更新購物籃中的商品數(shù)量;繼
36、續(xù)購物:該事件是關閉窗口;訂單取消:該事件清空購物籃;去收銀臺:該事件是用來關閉窗口并重新打開新的窗口.除了購物籃中的可視化操作外,還有就是商品購入事件(即在網(wǎng)上商店的點擊購買的事件)?,F(xiàn)在我們稱這些事件是用來觸發(fā)購物籃中的工作模式,在每次的觸發(fā)模式時,都有一個傳遞的數(shù)值變量通過來判斷觸發(fā)的是哪個工作模塊。下面詳細介紹購物籃(check.asp)各工作模式的具體實現(xiàn):Add模式(購買添加)用戶點擊他想購買的商品的“訂購”鏈接時,通過調用函數(shù)OpenBag()來打開頁面check。asp,“訂購”鏈接把有關商品信息的資料字符傳到check.asp,如下例: While Not rs。EOF Qu
37、atity = CInt( Request( "Q_" & rs(”Product_Id”) ) If Quatity = 0 Then Quatity = CInt( Session(rs(”Product_Id”)) ) If Quatity <= 0 Then Quatity = 1 end if End If Session(rs(”Product_Id”) = QuatitySum = Sum + ccur(rs(”P_NewPrice") * Quatity在輸入文本框中時,該程序將對其輸入的值進行判斷,是否是數(shù)字的字符,以避免存儲出錯,
38、造成不必要的麻煩。其判斷函數(shù)如下(采用Javascript腳本語言編寫):/功能介紹:檢查是否為數(shù)字/參數(shù)說明:要檢查的數(shù)字/返回值:1為是數(shù)字,0為不是數(shù)字function fucCheckNUM(NUM)var i,j,strTemp;strTemp="0123456789”;return 1;這種預先判斷的處理方式,很大的程度上解決了非法輸入對后面的存儲所帶來的一系列問題。DelAll模式(清空購物籃)這個是對購物籃的商品進行清空的處理,其實就是對全局變量ProductList賦空值(Session(”ProductList") = ”)。通過調用函數(shù)clean()來
39、執(zhí)行clear。asp。LinkTo模式(去收銀臺)onclick="window。opener.location。href='PayMent.asp';window.close();”該模式通過點擊觸發(fā)事件onclick來調用并執(zhí)行PayMent.asp,并關閉當前購物籃.該事件不能對所購買的商品數(shù)量的更改而更改,只能通過確認更改來實現(xiàn)。繼續(xù)購物摸塊也是調用Window對象中的window.close()函數(shù),它回自動的關閉購物籃的窗口,該事件也不能對所購買的商品數(shù)量的更改而更改。說明:在這里會出現(xiàn)一種情況,就是說如果未購買任何商品的話,則將返回一提示信息,如8所示
40、。操作:set rs=server.createobject("adodb。recordset”)sqltext="select from RegUser where UserId=" request。form(”uid") & "'”rs.open sqltext,conn,1,1查找數(shù)據(jù)庫,檢查用戶名是否已經注冊過.if rs.recordcount >= 1 then if rs(”userid”)=request.form("uid”) then Response。Redirect ”messagebox
41、.asp?msg=此用戶名已經注冊過,請選用其他用戶名!" response.end rs。close end ifend if之后進入用戶詳細資料登記的頁面(Reg_User_OK.asp)如圖10所示。圖10 會員詳細資料頁面圖另外還將調用頁面Reg_User_2。asp如圖11所示,它將使用大量的Javascript的語言開發(fā)的程序,用來檢查用戶填入字符的正確性。其主要的程序看后面源程序代碼,詳細的介紹各程序單元所完成的功能和作用.圖11 會員注冊詳細資料圖在用戶登記個人的詳細資料時,仍然使用ASP中的Recordset的對象,對數(shù)據(jù)庫進行添加的操作,其方法如下:rs。addn
42、ewrs(”UserId”)=request。form("uid”)rs(”PassWD")=request.form(”pwd")rs("WtPass”)=request.form("question")rs("DaPass”)=request.form(”answer")rs(”Name”)=request.form(”Name”)rs(”Sex”)=request。form(”Sex”)rs(”Email”)=request.form("Email”)rs("Phone")=re
43、quest。form(”usephone”)rs(”Address")=request.form("haddr”)rs("Zip”)=request.form(”postcode”)rs。update%><set rs_detail=server.createobject(”adodb.recordset”)sqltext2="select from RegUser where UserId=" request。form("uid”) & ”rs_detail.open sqltext2,conn,1,1申請成功后
44、進入提示界面,告訴用戶已經申請成功如圖12所示.asp:ProductClass_2=request("ProductClass_2")set rs=server。createobject(”adodb。recordset")sqltext=”select from Product” if request(”Product_Name")>"" then sqltext=sqltext " where Product_Name like " request(”Product_Name") "
45、' " else sqltext=sqltext &” where Product_Name like %"& ”" &” " end if if request("Product_Class")<>"" then sqltext=sqltext &” and Class_1 like ”& request(”Product_Class”) &"% ” end if在這里,如果查詢的不是屬于當前用戶自己的訂單,則返回出錯信息如圖13所示.
46、圖13 出錯信息圖response。redirect ”messagebox。asp?msg=您不能查看不屬于您的訂單,請重新輸入您自己的訂單號!”圖14 訂單查詢圖4.2 后臺管理后臺管理的功能主要包括:商品的添加、商品的審查、訂單的處理、發(fā)或的查詢、會員的審查以及管理員的添加和審查。4。2.1 商品的添加商品的添加功能是通過三個步驟來實現(xiàn)的:商品大類添加、商品小類的添加、商品的添加。(1)大類添加 function FORM1_onsubmit() if(document。FORM1。class_name。value。length<1) alert(”您必須輸入商品大類名稱!&quo
47、t;); document.FORM1。class_name。focus(); return false; sqltext=”select * from Class_1 where Class_1_name=" request.form("class_name") & ”'"rs。open sqltext,conn,1,1 if rs("Class_2_name”)=request。form("class_2_name") then Response.Redirect "messagebox。asp
48、?msg=此商品小類已經存在,請選用其它名稱!” response.end rs。close end ifend ifset rs=server。createobject("adodb.recordset”)sqltext=”select * from Class_2”rs.open sqltext,conn,3,3添加一個商品小類到數(shù)據(jù)庫。rs.addnewrs(”Class_2_name")=request.form(”class_2_name”)rs(”Class_1_name”)=request。form("class_1_name")rs。up
49、dateset rs_detail=server。createobject(”adodb.recordset”)sqltext2="select from Class_2 where Class_2_name='” request。form("class_2_name") & "' and Class_1_name=" request.form("class_1_name”) & "'”rs_detail.open sqltext2,conn,1,1小類添加頁面如圖16所示。圖16 小
50、類添加圖(3)商品的添加/所屬大類rs(”P_oldprice”)=request。form("oldprice”)rs("P_pic”)=request.form(”p_pic”)rs("P_Full_pic")=request。form(”p_full_pic”)rs。updateset rs_detail=server。createobject(”adodb。recordset”)sqltext2=”select from Product where Product_name='” request。form(”p_name”) ”'
51、”rs_detail.open sqltext2,conn,1,1商品添加的頁面如圖17,圖18,圖19所示。 圖17 商品添加圖1圖18 商品添加圖2圖19 商品添加圖3品信息進行編輯修改,然后調用Product_Modify_Ok.asp頁面將修改后的信息添加到商品表(Product)中。set rs=server.createobject("adodb.recordset”)sqltext=”select * from Product where Product_no=" request.form("product_no")rs.open sqlt
52、ext,conn,3,3更新商品到數(shù)據(jù)庫。rs("Class_2”)=request。form(”class_2_name")rs("Class_1”)=request.form(”class_1_name”)rs(”Product_name")=request。form(”p_name")rs("Product_intro")=request.form("p_intro”)rs("Product_show")=request.form(”p_show”)rs(”P_newprice”)=req
53、uest。form("newprice”)rs(”P_oldprice")=request.form("oldprice")rs(”P_pic”)=request。form(”p_pic”)rs(”P_full_pic”)=request。form("p_full_pic")圖22 用戶訂單資料圖訂單審查實現(xiàn)了兩個功能:處理訂單和刪除訂單。處理訂單:set rs=server.createobject(”adodb.recordset”)sqltext=”select Flag from OrderList where Form_Id
54、=" & request("Form_Id”)rs。open sqltext,conn,3,3 response.redirect ”ordermessagebox.asp?msg=訂貨單處理處理完畢,請按客戶詳細地址發(fā)貨!”end if刪除訂單:在這里,我使用了一個java腳本,定義了刪除函數(shù):<script language=”javascript”> function confirmdel(id,page) if (confirm(”真的要刪除這個訂單?”)) window.location。href="del_orderlist.asp?id=”+id+"page="+page /script會員的刪除與訂單的刪除類似,我也定義了一個java腳本來調用頁面(Del_User。asp)來實現(xiàn)刪除操作:script language="ja
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市河道清淤施工方案
- 工地施工勞務用工合同
- 土地出讓合同補充協(xié)議
- 霓虹燈施工方案
- 合金網(wǎng)兜施工方案
- 配電線路施工方案
- 南通輕質混凝土施工方案
- 塑料管卡箍連接施工方案
- 臨朐立柱宣傳欄施工方案
- 建筑工程勞務用工協(xié)議
- 馬工程版《中國經濟史》各章思考題答題要點及詳解
- 《學前兒童科學教育》第二章 幼兒科學教育的目標與內容課件
- 馬克思主義與社會科學方法論習題與答案
- 建信融通數(shù)字證書使用承諾函范本
- 印花烘干機操作規(guī)程
- 部編版小學四年級語文下冊同步練習試題及答案(全冊)
- 學校維修改造工程投標方案(完整技術標)
- (完整word版)中小企業(yè)劃型標準一覽表
- 非暴力溝通(完整版)
- 汽車維修公務車輛定點維修車輛保養(yǎng)投標方案
- (新統(tǒng)編版)語文八年級上冊 第四單元 大單元教學設計
評論
0/150
提交評論