【php毕业设计】基于php+mysql+apache的在线购物网站设计与实现(毕业论文+程序源码)——在线购物网站
基于php+mysql+apache的在線購物網(wǎng)站設(shè)計與實現(xiàn)(畢業(yè)論文+程序源碼)
大家好,今天給大家介紹基于php+mysql+apache的在線購物網(wǎng)站設(shè)計與實現(xiàn),文章末尾附有本畢業(yè)設(shè)計的論文和源碼下載地址哦。
文章目錄:
- 基于php+mysql+apache的在線購物網(wǎng)站設(shè)計與實現(xiàn)(畢業(yè)論文+程序源碼)
- 1、項目簡介
- 2、資源詳情
- 3、關(guān)鍵詞:
- 4、畢設(shè)簡介
- 5、資源下載
1、項目簡介
2、資源詳情
項目難度:中等難度
適用場景:相關(guān)題目的畢業(yè)設(shè)計
配套論文字數(shù):13738個字32頁
包含內(nèi)容:整套源碼+完整畢業(yè)論文
3、關(guān)鍵詞:
產(chǎn)品報價;在線購物;電子商務(wù);PHP;MySQL;開源社區(qū)4、畢設(shè)簡介
提示:以下為畢業(yè)論文的簡略介紹,項目源碼及完整畢業(yè)論文下載地址見文末。
1 引言
1.1 系統(tǒng)的開發(fā)背景
1.1.1 在線購物的發(fā)展
省略
1.1.2 產(chǎn)品報價系統(tǒng)的現(xiàn)狀
產(chǎn)品報價系統(tǒng)的開發(fā),主要是用來幫助消費者在最短的時間內(nèi)通過產(chǎn)品參數(shù)的比較,找到自己需要的產(chǎn)品,并使用系統(tǒng)提供的在線購買功能,實現(xiàn)整個購物流程。
目前,產(chǎn)品報價系統(tǒng)已經(jīng)越來越多的應用到了大型的電子商務(wù)解決方案之中,起到了良好的效果。在泡泡網(wǎng)(http://product.pcpop.com/)、中關(guān)村在線(http://detail.zol.com.cn/)、IT世界網(wǎng)(http://www.it.com.cn/)、太平洋電腦網(wǎng)(http://www.pconline.com.cn/market/)等國內(nèi)著名的IT和數(shù)碼產(chǎn)品信息網(wǎng)都提供了強大的產(chǎn)品報價功能[1]。
1.2 系統(tǒng)實現(xiàn)的目標
本系統(tǒng)主要實現(xiàn)產(chǎn)品報價和傳統(tǒng)在線購物的結(jié)合。一方面用戶可以使用該系統(tǒng)對產(chǎn)品進行多種屬性的搜索,對不同制造商和不同型號的產(chǎn)品進行簡單的比較,最后提交訂單并完成整個在線購買流程。另一方面,建立嚴格的審核和快捷的訂單處理機制,對管理員進行權(quán)限管理,分為系統(tǒng)管理員、產(chǎn)品管理員和訂單管理員等。管理員在后臺設(shè)置產(chǎn)品的類別、制造商信息以及對不同的產(chǎn)品進行屬性定制,建立專有的產(chǎn)品屬性字段。
1.3 系統(tǒng)開發(fā)的意義
本系統(tǒng)的開發(fā),將在一定程度上縮短用戶在產(chǎn)品選擇和購物的中間環(huán)節(jié),簡化購物流程,提高效率。為用戶節(jié)省大量的時間。通過對新注冊用戶的審核,來建立一個安全可靠的購物環(huán)境,解決傳統(tǒng)電子商務(wù)存在的誠信度問題。
2 產(chǎn)品報價系統(tǒng)分析
2.1 網(wǎng)站的設(shè)計目標
網(wǎng)站使用簡潔的框架結(jié)構(gòu),讓審核通過并登陸了的用戶進行產(chǎn)品的搜索、使用購物車、填寫定單、選擇支付和送貨方式等操作,用戶發(fā)表產(chǎn)品評論,在填寫定單的時候可以附帶留言對自己訂購的產(chǎn)品加以備注說明。管理員有權(quán)在后臺面板進行用戶管理(包括審核、查看、編輯與添加)、訂單管理和留言管理以及一些常規(guī)的設(shè)置和數(shù)據(jù)庫管理(包括備份和恢復)等操作。
2.2 網(wǎng)站的可行性分析
2.2.1 用戶群體與市場分析
省略
2.2.2 技術(shù)能力分析
根據(jù)本系統(tǒng)的功能需求,采用PHP編程語言與開源的MySQL數(shù)據(jù)庫引擎進行開發(fā)。由于PHP作為一種高效而且語言結(jié)構(gòu)清晰的編程語言,尤為適合于模塊化功能的開發(fā),而且因為其本身和服務(wù)器結(jié)合比較緊密,有大量優(yōu)秀的函數(shù)庫可以使用,在執(zhí)行效率和安全性上有很大優(yōu)勢。而MySQL作為一種快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器,根據(jù)第三方測試結(jié)果,在千萬級的數(shù)據(jù)環(huán)境中依然保持較高的執(zhí)行速度。因此在技術(shù)層面上,是完全可行的。
2.2.3 可行性分析總結(jié)
省略
2.3 網(wǎng)站設(shè)計的特點
省略
3 系統(tǒng)的開發(fā)技術(shù)及主要構(gòu)架
3.1 開發(fā)技術(shù)的選擇
3.1.1 PHP編程技術(shù)
PHP(“PHP Hypertext Preprocessor”,超文本預處理器的字母縮寫)是一種被廣泛應用的開放源代碼的多用途腳本語言,它可以嵌入到 HTML中,尤其適合 web開發(fā)。它還是一種簡單的、面向?qū)ο蟮摹⒔忉屝偷摹⒔训摹踩摹⑿阅芊浅V叩摹ⅹ毩⒂诩軜?gòu)的、可移植的、動態(tài)的腳本語言。
PHP代碼在服務(wù)器端被解釋轉(zhuǎn)變成普通的HTML頁面內(nèi)容,送給瀏覽器端,這種模式可使我們用它來完成相當復雜的功能。它能運行在包括Windows、Linux等在內(nèi)的絕大多數(shù)操作系統(tǒng)環(huán)境中,常與免費的Web服務(wù)器軟件Apache和免費數(shù)據(jù)庫軟件MySQL配合使用于Linux平臺上,具有較高的性價比。
強大的數(shù)據(jù)庫支持:目前其支持范圍覆蓋了包括Oracle,Sybase,Microsoft SQL,MySQL,Informix,Solid dBase,ODBC,Unix dbm,PostgreSQL,Adabas D等在內(nèi)的大多數(shù)常見數(shù)據(jù)庫。用它編寫一個含有數(shù)據(jù)庫功能的網(wǎng)頁程序十分簡單。
PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MySQL是絕佳組合。
可擴展性:就像前面說的那樣,PHP已經(jīng)進入了一個高速發(fā)展的時期。對于一個非程序員來說為PHP擴展附加功能可能會比較難,但是對于一個PHP程序員來說并不困難。
面向?qū)ο缶幊?#xff1a;PHP提供了類和對象。基于web的編程工作非常需要面向?qū)ο缶幊棠芰ΑHP也支持構(gòu)造器、提取類等。
3.1.2 MySQL開源數(shù)據(jù)庫的開發(fā)
MySQL是最受歡迎的開源SQL數(shù)據(jù)庫管理系統(tǒng),它由MySQL AB開發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式來結(jié)合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標。
省略
3.2 系統(tǒng)的主要架構(gòu)及開發(fā)模式
3.2.1 基于B/S的體系結(jié)構(gòu)
本產(chǎn)品報價系統(tǒng)采用B/S模式,服務(wù)器采用著名的web服務(wù)器端軟件apache,該http服務(wù)器有著良好的跨平臺性和安全性,可以運行在包括windows、linux、mac等操作系統(tǒng)上。用戶客戶端使用各種瀏覽器都能夠進行正常的瀏覽和操作。需要注意的是在程序的開發(fā)過程中,程序和路徑相關(guān)的要考慮到不同的操作系統(tǒng)的文件目錄結(jié)構(gòu)。
3.2.2 OOP(面向?qū)ο缶幊?#xff09;在PHP中的運用
面向?qū)ο蟮姆椒ㄊ且环N運用對象、類、繼承、封裝、聚合、消息傳送、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。面向?qū)ο蠓椒ǖ幕舅枷胧?#xff1a;從現(xiàn)實世界中客觀存在的事物(即對象)出發(fā)來構(gòu)造軟件系統(tǒng),并在系統(tǒng)構(gòu)造中盡可能運用人類自然的思維方式。
關(guān)于OOP思想是否適用于PHP程序開發(fā)的爭論一直在持續(xù),一方面PHP向來以快捷開發(fā)著稱,在程序中可以直接的對變量進行調(diào)用,況且PHP自身就提供了龐大的函數(shù)庫。而OOP則需要使用對象來調(diào)用每一個函數(shù)和屬性。但是在本系統(tǒng)的開發(fā)中,大量使用到了OOP的思想,最突出的就是對數(shù)據(jù)庫的操作部分,在后續(xù)的代碼中出現(xiàn)對數(shù)據(jù)庫的操作的時候使用對象調(diào)用讓整個流程和結(jié)構(gòu)顯得更加清晰。在PHP5的開發(fā)過程中,OOP的思想已經(jīng)得到了一定的重視[7]。
4 系統(tǒng)的功能和流程分析
4.1 平臺功能模塊的設(shè)計分析
根據(jù)需求分析和產(chǎn)品報價系統(tǒng)的整體工作流程,本系統(tǒng)所具有的基本功能模塊主要包括查詢、購買、留言、用戶管理、產(chǎn)品管理、留言管理和訂單管理等,除了以上基礎(chǔ)模塊,在開發(fā)過程中還開發(fā)了一些相關(guān)的模塊來補充和完善整個系統(tǒng),以期獲得更好的效果。
系統(tǒng)功能模塊關(guān)系圖如圖1。
圖1 產(chǎn)品報價系統(tǒng)功能模塊圖
4.2 系統(tǒng)流程分析
以下部分主要對各個功能模塊的實現(xiàn)流程思路進行分析。
4.2.1 前臺購物流程
只有管理員審核通過的注冊用戶才具有在本系統(tǒng)購買產(chǎn)品的權(quán)限,當用戶搜索到所要訂購的產(chǎn)品時,點擊“購買”按鈕,即可將產(chǎn)品放入購物車中,系統(tǒng)頁面轉(zhuǎn)向購物車頁面,用戶可以在看到產(chǎn)品現(xiàn)有庫存,并根據(jù)自身需要設(shè)置購買的產(chǎn)品數(shù)量。
設(shè)置完畢后,用戶可以繼續(xù)購物,也可以通過頁面上的“結(jié)帳”開始訂單填寫流程。頁面將顯示出訂購產(chǎn)品的基本信息、用戶所在的通訊地址(用做產(chǎn)品發(fā)貨地址),用戶需要確認正確的收貨地址,如果需要設(shè)置新的收貨地址,可以在自己的通訊錄內(nèi)添加。在收貨地址確認后用戶需要選擇送貨方式,比如普通郵寄、特快專遞等,在確認送貨方式之后,進入支付方式的選擇,用戶可以選擇在線支付,也可以選擇郵局匯款,在線支付的可以通過在線支付的接口實現(xiàn)支付。在支付方式確認之后,訂單的全部信息設(shè)置完畢,用戶做最后的確認,無誤之后確認定單。整個訂單過程完畢。等待管理員處理訂單。
用戶可以在個人面板查看個人訂購記錄與訂單處理狀態(tài)。
用戶購物的整體流程如圖2。
圖2 前臺購物流程圖
4.2.2 注冊登陸功能流程
注冊流程的實現(xiàn)較為簡單,用戶在系統(tǒng)首頁或者系統(tǒng)任何通過登陸才有訪問權(quán)限的頁面都能找到會員注冊的鏈接。點擊注冊鏈接,用戶按照表單所需信息填寫,需填寫真實信息,因為新注冊用戶必須經(jīng)過管理員審核才能成為正式會員在本站進行產(chǎn)品訂購。信息填寫完畢并提交之后,系統(tǒng)提示注冊成功,但是需要管理員審核。
登陸功能中,注冊用戶需要提供其正確的注冊郵箱和密碼,忘記密碼的用戶可以通過“找回密碼”填寫注冊使用的郵箱名稱,提交發(fā)送找回密碼的請求,系統(tǒng)收到請求后,將會通過郵件將用戶的新密碼發(fā)送到用戶注冊郵箱中去。
4.2.3 商品搜索流程
搜索功能是系統(tǒng)最重要的一個模塊,在搜索頁,用戶可以輸入產(chǎn)品關(guān)鍵字,并根據(jù)產(chǎn)品的價格范圍、產(chǎn)品制造商以及產(chǎn)品類別等屬性進行查詢,在查詢的過程中,可以使用符號與關(guān)鍵字的結(jié)合進行模糊搜索。在搜索結(jié)果中,每個產(chǎn)品都會以規(guī)范的表格形式展示出來,并直觀的顯示出產(chǎn)品的關(guān)鍵屬性和特點,并提供直接的購買按鈕。
4.2.4 留言評論流程
在每個產(chǎn)品的介紹下面都有產(chǎn)品評論的功能,注冊用戶可以對產(chǎn)品發(fā)表評論,對產(chǎn)品提出問題或者疑問,并評分。信息提交之后,管理員將能通過后臺的管理功能查看的相關(guān)的評論以及問題。
4.2.5 商品管理流程
在本產(chǎn)品報價系統(tǒng)中,主要通過管理員添加產(chǎn)品信息,在后臺的產(chǎn)品管理中,管理員需要設(shè)置產(chǎn)品的類別,類別設(shè)置能夠設(shè)立一級分類與二級分類。類別主要信息包括類別名稱、排列順序、類別形象圖片等。管理員還需要設(shè)置和管理產(chǎn)品制造商,在添加產(chǎn)品信息時,管理員需要設(shè)置產(chǎn)品的類別、制造商、價格、庫存數(shù)量等屬性,庫存數(shù)量會在每次的訂購之后自動的減少。在產(chǎn)品添加之后并不能直接的顯示在前臺的頁面上,只有在產(chǎn)品被管理員激活之后才能夠顯示。管理員有權(quán)限對已存在的類別、制造商、產(chǎn)品進行包括編輯、刪除的管理。由于產(chǎn)品庫存會隨著產(chǎn)品訂購而減少,管理員可以通過編輯產(chǎn)品來修改庫存數(shù)量。同時,也可以將特有產(chǎn)品設(shè)置為特價產(chǎn)品來銷售。
4.2.6 訂單處理流程
管理員在查看到新訂單出現(xiàn)時,查看訂單信息,根據(jù)用戶所訂購的產(chǎn)品以及所選取的支付和運送方式,對訂單進行處理,在確認已經(jīng)收到用戶的訂購貨款的時候,開始進行正式的處理中,并根據(jù)辦理的情況,修改產(chǎn)品訂單的處理狀態(tài),用戶可以通過個人面板了解訂單狀態(tài),及時的了解到最新的處理情況,和網(wǎng)站保持一種便捷的溝通渠道,從而保證了購物過程的安全和流暢。
4.2.7 用戶管理流程
用戶群組是本系統(tǒng)一個重要模塊,為了對新注冊用戶進行審核,在開發(fā)過程中,將新注冊的用戶默認為待審核組的成員,管理員登陸后,可以查看新注冊用戶的資料,待確認審核通過后將其從待審核組轉(zhuǎn)到正式用戶組,實現(xiàn)了基本的審核功能,而只有正式會員才享有在本站訂購產(chǎn)品的權(quán)限。其次在用戶管理中,管理員可以添加用戶,添加完成后將給新添加的用戶發(fā)送一封郵件,進行通知。管理員還可以通過姓名、郵箱以及所在群組搜索查找用戶,并對用戶進行編輯、刪除等操作。而管理員也作為一個特殊的群組存在,主要分為系統(tǒng)管理員、訂單管理員和產(chǎn)品管理員,每個管理員都具有相應的權(quán)限。
5 系統(tǒng)功能的具體實現(xiàn)
5.1 系統(tǒng)數(shù)據(jù)庫的設(shè)計
根據(jù)需求分析以及系統(tǒng)功能的需要,系統(tǒng)信息數(shù)據(jù)存放在MySQL數(shù)據(jù)表中。下面給出重要數(shù)據(jù)表的簡單描述。
1.customers(用戶信息表)
該表存儲了用戶的基本信息,主要用于用戶的登陸以及站內(nèi)的活動記錄。表內(nèi)數(shù)據(jù)由用戶注冊時寫入,如表1。
表1 用戶信息表
2.usergroups(用戶群組表)
該表存儲了系統(tǒng)群組的信息,每個群組所享有的權(quán)限是不同的,新注冊用戶默認為待審核成員組。該表的字段屬性如表2。
表2 系統(tǒng)群組信息表
3.categories(產(chǎn)品分類表)
該表存儲了產(chǎn)品類別信息,主要包括了產(chǎn)品編號、標識圖片以及訂購類型編號等。字段屬性描述如表3。
表3 產(chǎn)品分類表
4.address_book(用戶通訊地址表)
系統(tǒng)將用戶注冊時的通訊地址保存到該表中,用戶可以根據(jù)自身情況,在通訊錄最多設(shè)置5個通訊地址,該通訊地址主要作為訂購產(chǎn)品的發(fā)貨地址和郵件接收地址。保證產(chǎn)品通過用戶選擇的送貨方式送達用戶手中。字段屬性描述如表4。
表4 用戶通訊地址表
5.manufacturers(制造商信息表)
制造商信息表主要存儲了制造商的基本信息,包括編號、名稱、形象圖片、添加及更新日期。本表信息由系統(tǒng)管理員進行管理。字段屬性描述如表5。
表5 制造商信息表
6.products(產(chǎn)品信息表)
該表存儲了產(chǎn)品的基本信息。由管理員在后臺添加產(chǎn)品時候輸入。字段屬性描述如表6。
表6 產(chǎn)品信息表
7.reviews(用戶評論表)
該表存儲了用戶提交的產(chǎn)品評論信息,主要包括了用戶的信息和評論以及評分的信息。字段屬性描述如表7。
表7 用戶評論表
5.2 功能總體說明
5.2.1 系統(tǒng)流程圖
系統(tǒng)整體流程圖如圖3。
圖3 系統(tǒng)整體流程圖
5.2.2 目錄結(jié)構(gòu)說明
本系統(tǒng)程序代碼包含11個子目錄,主要目錄描述說明為:
admin : 管理后臺程序目錄,包括后臺程序、數(shù)據(jù)庫備份目錄、后臺管理子模塊程序目錄。
htmlarea : htmlarea在線編輯器的全部程序,包括編輯器的js文件、編輯器圖標以及模版程序。
images : 該目錄主要為系統(tǒng)中使用到的圖片、圖標,包括jpg、gif、ico等格式。
includes : 系統(tǒng)的重要函數(shù),包括全局配置文件,還有調(diào)用頻繁的代碼段。
modules : 存放系統(tǒng)中一些小的功能模塊的代碼。比如站內(nèi)新聞訂閱。
osdata : 數(shù)據(jù)庫備份和恢復的設(shè)置目錄,主要存放系統(tǒng)備份的數(shù)據(jù)庫,可以從這里面將數(shù)據(jù)庫導入到系統(tǒng)中去。
templates : 系統(tǒng)前臺模版文件,為html格式,通過PHP文件的包含而使用。
5.3 各功能模塊的實現(xiàn)
5.3.1 數(shù)據(jù)庫的連接
系統(tǒng)中對數(shù)據(jù)庫的操作是以類的形式表現(xiàn)的,將對數(shù)據(jù)庫操作的函數(shù)封裝到類dbstuff中,包括數(shù)據(jù)庫的連接和查詢以及從查詢結(jié)果從取數(shù)據(jù)。然后建立一個新的對象db,在整個系統(tǒng)中直接使用對象操作數(shù)據(jù)庫。在類dbstuff中,對數(shù)據(jù)庫連接的代碼片段是:
對數(shù)據(jù)庫操作的類封裝在includes目錄中的db_MySQL.PHP文件中,然后在application_top.PHP文件中建立對象,然后在使用到數(shù)據(jù)庫操作的每個頁面將application_top.PHP包含進去。在application_top.PHP建立對象的操作代碼為:
$db = new dbstuff; //建立對象 $db->connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE,USE_PCONNECT); //使用對象來操作數(shù)據(jù)庫連接 $db->select_db(DB_DATABASE);5.3.2 用戶注冊與審核模塊
作為一個產(chǎn)品報價系統(tǒng),首先它是一個在線購物系統(tǒng),因此為了建立一個良好的購物環(huán)境,保證系統(tǒng)的安全和用戶的信息,新用戶的審核是一個重要的環(huán)節(jié)。新用戶在前臺首頁或者系統(tǒng)任何一個需要登陸才能操作的功能頁,都會自動的跳轉(zhuǎn)到登陸注冊頁面,注冊頁面如圖4所示。
圖4 用戶注冊頁面
點擊用戶注冊鏈接,進入如圖4的頁面,填寫真實的個人信息,在確認無誤之后提交,系統(tǒng)將對提交信息進行初步的過濾,如果無誤,將會提示注冊成功。此時用戶可以登陸系統(tǒng),使用搜索功能,發(fā)布產(chǎn)品評論,修改個人資料,但是不能訂購產(chǎn)品,在等待管理員審核通過之后才具有購買產(chǎn)品的權(quán)限,成為正式會員。審核功能如圖15。
在注冊頁面,標注星號的為必須填寫的字段,在程序中對此類字段進行是否為空的判斷。如果均不為空則插入數(shù)據(jù)表中,否則返回信息提交頁面。
在這個過程中,重要的就是提取用戶提交的信息,這是對信息進行判斷和寫入數(shù)據(jù)庫的重要步驟,該過程使用到了位于includes目錄中的global.PHP文件中自定義函數(shù)tep_db_prepare_input()。該函數(shù)的實現(xiàn)為:
function tep_db_prepare_input($string){if (is_string($string)){return trim(tep_sanitize_string(stripslashes($string))); //字符串替換函數(shù)}elseif (is_array($string)){reset($string);while (list($key, $value) = each($string)){$string[$key] = tep_db_prepare_input($value);}return $string;}else{return $string;} }審核模塊,由管理員在后臺對所要審核的會員所在的群組進行更改,管理員能全面的查看到會員的全部資料,確認之后將用戶由待審核組更改為正式會員組即實現(xiàn)了審核功能。
5.3.3 用戶登陸模塊的實現(xiàn)
注冊用戶通過前臺頁面的登陸窗口(如圖5),進入系統(tǒng),以進行相關(guān)操作。登陸主要使用用戶郵箱地址和注冊密碼,如果與數(shù)據(jù)庫匹配成功則登陸成功。用戶遺忘密碼時,通過找回密碼功能來獲得一個新的密碼,這使用到了兩個操作:
首先就是通過用戶提供的郵箱地址進行數(shù)據(jù)庫的操作,如果郵箱存在就隨機產(chǎn)生一個密碼,并將加密后的新密碼寫入到數(shù)據(jù)庫中。
圖5 用戶登陸頁面
產(chǎn)生新密碼的實現(xiàn)過程為:
5.3.4 商品搜索模塊的實現(xiàn)
產(chǎn)品搜索主要是通過對數(shù)據(jù)字段的查詢實現(xiàn)的。如圖6所示,用戶通過輸入產(chǎn)品名稱的關(guān)鍵字,目前可以實現(xiàn)的是使用產(chǎn)品名稱關(guān)鍵字、產(chǎn)品分類(包含子分類)、產(chǎn)品制造商與產(chǎn)品的價格范圍和上架的日期范圍進行組合式的搜索服務(wù)。
搜索結(jié)果將產(chǎn)品以列表的形式調(diào)用出來,并且顯示各個產(chǎn)品的參數(shù),以便于產(chǎn)品之間的比較,搜索結(jié)果顯示如圖7。在實現(xiàn)該模塊中,對數(shù)據(jù)庫的查詢、產(chǎn)品的顯示形式與分頁是重點技術(shù)點。
圖6 產(chǎn)品搜索頁面
其中搜索過程對數(shù)據(jù)庫的操作較為復雜,需要同時對不同數(shù)量的關(guān)鍵字進行處理。搜索處理用到的重要函數(shù)有以下2個:
function tep_get_all_get_params() 用于獲取用戶搜索輸入的所有參數(shù)
function tep_parse_search_string() 用戶對所有參數(shù)的處理。
圖7 前臺產(chǎn)品展示頁面
5.3.5 購物車模塊的實現(xiàn)
在產(chǎn)品列表點“購買”按鈕,就自動的將所要購買的產(chǎn)品放進購物車中,如圖7,在圖8中,點繼續(xù)購物就可以回到產(chǎn)品頁面,繼續(xù)選擇自己需要的產(chǎn)品。如果要結(jié)帳,只需要點“結(jié)帳”按鈕,就會進入到訂單填寫的流程。如圖2所示。 訂單處理主要包括確認收貨地址、選擇收貨方式和選擇支付方式三個主要步驟,其中可以發(fā)布訂單的特殊要求和供貨方需要注意的事項。購物車管理頁面如圖8。
圖8 購物車管理頁面
在本模塊中,需要對用戶是否具有購物權(quán)限進行判斷,未審核通過的用戶雖然能夠?qū)⑾矚g的產(chǎn)品放進購物車(即使未通過審核的用戶,放進購物車的產(chǎn)品信息也可以保存,以便用戶在具有權(quán)限時繼續(xù)購買,但在未通過審核前,其行為不影響產(chǎn)品庫存數(shù)量)。權(quán)限判斷的代碼為:
$query1 = $db->query("select status from $table_customers where customers_id ='".(int)$customer_id."'"); $check_status = $db->fetch_array($query1); if ($check_status['status'] == 'verify'){echo "<script>alert('您的資料還沒有通過審核,暫時不能購買產(chǎn)品,我們將盡快為您開通。');history.back();</script>";exit(); }5.3.6 產(chǎn)品管理模塊的實現(xiàn)
產(chǎn)品管理模塊包含的主要功能有:添加管理產(chǎn)品分類(如圖9),添加管理產(chǎn)品(如圖10),設(shè)置制造商(如圖11),設(shè)置產(chǎn)品特有屬性(如圖12)。
產(chǎn)品分類管理模塊,為二級分類。通過管理后臺的“新分類”鏈接,可以添加新的分類,通過“新產(chǎn)品”的鏈接可以在當前類別下添加產(chǎn)品,同樣在一級分類下面也具有這兩項功能。可以對已存在類別進行包括修改、刪除和移動在內(nèi)的操作。而對類的操作均是對數(shù)據(jù)庫的直接操作。其中添加類的核心代碼為:
$action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action']: (isset($HTTP_POST_VARS['action']) ? $HTTP_POST_VARS['action']: '')); if ($action){switch ($action){case 'new_category':if (isset($HTTP_POST_VARS['categories_id']))$categories_id = stripslashes($HTTP_POST_VARS['categories_id']);$sort_order = stripslashes($HTTP_POST_VARS['sort_order']);$db->query("insert into $table_categories (parent_id,sort_order,date_added) values ('$current_category_id','$sort_order',now())");$categories_id = $db->insert_id();$languages = tep_get_languages();for ($i = 0, $n = sizeof($languages); $i < $n; $i++){$categories_name_array = $HTTP_POST_VARS['categories_name'];$language_id = $languages[$i]['id'];$categories_name = stripslashes($categories_name_array[$language_id]);$db->query("insert into $table_categories_description (categories_name,categories_id,language_id) values ('$categories_name','$categories_id','$language_id')");}$categories_image = new upload('categories_image','/upload/images/category');if ($categories_image->parse($timestamp)){$categories_image->save();$db->query("update $table_categories set categories_image ='".addslashes($categories_image->filename)."' where categories_id = '".(int)$categories_id."'");}updatecache('categories');cpmsg("分類添加成功。", tep_href_link('admincp.PHP', 'act=catalog&cPath='.$cPath.'&cID='.$categories_id));圖9 產(chǎn)品分類添加與管理
同樣,產(chǎn)品的添加以及制造商的管理在實現(xiàn)上與分類的管理是一致的。效果如圖10。
圖10 產(chǎn)品添加管理頁面
圖11 制造商管理頁面
圖12 產(chǎn)品屬性管理頁面
5.3.7 用戶管理與權(quán)限的實現(xiàn)
主要包括了對用戶的搜索查找、添加用戶、編輯、刪除以及對用戶群組的權(quán)限和積分設(shè)置。搜索結(jié)果以列表形式顯示。用戶搜索頁如圖13。
搜索用戶的實現(xiàn)程序片段為:
elseif ($searchsubmit || $deletesubmit || $exportsubmit){if (!$page){ //分頁顯示程序段$page = 1;}$offset = ($page - 1) * MAX_DISPLAY_SEARCH_RESULTS;$conditions = ""; //用戶搜索條件處理$conditions .= $name != "" ?" AND (customers_firstname LIKE '%$name%' OR customers_firstname='$name')" : NULL;$conditions .= $email != "" ?" AND (customers_email_address LIKE '%$email%' OR customers_email_address='$email')" : NULL;$conditions .= $userstatus != "" ? " AND status='$userstatus'" : NULL;if ($conditions){ //如果搜索條件存在,開始搜索$conditions = substr($conditions, 5);if ($searchsubmit){ //action判斷$query = $db->query("SELECT COUNT(*) FROM $table_customers WHERE $conditions"); //符合條件的用戶總數(shù)$num = $db->result($query, 0);$multipage = multi($num, MAX_DISPLAY_SEARCH_RESULTS, $page, "admincp.PHP?act=members&searchsubmit=yes&name=$name&email=$email&userstatus=$userstatus");$query = $db->query("SELECT * FROM $table_customers WHERE $conditions LIMIT $offset,".MAX_DISPLAY_SEARCH_RESULTS);while ($member = $db->fetch_array($query)){//循環(huán)分頁顯示用戶列表}圖13 用戶搜索頁
添加用戶主要是由管理員來錄入新用戶信息,填寫提交成功后,由系統(tǒng)向添加的用戶發(fā)送一封郵件,以通知新用戶。該功能主要方便建立系統(tǒng)內(nèi)的一些特殊的用戶,滿足多方面的要求。比如購買特殊產(chǎn)品權(quán)限的用戶。添加新用戶功能如圖14。
圖14 添加新用戶
圖15中顯示的即為用戶搜索的結(jié)果,管理員可以直接進行會員的審
核,也可以通過如圖15中的“編輯”鏈接,查看用戶詳細信息。
圖15 用戶審核功能頁
刪除用戶的選擇框在左邊,選中并提交即可刪除。
用戶組的設(shè)置主要是通過對用戶積分范圍的設(shè)置來劃分不同的用戶組,不同的用戶組享有不同的產(chǎn)品優(yōu)惠。用戶組設(shè)置功能如圖16。
圖16 用戶組設(shè)置
通過如圖17的頁面,系統(tǒng)管理員有權(quán)限對系統(tǒng)的其他管理員進行權(quán)限的設(shè)置,分為產(chǎn)品管理員、訂單管理員等。每個頭銜可以設(shè)置相匹配的權(quán)限。
圖17 管理員權(quán)限設(shè)置頁面
5.3.8 訂單與評論管理
訂單管理是產(chǎn)品報價系統(tǒng)的重要部分,主要實現(xiàn)的功能包括訂單搜索、訂單查看與處理、訂單刪除等。訂單搜索通過訂單號、訂單狀態(tài)、顧客名與顧客郵箱關(guān)鍵字進行搜索。在訂單處理頁,管理員能查看新訂單的完整資料,并根據(jù)訂單的處理狀態(tài)進行管理,并通過系統(tǒng)郵件與顧客溝通,將訂單的處理信息反饋給顧客,同時管理員能對一些訂單進行刪除操作。
評論管理主要提供了簡單的評論查看與刪除功能,整個實現(xiàn)過程較為簡單。
5.3.9 系統(tǒng)數(shù)據(jù)管理
MySQL數(shù)據(jù)庫的最大特點就是提供了很多便于直接使用的操作函數(shù),可以輕松的將復雜的數(shù)據(jù)庫操作由清晰的函數(shù)實現(xiàn)。在系統(tǒng)數(shù)據(jù)管理這個模塊,主要實現(xiàn)了數(shù)據(jù)備份和數(shù)據(jù)恢復(即數(shù)據(jù)庫導入)。
6 系統(tǒng)測試及難點分析
6.1 系統(tǒng)運行環(huán)境的搭建
本系統(tǒng)的開發(fā)和測試均在windows操作系統(tǒng)平臺下進行的,使用AMP集成軟件包搭建運行環(huán)境
Apache,一種開放源碼的HTTP服務(wù)器,可以在大多數(shù)計算機操作系統(tǒng)中運行,由于其跨平臺和安全性而被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴展,Perl/Python等解釋器可被編譯到服務(wù)器中[ 5]。
Apache支持許多特性,其中大部分通過編譯的模塊實現(xiàn)。這些特性從服務(wù)器端的編程語言支持到身份認證方案。一些通用的語言接口支持Perl、Python、Tcl和PHP。流行的認證模塊包括mod_access,mod_auth和mod_digest。其他的例子有SSL和TLS支持(mod_ssl),proxy模塊。很有用的URL重寫(由mod_rewrite實現(xiàn)),定制日志文件(mod_log_config),以及過濾支持(mod_include和mod_ext_filter)。Apache日志可以通過網(wǎng)頁瀏覽器使用免費的腳本AWStats或Visitors來進行分析。
相比較linux下的復雜安裝過程,在windows操作系統(tǒng)下搭建運行環(huán)境相對簡單,但是不足之處在于配置選項較少,安全性相對不高。在windows上主要采用繼承軟件包來直接安裝,甚至不需要做任何配置就可以直接使用。
省略
6.2 系統(tǒng)程序的安裝
在搭建有apache+PHP+MySQL的服務(wù)器平臺上,系統(tǒng)管理員只需要使用MySQL命令端或者web管理軟件在MySQL服務(wù)器端創(chuàng)建一個數(shù)據(jù)庫mywork.然后使用MySQL數(shù)據(jù)庫導入命令將系統(tǒng)中的數(shù)據(jù)庫文件導入到新創(chuàng)建的數(shù)據(jù)庫mywork中即可。然后配置位于目錄includes中的配置文件configure.PHP,修改為當前的數(shù)據(jù)庫用戶名和密碼即可安裝成功。使用默認用戶郵箱:epochina@163.com 和密碼:117227 登陸后臺進行系統(tǒng)設(shè)置和管理。
6.3 系統(tǒng)的測試
測試平臺為windows操作系統(tǒng),運行環(huán)境由MAP集成軟件包搭建。Apache和PHP采用了缺省設(shè)置。
6.3.1 系統(tǒng)關(guān)鍵部分測試分析
測試分為兩個部分:
第一部分主要就是測試系統(tǒng)所要求的最基本的功能,主要側(cè)重于用戶前臺的使用流程。基本的用戶注冊和登陸功能相當流暢,但是在產(chǎn)品搜索功能上,雖然能夠使用關(guān)鍵字搜索到產(chǎn)品,但是還有所欠缺,而且可以使用的產(chǎn)品屬性關(guān)鍵字還太少。在前臺的購物流程中,前期發(fā)現(xiàn)的購物權(quán)限設(shè)置問題已經(jīng)得到了解決。測試過程中,購物環(huán)節(jié)完全可以成功運行,但是當用戶購買產(chǎn)品超過庫存數(shù)量的時候,雖然程序可以正確運行,但是缺少一個適當?shù)呐袛喹h(huán)節(jié)。
第二部分主要是針對后臺管理的測試,由于后臺管理功能模塊較為集中,是整個系統(tǒng)的核心所在,特別是對用戶的審核、對管理員的權(quán)限分配以及對訂單的處理都完全符合系統(tǒng)設(shè)計初期的功能要求。因此從整體上來說,系統(tǒng)的設(shè)計和實現(xiàn)是成功的。
6.3.2 測試結(jié)果分析與說明
從整體的測試結(jié)果來看,在大中型的商務(wù)應用中,PHP與MySQL的結(jié)合具有相當?shù)膬?yōu)勢。
首先就是縮短了開發(fā)時間,PHP與MySQL提供的大量固有的函數(shù)庫直接在程序中使用,提高了程序的運行效率。雖然系統(tǒng)的功能還顯得弱小,但是系統(tǒng)的優(yōu)良性能已經(jīng)得到了很好的體現(xiàn)。
6.3.3 系統(tǒng)安全與性能分析
系統(tǒng)設(shè)計過程中,對代碼中出現(xiàn)的可能對系統(tǒng)造成安全威脅的字符進行過濾和字符的轉(zhuǎn)換,在一定程度上提高了系統(tǒng)運行的安全性。同時所采用的編程語言和數(shù)據(jù)庫的特性足以承受大量的數(shù)據(jù)讀取和寫入。
6.4 系統(tǒng)中存在的問題及解決方法
第一:在系統(tǒng)的設(shè)計初期,對用戶的權(quán)限分配考慮不周,所有登陸用戶均可以進行產(chǎn)品購買。缺少對新注冊用戶的審核。這個問題已經(jīng)得到解決,在系統(tǒng)的用戶群組中建立了待審核用戶組,默認所有新注冊用戶為該組成員,用戶注冊成功提交之后,提示用戶等待管理員審核。在產(chǎn)品購買頁面對用戶進行判斷,如果為待審核群組的會員則不能進行購物。
第二:由于第一個問題的出現(xiàn),在后臺的用戶資料查看中,沒有將用戶的詳細資料調(diào)用顯示,管理員不能夠直觀全面的了解用戶的情況。就不方便進行審核,解決辦法是從數(shù)據(jù)庫中讀取用戶的資料,以表格形式顯示出來。
結(jié) 論
在開發(fā)階段的后期對系統(tǒng)功能進行綜合測試,通過對各種所需數(shù)據(jù)的錄入檢驗各接口類對象、產(chǎn)品搜索、產(chǎn)品評論、在線購物與后臺的用戶管理、產(chǎn)品管理和訂單管理的功能是否正常,測試的主要方面包括輸入數(shù)據(jù)的合法性檢驗,用戶界面的操作友好程度。通過對單個功能模塊和系統(tǒng)整體的性能測試,本系統(tǒng)運行狀態(tài)良好,實現(xiàn)了預定功能,符合設(shè)計需求。與此同時,根據(jù)系統(tǒng)的特點,開發(fā)了匹配的相關(guān)功能,使系統(tǒng)不斷的完善,在實際的應用中具有更強的適應性。
然而,做為產(chǎn)品報價系統(tǒng),在產(chǎn)品的銷售和在線訂單實現(xiàn)過程中,本身需要有良好的性能來防范可能出現(xiàn)的任何漏洞,對程序代碼本身的安全性要求相當高,從這個方面來看,還需要進一步的工作來完善,在確保功能流程的前提下為用戶提供體驗性好而且可信任的服務(wù)。另外對于訂單的管理也存在需要改進的地方,比如按照月份生成Excel或者PDF格式的報表。
參考文獻
[1] 金蘭,鄭玉,黃續(xù)新.我國電子商務(wù)的現(xiàn)狀與未來[J] .計算機時代,2006,(10):25~29。
[2] 李端明,李宇翔.電子商務(wù)環(huán)境下的網(wǎng)絡(luò)消費者[J] .商場現(xiàn)代化,2006,(30):31~36。
[3] 威利[澳] . PHP和MySQL Web開發(fā)(第3版)[M] .武欣 等譯.北京:機械工業(yè)出版社,2005。
[4] 威廉斯[澳],萊恩[澳] .PHP & MySQL Web數(shù)據(jù)庫應用開發(fā)指南[M] .南京:東南大學出版社,2006。
[5] 仲進平,壽加炎.PHP+MYSQL 網(wǎng)絡(luò)開發(fā)技術(shù)[M] . 北京:人民郵電出版社,2000。
[6] Matt Zandstra[美] .PHP5的異常處理機制 [J] .PHP&More,2006,(2):19~24。
[7] Leendert Brouwer[美] .以O(shè)O的方式使用PHP [J] .PHP&More,2006,(3):35~41。
[8] 楊寶昌. MySQL實現(xiàn)中文全文檢索的解決方案[J] .程序員,2006,(10):26~29。
[9] 顧治華,忽朝儉. MySQL存儲引擎與數(shù)據(jù)庫性能[J] .計算機時代,2006,(10):71~82。
5、資源下載
本項目源碼及完整論文如下,有需要的朋友可以點擊進行下載。如果鏈接失效可點擊下方卡片掃碼自助下載。
| 本項目源碼 | 基于php+mysql+apache的在線購物網(wǎng)站設(shè)計與實現(xiàn)(源碼+文檔)_php_mysql_在線購物網(wǎng)站_電子商務(wù).zip |
總結(jié)
以上是生活随笔為你收集整理的【php毕业设计】基于php+mysql+apache的在线购物网站设计与实现(毕业论文+程序源码)——在线购物网站的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特征图注意力_从数据结构到算法:图网络方
- 下一篇: 12306数据泄露,12306数据库遭网