吳慶祥
摘要:網(wǎng)上購物已經(jīng)成為了一種非常流行的購物方式,能通過網(wǎng)絡(luò)方便地購買書籍也變成十分必要。本系統(tǒng)基于PHP開發(fā),運(yùn)用MySQL作為后臺數(shù)據(jù)庫,使用易交互的界面使用戶能獲得更好的體驗(yàn),滿足用戶在網(wǎng)上購物時的基本需求。本系統(tǒng)由前臺與后臺兩部分組成。前臺實(shí)現(xiàn)用戶注冊登錄、瀏覽商品信息、購買商品等功能,后臺實(shí)現(xiàn)用戶管理、訂單管理、分類管理等功能,顧客可以在本網(wǎng)站中查找購買書籍,商家也可以簡單方便的更新及管理商品。
關(guān)鍵詞:PHP;MySQL;網(wǎng)上書城
中圖分類號:TP315 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)30-0045-02
1 引言
當(dāng)前,人們越來越傾向于在網(wǎng)絡(luò)上購物,因此電子商務(wù)得以高速發(fā)展。網(wǎng)上書店對比實(shí)體書店來說有不少優(yōu)點(diǎn)。首先,網(wǎng)上書店不需要實(shí)體店鋪,為商家節(jié)約了不少成本。而且商家能夠通過管理系統(tǒng)很方便地了解到庫存、熱銷書籍等信息,可以及時地調(diào)整營銷策略。其次,顧客通過網(wǎng)上書店可以快速地搜索到自己想購買的書籍,省去了很多時間。對于消費(fèi)者和商家來說網(wǎng)上書店是互利雙贏的,具有廣闊的發(fā)展前景。
2 系統(tǒng)具體設(shè)計
2.1 系統(tǒng)流程
PHP書城系統(tǒng)主要包括購買流程和管理流程。其中購買流程包括顧客進(jìn)入網(wǎng)站瀏覽商品,加入購物車時判斷用戶是否登錄,當(dāng)用戶尚未登錄時提醒用戶登錄,顧客選購好商品后可下達(dá)訂單。
2.2 功能模塊
PHP書城系統(tǒng)共分為兩個模塊:其中前臺模塊包括:用戶模塊,商品展示模塊,購物車模塊,訂單模塊,后臺模塊包括權(quán)限管理、用戶管理、分類管理、商品管理等模塊。
2.2.1 前臺管理模塊
前臺管理模塊包括用戶模塊、商品展示模塊、訂單模塊等。其中用戶模塊主要是當(dāng)游客進(jìn)入網(wǎng)站后,輸入用戶名、密碼等信息可注冊成為本網(wǎng)站用戶。注冊后的用戶登錄后可以使用本應(yīng)用的某些特定功能,如加入購物車、下訂單等操作。用戶可在用戶中心查看訂單及修改個人信息等。商品展示模塊的功能為展示商品信息、商品詳情及價格??梢愿鶕?jù)類別及商品名查詢特定商品。而訂單模塊是當(dāng)用戶瀏覽商品后可選擇指定商品加入購物車,生成訂單并購買。也可以對購物車商品進(jìn)行增刪改操作。
2.3 數(shù)據(jù)庫設(shè)計
根據(jù)模塊劃分和功能設(shè)計的要求,本系統(tǒng)數(shù)據(jù)庫共有6個數(shù)據(jù)表,分別為管理員表shop_admin、購物車表shop_cart、商品表shop_goods、訂單表shop_orders,分類表shop_sort,用戶表shop_user等。其中shop_user表為用戶表,主要用于用來保存用戶的重要信息。
3 系統(tǒng)的具體實(shí)現(xiàn)
用戶進(jìn)入本網(wǎng)站后,首先展示的是主頁面。用戶可進(jìn)行瀏覽商品及注冊登錄等操作,只有當(dāng)用戶登錄后才可以進(jìn)行將商品加入購物車及下訂單等操作。對于后臺界面,首先展示的是登錄界面,只有以管理員身份登錄成功后才可以進(jìn)入后臺管理界面。登錄成功后管理員可以對商品、訂單等進(jìn)行操作。
3.1 前臺功能
3.1.1 用戶模塊
用戶第一次進(jìn)入本網(wǎng)站時可以通過首頁中的注冊鏈接跳轉(zhuǎn)到注冊模塊進(jìn)行注冊。
注冊頁面采用ajax無刷新提交的方式增強(qiáng)用戶體驗(yàn)。當(dāng)用戶名重復(fù),兩次密碼輸入不一致,電子郵箱格式不正確時會提示錯誤,用戶可以在不刷新頁面的情況下修改錯誤的信息。注冊模塊首先檢查用戶名是否存在,用戶名存在時會提示用戶重新輸入用戶名,當(dāng)用戶名不存在時則進(jìn)一步進(jìn)行各種合理性與合法性檢查。若用戶輸入的所有數(shù)據(jù)均合法,則將數(shù)據(jù)插入數(shù)據(jù)庫,其中密碼采用md5加密的模式。當(dāng)注冊成功后跳轉(zhuǎn)到用戶信息頁面,用戶可填寫自己的詳細(xì)資料。實(shí)現(xiàn)注冊功能的部分代碼如下:
RegisterAction.class.php
//驗(yàn)證添加注冊用戶
functionregister_sub(){
unset($_POST['pwd_confirm']);
unset($_POST['favorite']);
if(md5($_POST['code']) != $_SESSION['verify']){
$this->error(C('ERROR_VERIFY_ERROR'));
}else{
$_POST['password'] = md5($_POST['password']);
$_POST['add_time'] = time();
$checkUsernameCondition['username']=array('eq', $_POST['username']); $status = $this->registerModel->getUserCheckStatus($checkUsernameCondition);
if(empty($status)) {
$saveData['username'] = trim($_POST['username']);
$saveData['password'] = md5($_POST['password']);
$saveData['email'] = trim($_POST['email']);
$saveData['add_time'] = time();
$userResult = $this->registerModel->getRigisterUser($saveData);
//注冊成功
$this->redirect('passport_create',array('user_id'=>$userResult['userId']));
}else{
$this->error(C('ERROR_REGISTER_FAILURE'));
}
}else{
$this->error(C('ERROR_ACCOUNT_HAVE_USE'));
}
}
}
如果用戶已經(jīng)注冊過,則可以點(diǎn)擊登錄鏈接跳轉(zhuǎn)到登錄界面。
用戶輸入用戶名密碼后提交數(shù)據(jù),后臺獲取數(shù)據(jù)后判斷是否存在該用戶并判斷用戶密碼是否正確。當(dāng)用戶名和密碼均正確時,把用戶信息放在cookie中。用戶點(diǎn)擊退出時清除cookie中的信息。實(shí)現(xiàn)登錄功能的部分代碼如下:
LoginAction.class.php
//登陸處理
functionlogin_sub(){
$condition['username'] = array('eq', $_POST['username']);
(下轉(zhuǎn)第53頁)
(上接第46頁)
$condition['password'] = array('eq', md5($_POST['password']));
$condition['_logic'] = 'and';
$info = $this->loginModel->loginCheck($condition);
if(is_array($info) && !empty($info)){
Cookie::set('user_name', $_POST['username'], 60*60*24);
Cookie::set('user_id', $info['id'], 60*60*24);
if(Cookie::get('user_name')){
$this->assign('jumpUrl', U('Myapp://index/index'));
$this->assign('waitSecond', 3);
$this->success(C('SUCCESS_LOGIN_SUCCESS'));
}else{
$this->error(C('ERROR_LOGIN_FAILURE'));
}
}else{
$this->error(C('ERROR_ACCOUNT_OR_PASSWORD_ERROR'));
}
}
當(dāng)用戶登錄成功后即可進(jìn)入用戶中心進(jìn)行查看訂單及修改個人信息等操作。
4 結(jié)束語
本用戶登錄模塊的最大特點(diǎn)是其結(jié)構(gòu)清晰,界面友好,易于管理和更新。但個別功能的實(shí)現(xiàn)還不夠完善,有待在使用體驗(yàn)中去完善。
參考文獻(xiàn)
[1] 潘凱華,劉中華.PHP從入門到精通[M].北京:清華大學(xué)出版社,2010:23-37.
[2] 白志強(qiáng),白志剛.21天學(xué)通PHP[M].北京:電子工業(yè)出版社,2010:23-25.
[3] 崔洋.MySQL數(shù)據(jù)庫應(yīng)用從入門到精通[M].北京:中國鐵道出版社,2013:103-135.
[4] 姜承堯.MySQL技術(shù)內(nèi)幕:SQL編程[M].北京:機(jī)械工業(yè)出版社,2012:46-67.
[5] 杜江.PHP5與MySQL5 Web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2007:41-55.
[6] 王石,楊英娜.精通PHP+MySQL應(yīng)用開發(fā)[M].北京:人民郵電出版社,2006:12-23.
[7] 賈素來.常見動態(tài)網(wǎng)頁技術(shù)比較[J].大眾科技,2008(9).
[8] 張緒旺.互聯(lián)網(wǎng)創(chuàng)新加速服務(wù)貿(mào)易增長[N].北京商報,2012-05-31.
[9] Luke Welling.PHP and MySQL Web Development[M].北京:機(jī)械工業(yè)出版社,2009:88-90.