基于PHP+Smarty的訂餐網(wǎng)站設(shè)計與實現(xiàn)_第1頁
基于PHP+Smarty的訂餐網(wǎng)站設(shè)計與實現(xiàn)_第2頁
基于PHP+Smarty的訂餐網(wǎng)站設(shè)計與實現(xiàn)_第3頁
基于PHP+Smarty的訂餐網(wǎng)站設(shè)計與實現(xiàn)_第4頁
基于PHP+Smarty的訂餐網(wǎng)站設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論