版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 基于php+smarty的訂餐網(wǎng)站設(shè)計與實現(xiàn) 張欣悅摘要:通過對訂餐網(wǎng)站的需求分析,給出了網(wǎng)站系統(tǒng)功能結(jié)構(gòu)圖,明確了系統(tǒng)開發(fā)中要采用模塊化的設(shè)計思想。網(wǎng)站選用b/s工作模式,用php+apache+mysql+smarty+pdo來開發(fā)系統(tǒng)。該文主要介紹了數(shù)據(jù)庫的設(shè)計、公共配置文件的設(shè)計和購物車模塊的關(guān)鍵代碼。關(guān)鍵詞:php;smarty;模板:tp311 :a :1009-3044(2016)19-0058-02隨著互聯(lián)網(wǎng)的發(fā)展,人們在日常生活中通過網(wǎng)絡(luò)購物已經(jīng)非常普及,小到服裝,大到汽車、房子都可以通過互聯(lián)網(wǎng)來便捷購買。隨著互聯(lián)網(wǎng)網(wǎng)速的
2、不斷升級,“互聯(lián)網(wǎng)+” 深深扎根于旅行、住宿、電影等生活服務(wù)類行業(yè),一臺電腦、一部智能手機就能代勞所有事情。2016年3月17日,上海市浦東新區(qū)市場監(jiān)督管理局正式向盒馬外賣頒發(fā)全國第一張“專業(yè)網(wǎng)絡(luò)訂餐許可證”,這意味著網(wǎng)上外賣正式進入“許可證”時代。網(wǎng)絡(luò)訂餐是一個全新的業(yè)態(tài),明確了它的餐飲服務(wù)經(jīng)營范圍只能在互聯(lián)網(wǎng)領(lǐng)域。1 系統(tǒng)的功能分析一個完整的網(wǎng)絡(luò)訂餐系統(tǒng),除了要能夠展示賣家提供的所有商品以外,還需要根據(jù)商家的需求,能重點展示商家推薦的商品、套餐、最新商品、最近開展的促銷活動等功能;同時還要能夠滿足用戶分門別類的查詢各類商品、反饋意見給商家等個性化的需求。系統(tǒng)分為前臺頁面與后臺管理兩部分,前
3、臺頁面主要是為點餐者 服務(wù),后臺主要為餐廳經(jīng)營者服務(wù)?;谝陨系恼{(diào)查分析,確立了本網(wǎng)站前臺所需要滿足的功能。網(wǎng)站前臺的整體功能結(jié)構(gòu)如圖 1所示:2 系統(tǒng)設(shè)計本系統(tǒng)采用 b/s 工作模式,選擇了php+apache+mysql來開發(fā)。以windows7為開發(fā)平臺,以apache為web服務(wù)器,以mysql為后臺數(shù)據(jù)庫。同時使用smarty模板以及pdo數(shù)據(jù)庫連接層來搭建mvc結(jié)構(gòu)。系統(tǒng)界面使用 dreamweaver 設(shè)計,采用div+css進行布局,讓網(wǎng)站的表現(xiàn)和結(jié)構(gòu)分離,使用這種方式能在團隊開發(fā)中更容易分工合作而減少相互關(guān)聯(lián)性。smarty是一個用php寫出的模板引擎,它分離了邏輯代碼和外在
4、的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與html代碼混雜在一起php代碼邏輯分離。,使程序員改變程序的邏輯內(nèi)容不會影響到美工的頁面設(shè)計,美工重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯得尤為重要。pdo是php5.1以上版本附帶的數(shù)據(jù)庫連接層,作用是統(tǒng)一各種數(shù)據(jù)庫的訪問接口,與mysql和mysqli的函數(shù)庫相比,pdo讓跨數(shù)據(jù)庫的使用更具有親和力;與adodb和mdb2相比,pdo更高效。2.1系統(tǒng)數(shù)據(jù)庫設(shè)計本網(wǎng)站根據(jù)需求,設(shè)計出能夠滿足用戶需求的各種實體以及他們之間的關(guān)系。其中,實體包括:用戶、商品、訂單等。通過對網(wǎng)上訂餐系統(tǒng)的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計的數(shù)據(jù)項和
5、數(shù)據(jù)結(jié)構(gòu)如下:用戶信息。包括的數(shù)據(jù)項有用戶姓名、用戶密碼、用戶手機號、用戶地址、訂購等。商品信息。包括的數(shù)據(jù)項有商品名稱、商品編號、商品類型、商品價格、商品折扣、商品庫存、商品上架時間等。留言信息。包括的數(shù)據(jù)項有用戶編號、留言標(biāo)題、留言內(nèi)容、留言時間等。活動信息。包括的數(shù)據(jù)項有活動名稱、活動時間、活動內(nèi)容、活動圖片等。訂單信息。包括的數(shù)據(jù)項有用戶編號、商品數(shù)量、添加時間、商品價格等。根據(jù)以上的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)項建立數(shù)據(jù)庫。2.2 數(shù)據(jù)庫連接、管理類文件和smarty模板配置類文件的設(shè)計1)選擇安裝smarty的目錄。從安全性考慮,可以將smarty安裝在web程序文檔目錄以外的地方,再將smar
6、ty安裝目錄地址包含在php.ini文件中的include_path選項即可。同時,在system目錄下,創(chuàng)建templates、templates_c、configs、cache目錄,用來放置模板文件、緩存文件等相關(guān)文件。2)在system目錄下,建立system.class.inc文件、system.inc文件和system.smarty.inc文件。其中system.smarty.inc.php 文件用來定義smarty模板類,指定各種文件的存儲位置;system.inc.php文件用來進行數(shù)據(jù)庫連接、類的實例化;system.class.inc.php文件用來定義數(shù)據(jù)庫連接類和數(shù)據(jù)庫管
7、理類。其中,system.inc.php的部分關(guān)鍵代碼如下:require("./system/system.smarty.inc.php"); /包含smarty配置類require("./system/system.class.inc.php"); /包含數(shù)據(jù)庫連接和操作類$connobj=new conndb("mysql","localhost","root","123456","db_xd");/數(shù)據(jù)庫連接類實例化$conn=$connobj-&
8、gt;getconnid(); /執(zhí)行連接操作,返回連接標(biāo)識$admindb=new admindb();/數(shù)據(jù)庫操作類實例化$seppage=new seppage();/分頁類實例化$usefun=new usefun();/使用常用函數(shù)類實例化$smarty=new smartyproject();/調(diào)用smarty模板function unhtml($params)extract($params);$text=$content; global $usefun;return $usefun->unhtml($text);$smarty->register_function(&
9、quot;unhtml","unhtml"); /注冊模板函數(shù)?>2.3 功能模塊的開發(fā)程序核心代碼采用 php 開發(fā)完成。網(wǎng)站設(shè)定游客可以在網(wǎng)頁上瀏覽各種餐飲,如果需要訂餐則必須要注冊為網(wǎng)站用戶,只有登錄成功后才能進行餐飲預(yù)訂和使用購物車的功能。2.3.1會員注冊和登陸頁面設(shè)計本網(wǎng)站整體采用清爽簡潔的設(shè)計風(fēng)格。根據(jù)訂餐網(wǎng)站的特點,為了使網(wǎng)站易用,在用戶注冊時,必填的信息較少,只需要填寫用戶名、密碼、手機號和地址信息。同時,為了防止惡意注冊,在用戶注冊頁面使用了驗證碼功能。通過php隨機函數(shù)產(chǎn)生一個4位的隨機數(shù),再通過dg函數(shù)庫,將數(shù)字驗證碼轉(zhuǎn)換為圖片格式,
10、然后使用函數(shù)創(chuàng)建一個背景圖片并增一些干擾元素,來防止驗證碼被ocr軟件識別。2.3.2商品展示頁面設(shè)計根據(jù)用戶點餐的特點以及用戶查詢餐飲的習(xí)慣,網(wǎng)站將餐飲的展示分為最新產(chǎn)品、熱門產(chǎn)品、套餐和產(chǎn)品名錄幾個頁面。每個頁面根據(jù)主題展示相應(yīng)的餐飲,同時,每種餐飲都有獨立的介紹頁面。在商品預(yù)訂時,通過session記錄用戶的登陸狀態(tài),如果用戶沒有登陸則需要登陸后才能進行商品預(yù)訂。2.3.3購物車設(shè)計訂餐網(wǎng)站的購物車類似于其他電商網(wǎng)站的購物車功能,用于存放用戶選擇的餐飲,同時記錄用戶所選餐飲的數(shù)量、價格、總結(jié)等相關(guān)信息。當(dāng)用戶進入購物車頁面后,可以對餐飲的數(shù)量進行修改;也可以將所選的產(chǎn)品移除出購物車。在對
11、餐飲的品種、數(shù)量、價格等信息進行確認后,即可提交訂單。購物車功能的部分關(guān)鍵代碼如下:session_start();$member=$_session'member';if($member)$smarty->assign('member',$member);$scsql = "select * from shopping where username='".$member."' ";$scarr = $admindb->execsql($scsql,$conn);if($scarr0'c
12、sell'="")echo "";echo "";$n=0;$s=0;/print_r($scarr);/$res=$scarr->fetchall(pdo:fetch_assoc);for($i=0;$i< p>$n=$n+$scarr$i'csell';$s=$s+$scarr$i'csell'*$scarr$i'cprice';$smarty->assign('scarr',$scarr);$smarty->assign('n',$n);$smarty->assign('s',$s);$smarty->display("shopcar.tpl");elseecho "";3 結(jié)束語本網(wǎng)站主要實現(xiàn)了餐飲的分類查詢,用戶可以在網(wǎng)站上根據(jù)個人的需求來選擇相應(yīng)的餐飲或者套餐;能將所選的餐飲加入購物車,并能在購物車中修改訂餐信息;用戶能將個人意見反饋給網(wǎng)站管理員等實用的功能。本網(wǎng)站是基于php+smarty開發(fā)完成的,可移植性好,具有模塊化開發(fā),分合靈活的特點。后期可以靈活的添加訂單跟
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版大型商業(yè)綜合體消防報警系統(tǒng)安裝合同
- 2025年度木材銷售代理合同范本4篇
- 2025版牧業(yè)冷鏈物流配送與承包服務(wù)合同4篇
- 2025版小區(qū)消防應(yīng)急照明與疏散指示系統(tǒng)維護合同3篇
- 《婚姻制度篇案例》課件
- 二零二五年度食品原料采購合同規(guī)范2篇
- 2025版塔吊租賃合同樣板(智能監(jiān)控)3篇
- 乳品市場分析與營銷策略考核試卷
- 《經(jīng)皮腎鏡碎石》課件
- 二零二五年高速公路交通協(xié)管員職責(zé)規(guī)范合同范本3篇
- 慈溪高一期末數(shù)學(xué)試卷
- 天津市武清區(qū)2024-2025學(xué)年八年級(上)期末物理試卷(含解析)
- 《徐霞客傳正版》課件
- 江西硅博化工有限公司年產(chǎn)5000噸硅樹脂項目環(huán)境影響評價
- 高端民用航空復(fù)材智能制造交付中心項目環(huán)評資料環(huán)境影響
- 量子醫(yī)學(xué)成像學(xué)行業(yè)研究報告
- DB22T 3268-2021 糧食收儲企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化評定規(guī)范
- 辦事居間協(xié)議合同范例
- 正念減壓療法詳解課件
- GB 30254-2024高壓三相籠型異步電動機能效限定值及能效等級
- 重大事故隱患判定標(biāo)準(zhǔn)與相關(guān)事故案例培訓(xùn)課件
評論
0/150
提交評論