網上購物系統的實驗報告_第1頁
網上購物系統的實驗報告_第2頁
網上購物系統的實驗報告_第3頁
網上購物系統的實驗報告_第4頁
網上購物系統的實驗報告_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、南京曉莊學院網上購物系統設計實驗報告所在院 ( 系):數學與信息學院學號: 08413432學生姓名:張飛紅年級專業:08級計算機專業指導教師:謝靜老師提交日期:2010 年6月南京曉莊學院網上購物系統的設計與實現作者:張飛紅指導教師:謝靜1系統分析與設計1.1 需求分析隨著計算機科學的發展,數據庫技術在Internet中的應用越來越廣泛,為廣大網絡用戶提供了更加周到和人性化的服務。個性化已逐漸成為當今Web應用的潮流。本文研究了一種基于數據關聯 規則采集技術的用戶個性化頁面動態生成方案,此方案與現今網上已采用的方案相比,具有用戶使用更簡單、反映用戶更明顯細致等優點。網上購物是電子商務的典型應

2、用之一,網上商場是實現網上購物的安全、便捷的途徑。通過網上商場,用戶可以到網上商場瀏覽選購自己喜歡的商品,安全地實現網上實時支付,安坐家中便完成購物的過程。對商家而言,通過網上商場可以非常方便地將自己的商品上網銷售,維護十分簡單(甚至不需要建立自己的網站)而只須付出低廉的費用。網絡是網上商店的存在載體。網上商店向網上購物者傳遞商品信息,網上購物者通過網上商店進香商品和款項的交易。服裝鞋帽商城采用PHP技術和 SQL數據庫,以Dreamweaver MX 2004 為 開發環境進行商城站點的構建,并選擇Xampp作為服務器,進行系統分析,為將來進一步的實施打下一個堅實的技術基礎。此系統分為前臺管

3、理和后臺管理。前臺管理是友好的操作界面,供用戶瀏覽、查詢使用。包括:瀏覽商品、查詢商品、訂購商品、購物車、用戶維護等功能;后臺管理是提供給管理員的,其中包 括:商品管理、用戶管理、訂單管理等。使管理員從繁瑣的手工操作中解脫出來,并提高了辦公準 備效率。經過前期的深入調查和研究,總結出該系統需要完成的一些具體功能,分析如下:1. 用戶管理:能夠完成用戶基本信息錄入的注冊、登錄和注銷。2. 管理唄管理:能夠完成管理員對網站的商品訂單的處理。1.2 總體設計根據網上購物的功能需求,進行系統分析設計。系統功能模塊圖如圖1-1 所示:1南京曉莊學院1.2.1 用戶模塊圖 1-1 系統功能模塊圖用戶模塊又

4、分為三個子模塊:注冊、登錄及注銷模板;選擇商品并添加到購物車模塊;付款結 算模塊。首先,用戶登錄后可以查看購物網站上所有的商品,根據個人愛好、需要,選擇商品,用 戶可以通過查看主頁上顯示的商品進行選擇,也可通過分類即菜單欄的導航進行選擇商品。然后, 選擇好商品后,可通過添加到購物車,在購物車后也可以再繼續購物或者刪除不需要的商品。最后 就是進行付款結算。結算完成后,注銷用戶,以便下次繼續使用(模塊圖如圖1-2 所示)。圖 1-2 用戶模塊圖2南京曉莊學院1.2.2 管理員模塊管理員模塊:管理員管理模塊也就是網站的后臺,包括丙個子模塊:登錄及注銷和處理商品與訂單。登錄及注銷模塊是控制管理員登錄與

5、注銷。處理商品及訂單模塊的主要工作是負責對商品信息和訂單信息的管理與維護,包括對商品的添加與刪除即上架下架功能、訂單信息確認與管理功能等。(模塊圖如圖 1-3 所示)1.3 數據庫設計與實現圖 1-3管理員模塊圖數據庫在系統中占有非常重要的地位,數據庫結構設計的好壞將直接對應用系統的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。另外,合理的數據庫結構將非常有利于程序的實現。設計數據庫系統時應該首先充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求。1.3.1 數據庫設計原則在動態網站的設計中,數據庫設計的重要性不言而喻。如果設計不當,查

6、詢起來就非常吃力,程序的性能也會受到影響。無論使用的是MySQL 或者 Oracle 數據庫,通過進行正規化的表格設計, 可以令 PHP代碼更具可讀性,更容易擴展,從而也會提升應用的性能。1、規范命名所有的庫名、表名、域名必須遵循統一的命名規則,并進行必要說明,以方便設計、維護、查詢。2、控制字段的引用在設計時,可以選擇適當的數據庫設計管理工具,以方便開發人員的分布式設計和數據小組的集中審核管理。采用統一的命名規則,如果設計的字段已經存在,可直接引用;否則,應重新設計。3南京曉莊學院3、庫表重復控制在設計過程中,如果發現大部分字段都已存在,開發人員應懷疑所設計的庫表是否已存在。通過對字段所在庫

7、表及相應設計人員的查詢,可以確認庫表是否確實重復。4、并發控制設計中應進行并發控制,即對于同一個庫表,在同一時間只有一個人有控制權,其他人只能進行查詢。5、必要的討論數據庫設計完成后,應與指導老師進行討論,通過討論來熟悉數據庫,從而對設計中存在的問題進行控制或從中獲取數據庫設計的必要信息。1.3.2 數據庫概念結構設計數據庫的E-R 圖反映了實體、實體的屬性和實體之間的聯系。下面的圖1-4 至圖 1-9 顯示的是各個實體以及實體的屬性。圖 1-4 管理員實體及屬性圖 1-5用戶實體及屬性4南京曉莊學院圖 1-6 訂單實體及屬性圖 1-7訂單條目實體及屬性圖 1-8 類別實體及屬性5南京曉莊學院

8、圖 1-9 商品實體及屬性圖 1-10 管理員實體及屬性下面的圖1-11 顯示的是系統E-R 圖:1.3.3 數據庫邏輯結構設計圖 1-10 系 統 E-R 圖本系統數據庫為:shoppingcart ,其中包含了6 個 MySQL 數據表來實現對數據的存儲、調用。以下為具體數據表模式:【admins 表】( username 、password)【categories 表】( id 、name)【customers 表】( id 、username、password、add1、add2、add3、postcode、 phone、 email)【orderitems 表】(id 、 order

9、_id 、product_id 、quantity )【orders 表】(id 、customer_id 、registered、payment_type 、date、status、total )【products 表】(id 、 cat_id 、name、description 、 image、 price)其中,用 下劃線和粗體標記的屬性為表的主鍵屬性。各表的具體設計如表4-1表 4-9 所示。根據 E-R 圖,設計每張表的變量名,變量的類型及主鍵。6南京曉莊學院1、admins表admins 表存放管理員ID、登錄名和密碼。表 1-1admins 表2、categories表Categ

10、ories的信息都存放在個表中。表 1-2categories表3、orderitems表Orderitems表存放所有訂單條目的信息。表 1-3orderitems 表4、orders表Orders 表存放訂單的詳細信息。表 1-4orders表7南京曉莊學院5、products表Products表存放商品的名稱,描述,圖片,價格等。表 1-5products表6、custermers表Custermers表存放教師上傳的文件的信息。表 1-6custemers 表1.4 本章小結本章介紹了網上購物系統的總體構想,以及實現的主要功能。根據需求分析對模塊功能作了較為詳細的介紹。最后介紹了數據庫

11、的設計原則,分析了數據庫的概念與邏輯結構設計。8南京曉莊學院2 系統功能的具體實現2.1系統功能設計在系統進行整體設計的過程中,將系統中的公用代碼部分分離了出來,避免了系統中出現代碼冗余,同時也提高了系統的開發效率。2.1.1數據分頁功能當要顯示的數據比較多,一個頁面無法完全顯示,此時便需要進行數據的分頁處理(如圖2-1)。用以下代碼實現的簡單分頁,非常簡單,具體實現主要代碼如下:$pagesize=3;$validid= $_GET'id'$sql= "SELECT *FROMproducts "$result=mysql_query($sql);$num

12、ber=mysql_num_rows($result);/ 取記錄的條數if($number%$pagesize=0)/取余數,看是否等于0$total=$number/$pagesize;else$total=(int)($number/$pagesize)+1;if(isset($_GET'page')/判斷是否是第一頁$page=(int)($_GET'page');else$page=1;$start=($page-1)*$pagesize;/ 計算起始位置$prodcatsql="select *fromproducts limit$star

13、t,$pagesize"/ 根據頁碼 $page計算出起始位置$start取值,以 $start為起點,個數為$pagesize$prodcatres = mysql_query($prodcatsql);9南京曉莊學院2.1.3 分類導航功能圖 2-1 分頁顯示對所有商品進行分類,方便用戶查找商品。通過導航來實現產品的分類顯示。如圖2-2 所示。圖 2-2 分類導航顯示在 PHP文件中,我們只需要傳遞4 個變量給Smart 對象: 1. 記錄總數; 2. 每頁記錄起始數; 3.每頁記錄結束數; 4. 分頁標簽;2.1.4 會話管理用戶可以根據身份進行選擇登錄,在系統用戶登錄的時候,

14、用戶需要輸入用戶名和密碼及驗證碼進行數據庫登錄驗證。用戶必須輸入用戶名和密碼以及驗證碼。否則將彈出對話框進行提示。在進行用戶身份識別時,需要對用戶的一些信息參數進行傳遞與保存,這就要使用到SESSION或者 COOKIE 技術。服務器端的SESSION 和客戶端的COOKIE 是兩種重要的參數傳遞與保存的技術,它們有各自的優點與不足,但都在Web 系統中發揮著很大的作用。SESSION: 在計算機中是存在服務器端的,在網絡應用中,稱為“會話 ”。“會話”可以簡單的理解為瀏覽器與服務器的一次對話過程,這個過程從第一次服務器收到瀏覽器的頁面請求開始到最后一次請求為止。一次會話對應著一個SESSIO

15、N,每個訪問者都有自己的一個SESSION,所以像用戶信息等全局性的數據非常適合放在SESSION 中,以供整個訪問過程使用。COOKIE是客戶端(瀏覽器)支持的存儲區,當一個頁面訪問請求發出時,瀏覽器會查找是否有有效的COOKIE可用,如果找到的話COOKIE中的信息將被一起傳遞到服務器,這樣PHP 程序就可以獲取和分析COOKIE 里的數據。 客戶端出于安全和性能的考慮,不會給 COOKIE很大的存儲空間, COOKIE 也可以被客戶端的其他程序訪問和修改,用戶也可以禁用COOKIE功能,總的來說并不可靠,但是它可以長期存放在客戶端腳本共享里面的數據,適合于存放一些不太重要的個性化信息。S

16、ESSION 與 COOKIE 不同的是它不需要每次都要從客戶端傳來,它的數據保存在服務器上,也不會自傳給客戶端。根據客戶端發來的頁面請求中的SESSIONID 來查找是否有對應的SESSION 可用。如果有,則為PHP 提供這個SESSION ,如果沒有則創建一個供PHP 使用。直到這次會話的結束, SESSION 才會被清除。鑒于此本系統采用的是SEEION 技術。10南京曉莊學院2.2 用戶模塊功能的實現2.2.1 用戶注冊在注冊用戶時,需要填寫用戶名,密碼,地址,郵編,電話號碼,以及郵箱等(每個信息都不能為空,否則將彈出對話框進行提示)。填寫完提交后寫入數據庫并判斷是否注冊成功。主要代

17、碼如下:if(empty($username)/ 判斷用戶名是否為空。die("<script>alert(' 用戶名不能為空');location.href='register.php'</script>");/彈出對話提示并回到注冊$sql="INSERTINTOcustomersVALUES('','$username','$userpassword','$add1','$add2','$add3','

18、;$postcode',' phone','$email');"/SQL語句,把注冊信息加入到customers 表中,但還并未執行if(mysql_query($sql)/只有通過mysql_query() 才能在數據庫上執行操作,使用 if 來判斷是否已經執行來決定注冊成功與否。圖 2-3 用戶注冊2.2.2 用戶登錄在系統用戶登錄的時候,用戶需要輸入用戶名和密碼及驗證碼進行數據庫登錄驗證。界面如圖2-4 所示,用戶必須輸入用戶名和密碼以及驗證碼。否則將彈出對話框進行提示。原代碼如下所示:$loginsql = "select *

19、fromcustomers where username= '" . $_POST'userBox' . "' AND password = '" .$_POST'passBox' . "'"$loginres = mysql_query($loginsql);$numrows = mysql_num_rows($loginres);11南京曉莊學院if(empty($numrows)die("<script>alert(' 用戶名或密碼不正確'

20、;);location.href='login.php'</script>");2.2.3 購物車功能圖 2-4 用戶登錄在系統中,購物車是整個網上購物系統中最核心的部分。主要功能是用戶選擇商品添加到購物車,并能在下次登錄時顯示購物車中的待結算的商品(界面如圖2-5 和圖 2-6 所示)。核心代碼具體如下:$sql = "INSERT INTO orders(customer_id, registered, date,status) VALUES(".$_SESSION'SESS_USERID'. ", 1,

21、NOW(),'pay')"mysql_query($sql);/ 把用戶號等信息寫入數據庫中session_register("SESS_ORDERNUM");/生成會話變量$_SESSION'SESS_ORDERNUM'= mysql_insert_id(); 把訂單 ID 附給會話變量$itemsql = "INSERT INTO orderitems(order_id, product_id, quantity) VALUES(".$_SESSION'SESS_ORDERNUM'. &quo

22、t;, " . $validid . ", ".$_POST'amountBox'. ")" mysql_query($itemsql); require("showcart.php");圖 2-5 添加商品到購物車$quantitytotal = $itemsrow'price'* $itemsrow'quantity'/產品的總價格12南京曉莊學院echo "<tr>"echo "<td><imgsrc='

23、./image/" . $itemsrow'image'. "' width='50' alt='" . $itemrows'image'. "'></td>" echo "<td>" . $itemsrow'name' . "</td>"/ 獲取商品名稱echo "<td>" . $itemsrow'quantity'. &qu

24、ot;</td>"echo "<td><strong>&pound;". sprintf('%.2f',$itemsrow'price'). "</strong></td>" echo "<td><strong>&pound;". sprintf('%.2f',$quantitytotal). "</strong></td>"echo

25、"<td><a href='" . $config_basedir ."delete.php?id=" . $itemsrow'itemid'. "'>X</a></td>" echo "</tr>"$total = $total + $quantitytotal;$totalsql = "update orders set total = " . $total . " where id = &

26、quot; . $_SESSION'SESS_ORDERNUM'$totalres = mysql_query($totalsql);/ 更新總價格2.2.4 結算功能圖 2-6 購物車顯示用戶選擇好商品后,加入購物車后,就可以進行結算了。結算分兩種,一種是網上銀行,另一種是貨到付款。如下圖2-7 所示:13南京曉莊學院2.2.5 用戶注銷圖 2-7 結 算用戶完成商品選購及結算后,就可以注銷用戶以便不被其他人使用,等下使用時再進行登錄。只要通過如下代碼,注銷會話變量。session_unregister("SESS_LOGGEDIN"); session_unr

溫馨提示

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

評論

0/150

提交評論