BQ GIAO DVC DAO T30

TRITONG BSI HQC THANG LONG

—o0o--

THANG LONG UNIVERSITY

KHOA LUAN TOT NGHIEP

yak y DUNG FRAMEWORK THLIONG MAI DIEN TIT

MAO VIEN HUONG DAN:

Ths. Trim Tan Tan

SIKH VIEN THVC

Nguyen Bat) Trung - A15042

Nguyen Chi Cueing - A15897

CHUYEN NGANH:

Ging Nghe Thong Tin

HA NQI - 2013

IA CAM ON

D4 hoin thinh luan van nay chtIng t8i xin chin third' gni itri cam an den i quy thiy c8 trong khoa Toin Tin trubng D3i hqc Thiing Long a quan tam gittp der chi bio tan tinh trong qui trinh thvc hien de tai. Nher d6 chi ng toi da tiep thu dtrqc nhieu y kien d6ng g6p vi nhan xet qui biu dm qui thiy c8 thong qua cic bu6i bio ye a cuang.

Ching ten xin girl 16i cam on sau sic nhAt den ThS. Tri'n Tuan Toin da trvc tiep

hueng can, dinh hueng chuyen mon, quan tim gitip der *In firth vi tao mqi diau kien

thuan lqi !that trong qui trinh Ong tic cling nhu Ow hien luan van.

Tren het chin toi xin big to long kinh trong vi sv biet an siu sic den gia dinh da tqo mqi dieu icien tot nhit 44 chting toi ce the hoin thimh tot mqi ding viep trong qui trinh thvc hien luan van. Ben card' d6, ching toi cling xin girl lai cim an cua minh Uri ban be, luon quan tim, chia se, dOng vien toi trong suik thai gian thvc hien luan van.

Mac 46 da rit ct ging tong qui trinh thtrc hien nhung luan van idgeg the Minh

nhfing thieu set. Ching toi mong 'than dtrqc sv g6p y cis quy diAy co vi ban be.

MVC LVC

PHAN 1. MY! THIEU 1 (cid:9)

1.1. Giei thien ht thong thung mgi Min tn. (E-Commerce) (cid:9) 1.2. Tong (plan vi dAc PHP Framework 1.3. Framework thieving mgi dien tdr con c6 nheng 0? (cid:9) 1.4. Framework cAa chung to s81Am dirge nhttng gi? (cid:9) 1 (cid:9) 3 3 4

1.5. Lqi fch ter viec xily dgng Framework thsrang m0 dimn tv (cid:9) 7

PHAN 2. TONG QUAN Vt DESIGN PARTTERN VA MO (cid:9) MVC

2.1. min that ki (Design Patterns)... (cid:9) .9

2.1.1. floc diem chung (cid:9) 9

2.1.2. Phan log! Pattern (cid:9) 9

2.1.3. Ccic miu that ki dirqc sti dung trong Framework (cid:9) 10

2.2. M8 hinh Singleton ve Registry. 11 (cid:9)

2.2.1. Singleton (cid:9) 11

222. Registry (cid:9) 16

2.2.3. M6 hinh kit hop Singleton & Registry (cid:9) 18

2.3. MO H1NH MVC 20 (cid:9)

2.3.1. Lich sir (cid:9) 20

2.12. Kan trtic mo hinh MVC (cid:9) 20

2.3.3. Dec cam mia mo hinh MVC (cid:9) 21

PHAN 3. CAU TRUC CiJA FRAMEWORK. (cid:9) 24

3.1. Ciin truc thu myc Framework 24 (cid:9)

3.2. Deng clay de lien trong Framework .. (cid:9) 26

3.3. 1URL (cid:9) 27

3.4. Model 28 (cid:9)

3.5. View 29 (cid:9)

3.6. Controller 31 (cid:9)

3.7. Cic Library 34 (cid:9)

17.1. Thu vien Cart (cid:9) 34

3.7.2. Thu vien Clean (cid:9) 35

3.7.3. Thu vien Currency (cid:9) 35

3.7.4. Thu. Wen Form_ validation (cid:9) 36

3.7.5. Thus vin Session (cid:9) 37

3.7.6. Thus Wen User control (cid:9) 37

3.8. Cie Helper

38

(cid:9)

3.8.1. UY8 helper (cid:9) 38

18.2. Text helper (cid:9) 39

3.8.3. Url helper (cid:9)

THUONG MAI DEW TIT.... (cid:9)

39 PHAN 4. DAC TA VA XIV DIPIG CAC cllirc NANG CiJA Ilt THONG 41

4.1. Phis tfch that hi (cid:9)

41

4.2. Dec ti °lc cher sang cfis hg thang.

(cid:9)

42

UC #0001 (cid:9)

42

QUATN Lk NHOM NGI167 DUNG, NGIVI DUNG (cid:9) 42

UC #0002... (cid:9)

...47

QUyiN (cid:9) NHA SAN XUAT (cid:9)

UC #0003 (cid:9) 47 ..50

QUIN LI. DANN MCIC SAN PH& (cid:9) 50

UC #0004 (cid:9)

53

QUAN Li sky PlaM (cid:9) 53

UC #0005 (cid:9)

57

QUAN (cid:9) NHOM KIIACH HANG (cid:9) 57

UC #0006 (cid:9)

60

QUIN (cid:9) ICHACH HANG (cid:9) 60

UC #0007 (cid:9)

63

QUAN (cid:9) DO7V HANG (cid:9) 63

.....67

UC #0008 (cid:9)

QUAN Lk COUPON (cid:9) 67

UC #0009 (cid:9) 71

GUY MAIL (cid:9) 71

UC #0010 (cid:9)

73

QUAN Lir LOY TIN Tilt (cid:9) 73

UC #0011 (cid:9)

76

QUAN Lk TIN TUC (cid:9) 76

(cid:9)

UC #0012 -.79 (cid:9)

BAO CAO, THONG KR (cid:9) 79

UC #0013 (cid:9) 83

83 QUAN Li' TIEN n (cid:9)

UC #0014 86

MUA HANG (cid:9) 86

4.3. Tir dien de lieu 93 (cid:9)

4.4. My dung cic chat thing cis Framework (cid:9) 99

100

101

4.4.1. Qucino, nham nguai dung (cid:9) 4.4.2. Quinn ly nguai dung (cid:9) 4.4.3. Qucinl" nha san flat (cid:9) 102

4.4.4. Qucinlji danh myc san phim (cid:9) 103

4.4.5. Quern !juin pham (cid:9) 104

4.4.6. Quern ly nhom khach hang (cid:9) 106

4.4.7. Quoin ly khcich hang (cid:9) 107

4.4.8. Quern orr coupon (cid:9) 109

4.4.9. Quern 135 clan hang (cid:9) 110

4.4.10. Quern ly loai tin hit (cid:9) 113

4.4.11. Quern 135 tin tar (cid:9) 114

4.4.12. Bao cao (cid:9) 115

(cid:9) 117

118

4.4.13. Quern ly ccic phrtang thar thanh to:in 4.4.14. Quern Ifr tie'n te (cid:9) 4.4.15. Backup/Restore (cid:9) 119

PHAN 5. XAY DUNG WEBSITE SIT DUNG FRAMEWORK (cid:9) 121

5.1. GM Mtn bei tome (cid:9) 121

5.1.1. MO to bai loan (cid:9) 121

122

5.1.2. Mac tieu cbc chic ruing can qua III (cid:9) 5.1.3. Phan tick thilt ki he thong (cid:9) 123

5.2. Clu blab co bin (cid:9) 124

5.3. My dvng cfc chit ning (cid:9) 126

126

5.3.1. Quern ly tcic gici (cid:9) 5.3.2. Thong ke truy cap (cid:9) 130

PHAN 6. KI THUAT NANG CAO HIP NANG VA BAO MAT CHO INC

DUNG WEBSITE (cid:9)

...132

6.1. M(it so ky thnot sir dyng trong Framework (cid:9)

132

6.1.1. (cid:9) Method Chaining (cid:9) 132

6.1.2. (cid:9) Active Record (cid:9) 133

6:1.3. (cid:9) AJAX (cid:9) 135

6.1.4. (cid:9) Javascript (cid:9) 140

6.1.5. (cid:9) Payment (cid:9) 141

6.2. Rio mjit cho ding dyng website (cid:9)

143

143

6.2.1. (cid:9) HTML injection va Cross site scripting (cid:9) 6.2.2. (cid:9) SQL Injection (cid:9) 145

6.2.3. (cid:9) Cross — site Request Forgery (cid:9) 148

DANH MVC HiNH ANH

Hinh 2.1. Diem dank theo each thong thtrong (cid:9) 13

Hinh 2.2. Diem danh theo m8 hinh Singleton (cid:9) 15

Hinh 2.3. Mo hinh MVC don gian (cid:9) 20

Fah 2.4. Throng truyen tree mo hinh MVC. (cid:9) 21

Hinh 2.5. Sr khac nhau gala MVC vi 3 — layers (cid:9) 21

Hinh 2.6. Qua trinh truyen trong m6 hinh 3 — layers. (cid:9) 22

HIM 2.7. Qua trinh truyen trong MVC. (cid:9) 22

Hinh 4.1. So d0 Usecase Framework (cid:9) 41

Hinh 5.1. Sa dO UseCase he thting (cid:9) 123

Hinh 5.2. Quy trinh mua hang (cid:9) 124

Hinh 5.3. Cai dot — Glen thieu. (cid:9) 125

Hinh 5.4. Cai dat — Ciu hinh. (cid:9) 125

Hinh 5.5. cai dot - Ket thus. (cid:9) 125

Hinh 6.1. ling dung web truyen thong Ora° va frng dung AJAX (cid:9) 136

Hinh 6.2. Tucmg tac diing b0 trong CEng clung web truyen thiing vi di b0 trong vng dung AJAX. (cid:9) 137

Hinh 6.3. AJAX — Form thing kj,. (cid:9) 138

Hinh 6.4. AJAX — Hien thi loi (cid:9) 139

DANH MVC WET TAT

Ten day da

ICI hien viet tit (cid:9) TMDT (cid:9)

Throng mrti din ter

MVC (cid:9) Model — View — Control

PL (cid:9) Presentation Layer

BL (cid:9) Bussiness Layer

DL (cid:9) Data Access Layer

URL (cid:9) Uniform Resource Locator

URI (cid:9) Uniform Resource Identifier

XSS (cid:9) Cross-Site Scripting

CSRF (cid:9) Cross — site Request Forgery

CMS (cid:9) Content management system

QL (cid:9) Quart lj

NV (cid:9) NMI vien

PHAN 1. G161 THIEU

1.1. Gioi (Mtn re he &Ong Hwang mai dien tir (E-Commerce)

Trong vii nam ter lai day, dac biet la 6 Viet Nam, cum ter Thuong Mai Dien Ter (TMDT) (con gel la E-Commerce hay E-Business) xuat hien ngay met phi) bien. Pham vi cua TMDT rat rOng, bao quit hau nhu mei hinh thai hog deng kinh t4, khong chi bao gam buon ban hang hea va dich vu, vi the kho c6 the um met CUM nghia co ranh gieri re ret cho khai niem TMDT. Xet met cach dog quit, cac dinh nghia TMDT duce chia thanh hai nhem tity thuec vao quan diem:

- Theo nghia hcp, TMDT chi don than b6 hcp thuang mai dien ter trong viec mua ban hang hem va dich vu thong qua cac phuong tien dien ter, nhet la qua Internet va cac mang lien thong khac;

Theo nghia Ong, TMDT la cac giao dich tai chinh va thtrcmg mai bing phuong tien dien ter nhu: trao din de . lieu dien ter, chuyen tien dien t6 va cac hoat &Ong nhu girl/nit tien bang the tin dung...

TMDT co the duce phin loci theo tinh each ciut ngueri tham gia:

Ngueri tieu dung:

+ C2C (Consumer-To-Comsumer) Ngueri tieu dimg veri ngtred tieu dimg; + C2B (Consumer-To-Business) Nguai tieu dung vai doanh nghiep; + C2G (Consumer-To-Government) Ngtrei tieu clang v6i chinh Doanh nghiep:

+ B2C (Business-To-Consumer) Doanh nghiep veri ngtreri tieu dimg; + B2B (Business-To-Business) Doanh nghiep veri doanh nghiep; + B2G (Business-To-Government) Doanh nghiep veri chinh phi; + B2E (Business-To-Employee) Doanh nghiep veri nhan vien. Chinh phi:

+ G2C (Government-To-Consumer) Chinh phit veri ngueri tieu &mg; + G2B (Government-To-Business) Chinh phu veri doanh nghiep; + G2G (Government-To-Government) Chinh ph6 ven chinh

Ngtreri to khai thac sire mash cua TMDT vi met se bar do nhu:

- TMDT gulp cho cac doanh nghiep nitm dirge thong tin phong phu ve thi

throng va deli tic;

- TMDT giip gam chi phi sin xuit; - TMDT giup giam chi phi ban hang vi tiep thi; - TMDT thong qua Internet gitip ngueri tieu thing va cac doanh nghiep giam

ding Ice theri gian va chi phi giao dich;

Trang 1

- TMDT tao dieu kien cho viec thiet lap vi ding et mei quan he giaa cic thanh

phan tham gia vao qua trinh thuong mai;

- TMDT tao dieu kien sem tiep can nen kinh 4 s6 hod. Voi nhang loi ich nhu vay, TMDT ngily cling phat trien math me, bieu hien qua

viec nhftng hang kinh doanh Ulm tuyen xuit hien ugly met nhieu tren Internet.

Cie cling dok tieu bieu cua met giao dich tree cite trang kink doanh true tuyen nay: 1. Khach hang, tir met may tinh tai met nth nao do, dieu nherng thong tin thanh town vi dia chi lien he vao dun dat hang (Order Form) elm Website ban hang (con goi la Website TMDT). Doanh nghiep nhk dirge you eau mua hang hod hay dich vu cim khach hang vi phan hei xac Ethan tom tit lai nhang thong tin can thiet nhu mat hang da chqn, dia chi giao nhOn vi s6 phieu dat hang...

2. Khach hang kiem tra lai cac thong tin vi kich (click) vao not (button) "dat hang", tir ban phim hay chuOt (mouse) dm may tinh, a giri thong tin tra vet cho doanh nghiep.

3. Doanh nghiep nhOn vi Itru ft& thong tin dat hang deng thtri chuyen tiep thong tin thanh toan (s6 the tin dung, ngily dio han, chit the...) da &Km ma hoa den may chit (Server, thiet bi xi: 19 du Ho) caa Trung tam cung cep dich vu xir 19 the tren mang Internet. Voi qua trinh ma h6a cac thong tin thanh Wan ciut khach hang duqc bao mat an Wan nhiim cheng gian lan Kong ale giao dich (ching han doanh nghiep se khong biet dugc thong tin ve the tin dung cita khkh hang).

4. Kin Trung tam Xfr 19 the tin clung nhon duk thong tin thanh town, se giii ma thong tin \di xir 1y giao dich ding sau bac tuerng lira (FireWall) vi tech roi mang Internet, intim rave dich bao mot tuy 'et del cho cac giao dich thuang mai, dinh clang lai giao dich vi chuyen tiep thong tin thank tom den ngfin hang tea doanh nghiep (Acquirer) theo met dutmg day thue bao rieng (mOt dtrimg truyen s6 lieu rieng biet).

5. Ngan hang edit doanh nghiep giri thong diep dien tir yeu eau thanh tom (authorization request) den nein hang hoac cong ty cung cap the tin dung ctia khach hang (Issuer). Va to chat tai chinh nay se phin hei la long y hok tir chlai thanh town den hung tam xir 19 the tin dung hen mang Internet.

6. Trung tam xir 19 the tin dung ten Internet se tiep tic chuyen tiep ithimg thong tin phan hei hen den doanh nghiep, vi thy theo do doanh nghiep thong bao cho khach hang dirge re la dun dat hang se threw thgc hien hay khong.

Toan b6 thtri gian thirc hien met giao dich qua mang tir butrc I => 6 dirge xir 19

Kong khoang 15 - 20 giay.

Trang 2

1.2. Tang quan ve the PHP Framework

Thanh ngif Framework khong con xa lu gi vela nhcmg ngutti da lam viec va nghien ciru PHP. Framework giting nhtr mot thu vien ma lenh duqc xay dtmg sin de cho nhimg ngutri lop trinh vien sau nay c6 the sir dung lai hoac phat trien.

Hien nay, PHP la met nen nglit script rat phO bien ben rillimg 1Y do: firth hoot, cli c a h9c, Nhung doi viec vitt ma PHP, hay bat cir neon ngit lap trinh nao sir dung, khic, co the fret nen don dieu va limg eung. DO la Ific ma chimg ta net! den PHP Framework.

ttr?mg chung ding sau each thirc lam viec cua met PHP Framework duce ke den la Model — View — Controller (MVC). MVC la 1 mo hinh (kien trim) trong Iap trinh, cho phep Lich biet cac ma nghiep Ai (business logic) va giao dien (UI) thanh cac phan rieng biet, dieu nay thing nghia yeti viec ta c6 the chinh sira chting 1 each rieng le. Trong cum tir MVC thi: Model (M) co the hieu la phan xir 15, cac thao tic ve nghiep vu (business logic), View dirgc hieu la phan xir ly 16p . giao (lien (presentation layer), va Controller lam nhiem Ai 19c cac yeu eau dugc g9i fir ngtkri dung, c6 chile nang nhu met dinh tuyen (route) - dieu chinh, phan lutong cac yeu au de gel dung Model va View thich hqp. Ve ca ban, MVC chia nhe qua trinh xir 13, dm met img dung, vi the nen chfing ta c6 the lam viec tren tirng thenh phan rieng le, trong khi nhung thanh phan khac se khong bi anh hieing toi. Thtrc chat, dieu nay glop der chting ta lop trinh PHP nhanh hen va it phtic tap hon.

PHP Framework hien nay kha day diz va dap img him het cac dieu kien can va dti cho viec xay dung met do an. Nei toi PHP Framework thi nai bat nhat vin la: Zend Framework, CodeIgniter Framework, CakePHP Framework,.... Cac framework nay cho trong nhang chi tiet nhe nhat trong lap trinh. Nhim giant tai th?ri gian van dung cho ngtred sir dung chimg. Ching han nhu cac helper gall) nguiri dung xay dung form, cac helper gitip ngtrai dimg sir dung nheng the HTML, the helper gifip ngutri dung validation cac form va chi dieu nay, thut to chi gap phan lam cho Framework do ter nen than thien va quen thuOc vOi nguori dung nhieu ham.

1.3. Framework thuwng m0 dien tie clin c6 nhung gi?

Cac module can this& khi xay dung met Framework thircmg mai dien tir:

Module San phim: Module nay cho phep doanh nghiep chia thanh nhieu danh muc san pham c6 the to thay dot theo nhu au vi du chia thanh san phim not that, san phim my nghe, san pham ding san...vvv. Trinh bay thong tin, hinh anti gia thank .' cita san pham theo clang e-catalog. tich hey sin giO mua hang dien tie (e-shopping cart) phuc vu cho nhu cAu mua sim teen mang cua khitch hang.

Trang 3

Module Thank totin qua ming: Module nay di kern vei gio mua hang dien tit (e-

shopping cart), phvc vg cho nhu cau thanh tom qua mang cim khich hang.

Module Quart ly Mack hang: Ltru gift thong tin ve qua trinh dot hang, mua hang, hem don thanh toar ► ...vvv, giep khaeh hang va doanh nghiep thuon tien era ciru khi can thiet.

Module Dick yin Hien thj thong tin, hinh anti ve cac dich vv cua doanh nghiep tren website. Moe djch vv c6 1 form you cau djch vv di kern, cho phep khich hang a ding lien lac khi can thief.

Module Tin at Module cho phdp chia nho thenh nhieu log tin khic nhau vi dv

tin trong nark, tin quac te, tin tiro cling nghe, tin nOi b0...wv.

Module Tito them db ,y kiln: Doanh nghiep c6 the dtra ra nhang cau h6i de thihn

de y kiln cea khach hang khi vieng tham website.

Module Qudng cbo trot aryls: Cho phep doanh nghiep guard)", cac banner, logo

cua cac 461 tac tren website minh, too ngu6n thu tit website.

Ti?,: ich tim kilm: Bao gEm 2 chfrc nang tim kiem: Tint nhanh va tim nang cao.

- Tim nhanh: cho phdp ngtteri xem tim kiem nhanh bat kir thong tin nio bong website th8ng qua thao tac don gun la nhap tit khera can tim va nhan enter de ra ket qua.

- Tim /fang cao: cho phep ngueri xem gi6i has khu vttc tim IciEm thong tin de kit

qua hien thj ra chinh xac hon.

Tick kip bj dlm ckuyJn saw Bao gom b0 dem s6 ngueri da truy cap, dang truy

cap website, dem s6 lan da dugc xem cho ten sin pham.

Form lien kf trot tuyin: Cho phep Mach lien he veri doanh nghiep khi co nhu cau.

1.4. Framework ala china to 0 lam dove nhirng gi?

- Quin ly sin pham:

+ Dac truing net b8t bong tinh nang quan tri san pham la ha trq linh hog trong t6 chin ahem sin phim, cho phep melt sin phim c6 the dirge sao chap va xuat hien 6 nhieu nh6m khac nhau. DEng thee, co the cai dot nhieu log sin phim trong quart tri de cac bleu mitt dif lieu phi hap vei dac thu timg log san pham, vi dv cac du lieu m6 to cho melt log thvc pham khong gi6ng veri dit lieu cho melt hang dien tit. KM nang nay dac biet quan trong trong thucmg mai dien to khi website co nhieu mat hang khic nhau ma yin muiln lam n6i bat dac trong cita mEi loci hang.

+ Ngoli ra he thong hE trq kha nang dien khien cac thuOc tinh hien thi cho phdp melt sin pham dttqc hien thj theo nhting dac trung khac nhau, tai cac

Trang 4

vi tri nOi dung khac nhau tren giao dien. Tinh nang nay rat quan tang d6i veri viec trien khai cac mac tieu hay chuang trinh quing cao, khuyen mai colt tang web.

+ He thting 'quan tri gia sin phim cho phdp quirt tri gia tham chien dash rieng cho ngubi bin (gia nhOp g6c), gia bin, gia khuyen mai. Viec ho trq gii nhap gtic chi dinh cho ngtr?ri bin, cho phdp ngtreri bin co the tham khio gia ngay tren website de &Op quyet ?lath co chip nhan mire gia ma ngutri mua de nghl khi mu6n mac ca mua hang hay khong.

+ Ngoai ra he th6ng cbn thi'et ke cho phep cap nhat gia cho hang log sin pham cling lac, tinh nang nay dac biet quan trgng trong throng mai dien hi khi s6 lugng sin phim tren website len den hang nghin va viec cap nhat lin lugt la lchong the.

Quin 19 danh mac sin phA'rn:

+ He thifing hiS trq viec them, cop nhat vi x6a cac thong tin ve danh mac sin

phAm. Gap ban a ding trong viec quan 19 cac sin pham.

Ho trq khach mua hang: + Xay long giao dien de nhin vi b6 tri cac sin pham hap 19 lim sao cho khach hang co the de ding tim den sin phim ma mirth mong main. He thOng h6 trq chirc nang tim kitm sin pham met each nhanh va chinh xac that.

Quin 19 gib hang:

+ Gib hang dien tx cho phdp ngutd mua hang c6 the ding lac ?tat mua nhieu sin phim veri cac so Sang khac nhau. Gib mua hang ltru tit cac sin phAm ma ngutri mua da chgn, cho phdp nguen mua co the xem lai nhang mat hang minh da chgn dua vio gi6, them vio gib mat hang meri hoac be bin di sin pham nio do.

+ De dat hang, khach hang chi can don gun kith chuOt vao sin phtim do, tat ca cac thong tin ve sin pham bao g6m gia ca, mo ta, ma sin pham hay cac thong tin khac deu dugc hr gong km tnr trong gi6 mua hang. Khi khach hang da chgn hang xong, hg chi can nhan nut that hien viec mua hang, phan mem gio mua hang se to dOng tinh toan tong sic) sin pham, thing gia tri tien thanh toan cling nhu cac chi phi van chuyen hay thue

- pat hang:

+ Ngoli ra, chirc nang gi6 hing cda Framework con cho phop khkh hang chgn sin pham clua vao gin, de gi6 vao mOt ngan io va kith hang sau mOt vai ngay quay trer lai mai quyet (firth mua hok thanh toan.

Trang 5

+ Qua trinh dit hang th8ng qua gib hang dien tir cho phdp thu th#p day du the thong tin cita nortri mua hoc them]) vien kern theo cac thong tin thanh than. Citc th8ng tin nay trq gitip b0 ph#n ban hang trong qui trinh quart tri va zit ly dan hang.

Van chuyen:

+ Hg thOng h6 trq viec quirt ly cac hinh that in chuyen. Ban co the them vao cac hinh that van chuyen va 4p nh#t gia cua mOi hinh that khi an.

- Khuyen mai:

+ Hg thong ho trq viec giant gia danh rieng cho the nhem khach hang. Ngoili

ra 4 thOng ho trq viec quan 19 the Coupon giam gia.

- Quart 19 don hang:

+ Tinh nAng quart tri cho phep nguoi quan tri ket twit cat thOng ke ve mua ban tren cac dan hang, so luting sin pham da ban ra hoc cac thinh vier lien quan den dan hang.

+ Ngoli ra, ngtrai quan tri co the cep nigit tinh tang zit ly dan hang kern theo the ghi chit xir 19 dan hang. Trong throng hap co nhieu ngutri ban hang, quart tri ban hang co the tiny than chuyen dan hang den cho ngtreri bin hang pha hgp.

+ Doi veri phia ngtrai sir (twig, khi dang ky va clang nh#p tai khoin thanh vien, co the theo del thong ke cac dan hang cua minh va trong trtremg hap dirge quart tri vien kich hoot, co the theo dOi lich sir tinh tang tar 19 dan hang.

Thanh toan:

+ Gib hang dien to cho phep tech hap yea hau het cat cOng thanh toan dien tir phO bien hien nay nhtr Paypal.com , Authorize.net , Onepay.vn, Nganluong.vn... tir do hb trq nh#n thanh toan bang the tin dung hoc the ghi ng ngay tit website. Ket qua thanh toan dirge phan anh ngay 1#p tat vao thong tin don hang khi dOt hang.

Quin 19 ngtrai dung:

+ Website la rat quan tang ho trq nguOi bin hang trong viec xay dung va then khai cac chuong trinh bin hang, tham do Uri truemg va xac tier khuyen mai... + H6 trg cac tinh nAng quan tri thong tin thanh vien, khach hang, cho phdp nguai quan tri quart ly danh mac, ket xuat the thong tin va theo d6i the don hang lien quan den cac thanh vien. Ngoai ra, ban than cac thanh vien cling co the clang nh#p de chinh sera cac thong tin caa minh va xem xet lich sir mua hang.

Sao luu / Phut hOi:

Trang 6

+ Sao luu cho phep nguoi quan tri he thtng co the tao ban sao (backup) town b0 ca so du lieu hoc timg bang ca so da lieu. Diing died sao chop ra the thiet bj luu

+ Kh8i phue cho phep nguoi qua tri he thong co the khoi phuc tir nguem du lieu da sao luu trutc da (restore), toan b0 ca sfr du lieu hoc phue hti tang bang ca se du lieu.

Bao met:

+ Framework cart cluing ta se nga chart mot each tai da cac each that VII

cong nhtr: SQL injection, CRSF, XSS, spam

Marketing, SEO, quan he khach hang:

+ Ngtrai qua tri c6 the sir dung chile nang nay de girl cac thong tin khuyen catalouge,... den khach hang. Qua 66, thac day va dua khach hag den guy& dinh thut hien viec mua san phAm cling nhir tang etrang mti quan he gicra cong ty vai khach hang.

1.5. Loi ich tir viec illy thing Framework Huron mai their' tir

Co rat nhieu ly do lchac nhau de the lop trinh vien sir dung PHP framework, nhung mot trong nhung 19 do chinh van 11 kha nag giap cac lap trinh vien tag ttc qua trinh phat then Ong dung. Viec sir dung 10 the ma lenh gieng nhau trong nhieu ling dung se glair cac ban tiet kiem &we thin gian va cong sac mot each clang ke. MOt framework se sung cep sin cac module nen tang can thiet de xay dyng mot ling dung, vi the, cac lap trinh vien co the ten dung duge thai gian de phat trim the ling dyng thyt te, hen la mat thai gian de xay chmg lai nen tang tren moi project.

Sr On dinh la mot 19 do lem dti vai the lap trinh vien dang sir dung Framework. Tirth den gian la mat diem mph tha PHP, d6 la 19 do tai sao lai co nhieu ngutri thich sir dung no, nhung clang thei do cling la diem yeu etia no. PHP thi kha de hoc vi sfr dung, dee biet la dti vai nhung nguiri mai lam quen yeti lop trinh, tuy nhien, ha co the thtremg xuye'n viet ma mot each khong khoa hac va them chi khong he nhen thire duce dieu nay, yeti PHP, trong nhieu trtrang hap the (mg dung van se lam viec dug; nhung vo tinh ha co the tao ra cac 1& hOng bao met lan trong ma lenh elm minh, va bi hacker khai thic.

HA'u het cac PHP framework deu co sin rat nhieu thanh phAn ma rang (extention), va cling et rat nhieu framework khac nhau de chting ta lya chem. Chimg ta them chi con et the to viet rieng cho minh mot framework. Tuy nhien, chang ta nen can nhic ky tnrac khi quyet dinh sir dung hoc ty phat then mat framework cho minh hay khong, nen ty det cau hal cho chinh minh la: NO co tiet kiem duce cho ban thai

Trang 7

gian va cong sac hay kh8ng ? CO glop arng clang ban hoat dOng Mt hun thong ? Co di thin &nye sv On dinh cho frng clang khong ?

Trang 8

PHAN 2. TONG QUAN VE DESIGN PARTTERN VA MO HINH MVC

CO nhieu each khac nhau de xay dvng vi thiet ke mOt Framework. Trong khoa

luan nay, chung ta se xay clang mOt Framework de sit dvng va de hieu.

Trong phat trien phan mem hien dai, kien true tong the coa dir in dang mOt vai

fro quan tang, dac biet yeti bO khung (framework) va mau thiet ke (design pattern).

2.1. Man thiet ice (Design Patterns)

Pattern me ti mOt giai phap chung doi voi mOt van de nao do trong thiet ke thuing dugc "lap lai" trong nhieu dv an. Nei mOt each khac, mOt pattern ce the dugc xem nhu meta "khuon mice co sin ap dung dugc cho nhieu tinh hireling khac nhau de giai guy& mOt van de cu the. Trong bat kt he thOng phan mem nao chimg ta cling co the bit gap cac van de lap lai.

2.1.1. Nic Sim cluing

Pattern dugc hieu theo nghia tai sit dung 9 tiring han la ma lenh. Pattern cho phep cac nha thiet ke co the cling ngOi lai vol nhau va cling giai quyet mOt van de nao di ma khong phai mat nhieu thin gian tranh cai. Trong rat nhieu fruiting hap, dv an pilaff mem that bii la do cac nha phat trien kh8ng co dirge sir hieu biet chung trong cac van de ve kien talc phan mem. Ngoai ra, pattern cling cung cap nhitng thuat ng>r va khai niem chung trong thiet ke. Noi mOt each don gian, khi de cap den mOt pattern nao day, bat k9 ai biet pattern do deu co the nhanh ching hinh dung ra "bfrc tranh" cfm giai phap. Va cuei cling, neu dp clang pattern hieu qua thi viec bao tri phan mem cling dugc lien hanh thuan lyi han, nim bit kien trim he thong nhanh han.

Pattern ha try tai sit clang kien tnic va mo hinh thiet ke phan mem theo quy mo lin. Can phan biet design pattern vai framework. Framework hti try tai sir clang mo hinh thiet ke va ma nguon 6 mire chi tiet han. Trong khi d6, design pattern dirge van dvng o mule ding quit han, giup cac nha phat then hinh dung va ghi nhan cac cAu frac tinh va dOng sung nhu quan he tircmg tic gifts cac giai phap trong qua trinh thiet ke ling dvng dei yeti mgt chuyen khu rieng biet.

Pattern da tuang thick. Pattern khong phv thuOc vio ng8n ngfr lap trinh.

2.1.2. Ph& logi Pattern

Pattern dirge phan loaf ra lam 3 Whom chinh sau day:

- Nhom eau thanh (Creational Pattern): Gem Factory, Abstract Factory, Singleton, Prototype, Builder... Lien quan den qua trinh kited Mo doi Wang cu the tir mOt dinh nghia triru tugng (abstract class, interface).

Trang 9

- Nham cau trim tinh (Structural Pattern): Gam Proxy, Adapter, Wrapper, Bridge, Facade, Flyweight, Visitor... Lien quan den van de lam the nao de the 16p vi did Wong keit hop veld nhau tao thanh the cAu true len lion.

- Nhern trong tic dOng (Behavioral Pattern): Gram Observer, State, Command, Iterator... M6 ta each thirc de de 16p hale doi tugng co the giao titp yeti nhau.

2.1.3. Cdc mtia miet ki thaw sir (long trong Framework

- Model — View — Controller (MVC). - Registry. - Singleton.

a. Model — View — Controller (MVC):

Ma hinh MVC (Model - View - Controller) la mOt kien true phan mem hay ma hinh thiet ke dirge sir dung trong ky thuat phan mem. NO gulp cho cac nhi phat trien Lich img dung dm hg ra 3 thanh phan khic nhau Model, View vi Controller. M8i thanh phan co met nhiem vu rieng biet va do'c lap yr% the thinh phan khk.

b. Singleton

- Khi phat trien met img dung web, co mOt van de khien chimg ta phai suy nghi, 46 Ii lam sao de co met 16p (class) chi co chinh xk mot the hien (instance), the hien de e6 the truy cap tir bat cir dim trong pham vi ling dung vi ddc biet chang ta khong mulin sir dung bien town cue (global variable) vi mOt s6 bat lqi cita bien toan cue, vi du nhu khi chting ta main kiem tra met each chi ti'et chuong trinh va muon biet bien town cue doge sir dung the nao thi chitng ta se phai xem xet chi tiet tirng clang code trong m8i file bed ddc diem dm bien tom cue la no co the dirge sir dung 6 bat 14 dau trong chuong trinh, viec 46 se khien chfing ta mat rat nhieu died gian. Han nal, vide sir dung bien than cue rat nguy hiem vi gia tri cua ne c6 the dirge thay dOi 6 bit cir ham nao m8i khi ham da dirge goi va chimg ta rat kh6 kiem sok dirge chuyen gi dang xay ra yeti bien town cue. DO la hie ma Singleton co the giup ta giai quyet nhimg van de tren. Singleton la mOt design pattern dirge sir dung khi plui toren trong ck Framework. NO dua ra each thi'et ke de dim bao ring chi tao ra khong qua mOt the hien ctia mOt lerp va the hien nay co the throe truy cop tir bit cir dau. N6 thuong dirge sir dung cho the dad tugng nhu eau hinh he thOng, ket not co so dit lieu...

c. Registry

- La mOt trong nhirng pattern eat him ich. Ta coi n6 nhu melt chiec gi6; sir dung Registry ban co the them dir lieu (ca gia tri va dai tugng) vao cdi gi6, va truy

Trang 10

xuat chang khi duqc you ciu tir cac phin lduic dm met img dung. Khi moi du lieu nhu the drat dieu khien Uri met ea tuqng Registry duy nhilt (single), no lam cho vies truyen alit lieu va den tuctg xung quanh meting dung dan gian han rat nhieu so voi viec truyen tit tit nhemg der lieu ay nhu met tham s6 rieng tu (individual) vao met phuang that kWh tao hay cid eat. Trong met hinh that (fashion) tuang ta, Registry c6 the thay the cho nhu cau phai c6 tat ca 461 ttrqng ban can tray cap totm cut ten ma thii ttrqng 46 hoat Ong nhu met Singleton.

+ Chinh Registry vira c6 the duqc truyen vao (passed around) nhu met tham s6 vira c6 the duqc chuyen thanh Singleton de cho phep truy cop town cut to5i no tir bit cir nai eau trong ang dung. O dau n6 duqc sir dung de thay the nhieu Singleton, n6 c6 the thay the nhu cau phai biet ten moi 16p rieng dieu lim cho viec sat clung lai cat 16p trong cac img dung khk de ding han. + Registry pattern cho phep luu tre . va truy xuat de. lieu. Cac dei tucmg an phai truy cap tok cat tap trung trong met dei ttrqng duy nhat. Met lOp Registry thong thtrtmg bao gem ben phuang that: ghi du lieu (set), truy xuat ear lieu (get), huji (unset), kiem tra sa ton tai cua 46i arcing (isset). Trong PHP 5.1, chi mg ta c6 the sit dung cat phuang that ma thuat (magic method) de the hien cat phuang thirc tren met cach dang.

Mo hinh ket luyp Singleton & Registry Thay vi chimg ta phai truyen Registry nhu met tham se kb% tao thi chGng ta se bien 46i tucng Registry trer thinh met dei ham Singleton. Su bien depi nay rat dan gian, chin ta chi can them met phuang that Singleton() kieu static.

2.2. Mt) hinh Singleton vi Registry

2.2.1. Singleton

/**

* @framework: PHP5 - ECOMMERCE FRAMEWORK *

@author: (cid:9)

fatange126@gmail.com - Nguyen 136o Trung

cuongnc.it659@gmail.com - Nguyen Chi CuOng.

* @description: Script m6 ta ye Singleton Design pattern.

De hieu re han ve Singleton, chang ta se Wang tutng met lap hgc co Mn sinh vien va ben sinh vien nay se phai diem dank de giao vien ghi ten vac, s6. Doan code duti day se the hien cong viec tren theo citch thong thutmg.

Trang 11

*/

class Teacher

{

private $_name; static $ number of instances = 0;

public function construct() {

$this-> name = 'Nguyen Bao Trung';

self::$numberofinstances ++;

echo , st, gido vien:'. self::$ number of instances.

1
';

}

public function TakeAttendance($studentName) {

echo $studentName. 'co mdt.
';

1

}

class Student

private $ name; private $_teacher;

public function construct($name)

{

$this-> name = $name;

$this-> teacher = new Teacher();

}

public function ShoutYourName()

$this-> teacher->TakeAttendance($this-> name);

}

}

/* End of file singleton.php */

/* Location:.//D/root/test/singleton.php */

Doan code a tren khai IA° hai lop (class): Teacher vA Student. Lop Teacher co melt bien kieu rieng to (private) S_name vi hai phircrng thac public — cAu tai kheri tao

Trang 12

va phuong tithe de giao vien ghi ten vao so. Ngoai ra cling c6 mOt bien kieu static $ number_of instances de dem s6 Ian the hien dm lap Teacher.

Lap Student c6 hai thu6c tinh — ten dm sinh vien va ten giao vien elm sinh vien. Lap nay cling c6 hai phuong that public — eau ter kheii tao va phucmg that ShoutYourName() de sinh vien diem dank.

Hinh 2.1. Diam danh theo ccich thong tinning

//INPUT

$trung = new Student('Trung');

$cuong = new Student('Cuding . ); Shia/ = new Student('HAP);

$dung = new Student('Dung');

$trung->ShoutYourName();

$cuong->ShoutYourName();

$hai->ShoutYourName();

$dung->ShoutYourName();

//OUTPUT

SO giAo vier): 1 SO giAo vien: 2 SO giAo vien: 3 SO giAo vien: 4

Trung co mot.

Cueing co mAt.

Hai co mat.

[King co mAt.

Vai doan ma nay, m8i khi , mOt &Si ttrong Student duct tao ra thi mOt d6i Wong Teacher cling duct khen tao. Nei mot cach khic, tat ca sinh vien trong lap nay deu ca mOt giao vien cua rieng minh. Viet tao ra nhieu d6i urging (Teacher) la khong can thiet khi de thuc hien cling mOt tong viOc (diem danh).

Trang 13

De giii quyet vin de nay, ching ta se tien hinh sir dung Singleton. Chung ta sus

din don mA o tren nhu sau:

- Them mot thuOc tinh kieu tinh (static) $_instance de the hien lop Teacher.

Phuong that kheri tvo dirqc thay d6i tir public thanh private, de ngin chin sv truy cip tir ngoai 16p.

- Khai bao them met phucmg thfrc rieng to (private) _clone() ghi de phucmg that ma thuit (magic method) _clone() dm PHP, tranh viec &Ai tirimg bi nhin ban (clone).

- Khai bao them met phuang thirc kieu firth (static) getInstance(). Phuong thirc nay see kiem tra the hien cua 16p (class) co hay khong, neu khong co no se tvo ra mot 16p (class) vi luu tra no trong hien filth (statict) $_instance. Cu6i ding tra ve bien $_instance khi co you au.

- Lop (class) Student se tham chieu den the hien (instance) cis 16p (class)

class Teacher

private $_name; static $_instance; static $ number of instances = 0;

private function (cid:9)

construct()

$this-> name = 'Nguy4n BA° Trung'; self::$ number _ of instances ++; echo (cid:9)

' S6 (cid:9)

giao

vien:'.

self::$ number of instances.'

} private function _clone() {

public static function getInstance()

if(!(self::$_instance instanceof self))

new self();

self::$_instance (cid:9) }

return self::$instance;

}

Teacher bang cash goi phucmg thirc TeachergetInstance().

Trang 14

public function TakeAttendance($studentName)

echo $studentName. ' co m*t.
';

}

}

class Student

private $_name; private $ teacher;

construct($name)

public function (cid:9)

{

$this-> name = $name; $this-> teacher = Teacher::getInstance();

public function ShoutYourName()

$this-> teacher->TakeAttendance($this-> name);

}

}

Hinh 2.2. Die* danh theo mó hinh Singleton

Val doze ma nay, nh& viec sir clung Singleton pattern, d6i Urgng Teacher se dirge Idled tao melt Ian duy that va tat ca S sinh vien trong lap se deu diem danh duy nhat cho melt giao vien.

Trang 15

//INPUT $trung = new Student('Trung');

$cuong = new Student('CuOng'); $hai = new Student('Hai'); $dung = new Student('Wing.); $trung->ShoutYourName(); $cuong->ShoutYourName(); Shai->ShoutYourName(); $dung->ShoutYourName();

//OUTPUT Só giao vien: 1

Trung co mat. Curing co mat. Hai c6 mat. Dung co mat.

2.2.2. Registry

class My_Registry

private $store = array();

public function (cid:9)

construct()

}

public function (cid:9)

set($1abel, $object)

if(!isset($this->store[flabel]))

{

$this->store[$label] = $object;

public function (cid:9)

unset($1abel)

if(isset($this->store[$label]))

unset($this->store[flabel]);

Nhu da neu or tre.n, mOt lop Registry thtrimg c6 bon phtrcmg thirc: ghi (set), truy xuat (get), huS, (unset), kiem tra ton tai (isset). Ta se sir dung cac phucmg thirc ma thuat (magic method) dm PHP5 de the hien 16p Registry nay.

Trang 16

}

public function get($1abel)

if(isset($this->store[$labell))

return $this->store($1abel];

return false;

public function (cid:9)

isset($label)

if(isset($this->store[$label]))

{ return true;

return false;

}

//Khei tao 16p My_Registry. $registry = new My_Registry();

//Khei tao doi tugng ma chUng to can truy cap toan cuc tei(Settings). $settings = new Settings(); $settings->import(Vapp/settings.ini');

//Bang k2 cho bien $settings thanh toan $registry->settings = $settings;

//Ket not den Co so do lieu bang cach duyet bien $settings da dugc luu trong My_Registry $db = new DB Abstraction MYSQL1($registry);

Ta thtrc thi lap My_Registry dun gian nhu sau:

class DB Abstraction MYSQLI

{

private $settings = null;

public function (cid:9)

construct($registry)

//puyt qua doi trong settings era duct luu trO trong Registry.

Lop Cu set da lieu:

Trang 17

$this->settings = $registry-> settings;

public function connect()

$conn = mysgli_connect( $this->settings->getrdb. host'), $this->settings->getrdb. username'), $this->settings->getrdb. password'), $this->settings->get('db. database') ); return $conn;

2.2.3. MO kink kit hpp Singleton & Registry

static public function getInstance()

if(self::$instance == null)

self::$_instance = new My_Registry();

}

return self::$instance;

}

MOt (lieu thuong they trong cac Design patterns la viec kit hop hai hay nhieu mo hinh de mang 1a1 cac giai phap hftu ich ham. Thay vi phai truyen Registry nhu met tham só kheri tao, chting ta se hien deii ttrong Registry thanh mot doi Wong Singleton. Viec thay dei rat don gian, chimg ta them met phacmg thirc tinh (static) getInstanceo va met bien kieu tinh (static) $_instance luu gift the hien dm d6i Wong.

De thut thi lap My_Registry, bay gib chting ta sir dung phuong thtic Singleton

//Lay the hien clia 16p My_Registry su dung phuang thac Singleton. $registry = My_Registry::getInstance();

$settings = new Settings(); $settings->import('iapp/settings.ini');

$registry->settings = $settings;

//Khong can truyen Registry nhu met tham so. $db = new DB Abstraction MYSQLI();

cue no:

Trang 18

Str thay dig trong lep Co sa dtt liOu ding Hit dun gian:

class DB Abstraction MYSQLI

{

private $settings = null;

public function _construct()

//LAy thA hiGn cua Registry $registry = My_Registry::getInstance(); $this->settings = $registry->get('settings');

}

Trang 19

2.3. MO HIM MVC

2.3.1. Lich sii

Vio nhung nam 70 cos the 14 20, tai pang thi nghiem Xerox PARC 6 Palo Alto, strra dolt coo giao (lien dO hga (Graphical User Interface) va lop trinh huang doi tugng (Object Oriented Programming) da cho phdp lap trinh vien lam viec yen nhffmg thinh phan d6 hga War nlffing doi tugng dO hga c6 thu8c tinh va phucmg that rieng cita n6. Kh8ng dimg Igi 6 d6, nhimg nha nghien ciru 6 Xerox PARC con di xa hen khi cho ra d?ri cai ggi la lden frac MVC (via tit ciut Model — View - Controller).

MVC dugc phat minh tai Xerox PARC vim nhang Elam 70, beri TrygveReenskaug. MVC Ian dau tien xutit hien ding khai la trong Smalltalk — 80. Sau de trong 'nett theft gian dai hAu nhu khong c6 thong tin nao ve MVC, ngay ca trong tai lieu Smalltalk - 80. Ck giAy ter quan trong dau tien dtrgc cling ba tren MVC la "A Cookbook for Using the Model — View — Controller User Interface Paradigm in Smalltalk - 80", beti Glenn Krasner vi Stephen Pope, xuit ban trong thang 8/9 ram 1988.

2.3.2. Kiin nee nth hinh MVC

MVC via tit cat chit cal (au dm Models, Views, Controllers. Model c6 tech nhiem del vdi toan b8 du lieu ding nhu gang thai cua dad tugng do hog. View chinh la the hien trgc quan curt model, hay not each khac chinh la giao dien ciut din tugng do hog. Controller dieu khien viec tuang tic gitla dai tugng do hog va ngu&i sir citing cling thy nhcmg dOi tugng khac.

HInh 2.3. Mo hinh MVC don gian.

Khi nguai sir dung hok nhimg doi tugng khk can thay den gang thai cua deli tugng do hog, ne se ft:mg tac thong qua Controller ctia don tugng dO hog. Controller se thgc hien viec thay d6i tren Model. Khi co bit ky sg thay del nao xay ra 6 Model, n6 se phat thong diep (broadcast message) thong bao cho View va Cotroller biet. Nhlan

Trang 20

(cid:9) (cid:9)

dugc th8ng diep tfr Model, View se cap nhat lai the hien cila mirth, dim bio rang n6 Mon la the hien truc quan chinh xic dm Model. Con Controller, khi nhan dugc thong diep tir Model, se c6 Ethan Prong tic can this& phin h6i 1a1 ngtrai sir dung hoac cac d6i tucyng khic.

I Controller I

HTTP Request

S

update(request data)

(cid:9)0

show() (cid:9)

I

getData0

HTTP Response

44—

Ilinh 2.4. Duirng truy4n tren ma hinh MVC.

Lay vi du trong Thuong m0 dien tir, khi khach hang them san pham vao gin hang bing cich an nut Them vio gio hang ngoii View - Giao dien ngtreri dung. Tiep d6 tang Controller se xir ly yeu eau nay va Wong tic wen tang Model de them sin pham vio gin hang.

Tucmg ty, du lieu trong gin hang se duce chuyen tiep ngugc lai cho View - Giao dien ngutri climg thong qua tang Controller, de hien thi cho nguiri dfing biet só lugng va gia tri sin phim trong gin hang.

2.3.3. Deic diem ctia me kink MVC

a. So sinh ma hinh MVC yeti ma Mall 3 lap

MVC mtblecture

Hinh- 2.5. Sv khic nhau gizia MVC va 3 — layers.

Trang 21

Diem giang nhau gigra hai m6 hinh My la deu tach red phan xer 19 nghiep vi (programming core/bussiness logic) ra khai nhOng phi thuec ve tai nguyen va mai trterng. Presentation Layer (PL) the hien gi6ng nhu chuc nang Ma View va Controller. Bussiness Layer (BL) va Data Access Layer (DL) the hien giting nhu chfrc nang cua Model. Nhin 6 gee do' nay, thi MVC tuong dtrcmg vol 3 — layer.

Trong m6 hinh 3 lop, qua trInh di theo chi'eu dye, bat dau tir PL, sang DL, va tir

Pre yenta ton

DL, chyy ngtroc lai BL rOi quay ra lei PL.

Bu tn.?

L)at:a

Hinh 2.6. Qua trinh :rut& trong mo hinh 3 — layers.

cor-rol'er

Hinh 2.7. Qua Binh buyen trong MVC.

b. Liu diem vi lgi ich

Trong m8 hinh MVC nguyen thug, dir lieu ducrc nh#n bed View, View se chuyen cho Controller cap nhat vao Model, r6i sau do da lieu trong Model se dtrqc dua lai cho View ma khong thong qua Controller, do v#y luimg xir 19 nay co hinh tarn giac

Lqi ich quan trong !that dm me hinh MVC la gitip cho img clung de bao tri, module hod cac chat nang va doge xay dung nhanh cheng. MVC tach Mc thc vu cua ling dung thinh cac phan rieng le Model, View, Controller gulp cho viec xay ding cac ling dung nhc nhang hcm, de dang them cac tinh nang meri va cac tinh nang ea co the

Trang 22

a clang thay d6i. MVC cho phep cac nha phat trier va cac nhi thiet ke c6 the lam vi'ec Bong thtri veri nhau. MVC cho phep thay doi trong mat phan Cmg dung ma kh8ng anh huemg den cac thanh phan khic.

Men trim MVC da tach biet (decoupling) sur phi thuac- gifts cac thanh phan trong mat dal Mang da hoa, lam tang tinh firth ding (flexibility) va tai sir dung (reusebility) ctia dai tugng do hoa di. Mat dal ttrang da hoa c6 the di ding thay doi giao dien bang each thay dal thanh phan View cda n6 trong khi each that luu trft (Model) cling nhu xti 19, (Controller) kh8ng he thay d6i. Ttrcmg tu, to el-mg co the thay dai each thirc luu frit (Model) hoac xfx 19 (Controller) dm du tut:mg da hoa ma cac thank phan con lai Van gift nguyen.

Nh6 nhftng dac diem hnu ich nhtr vay ma kien frac MVC da duqc img dung de Ay dung rat nhieu cac PHP Framework va cat thu vien da hoa khac nhau. Tieu bleu la ba thu vien do hoa cua nein fly/ lap trinh huting dai tutyng SmallTalk (cling do Xerox PARC nghien thuva phat teen vao thap nien 70 cita the k9 20).

c. Nhtriac diem Hai v6i cac du an nhe, viec ap dung m6 hinh MVC se gay citing kat, tin thoi gian

trong qua trinh phat trier. Tin then. gian Ming chuyen der lieu gifta cac thanh phan.

Trang 23

PHAN 3. CAU TRUC CiJA FRAMEWORK

Sau khi tim hieu duqc cac mau thi6t ke ve mo hinh MVC ar phan tren, cluing UM se trinh bay ve cau trtic dm Framework ma cluing ten xay dung. Nei dung chinh cira phial nay bao gem:

Cau frac thu moc Framework;

- Deng chay der lieu trong Framework; - URL; - Model; - View; - Controller;

- Cac Library; - Cac Helper.

+ Root

- Thu moc chira website.

+ application

- Thu num dinh cho l'Op trinh vien, cac top tin duqc lop trinh theo cau frac MVC.

3.1. Chu true thu myc Framework

- Thu moc chira cac tap tin cau

+ config •

+ controllers

- (cid:9) Chira cac lap controllers.

+ models

- Chita cac lop models.

+ core

- (cid:9) Chin cac controller dieu Ichien

hinh.

+ errors

- Chita cac tap tin thong bao GSL

+ helpers

- (cid:9) Chita cac helper do l'Op trinh

he thong.

+ hooks

- Chao cac tap tin de ma reng ma

vien Ur dinh ngliia.

+ libaries

- (cid:9) Chita cac library do l'Op trinh

z nguon dm Framework.

vien to dinh nglifa.

Trang 24

+ views - (cid:9) Chira cac tap tin giao dien cila

+ install

- Thu mvc cai flat Framework.

+ config

- Thu mvc china cac 4p tin cAu

he thAng.

+ controllers

- Thu mvc china cac controller

hinh khi cai dat.

+ models

- Thu mvc china cac model phvc

phvc Ai cho viec cai dat.

+ views

- Thu mvc chira the tap tin giao

vv cho viec cai dat.

+ ecommerce.sql

- Database (cid:9) mac (cid:9) djnh (cid:9)

dien khi cai dat.

cata (cid:9) hg

+ index.php

- Tap (cid:9)

thAng.

tin (cid:9) dieu (cid:9) huong (cid:9) the

+ system

- Thu mvc bao geim ph'An loi tha

controller khi cai dat.

+ Helpers

- Thu mvc chin the Mm hii trot da

Framework.

+ Libraries

- Thu mvc china cac thu vi'en da

&roc lay dung.

+ system files

- G6m cac file he thAng nhu: core.php, load.php, registry.php,

duge xay dung.

+ config.php

- Tap tin chfra cau hinh atm he

• "

+ index.php

- (cid:9) Controller d'Au vac', tiep nhan yeu cAu tit phia ngueri dling va chuyen yeu cAu nay cho he thAng xfr ly.

Bang 3.1. C u trzic tint myc can heth ng.

thAng.

Trang 25

Models

Libraries

3.2. Deng duly di'. lieu trong Framework

index.php

1. TOp tin index.php deng vai tr6 lam controller diu vao, thiet lOp cac tai nguyen

can thiet cho he thong.

2. Rooting: Qua trinh diau &rang gifip xac OM the you eau va Man xir 19 dOi

vai chAng.

3. Security: DI lieu truok khi dirge chuyen den cac Controller se dirge luc de

phong chOng XXS, SQL Injection hoc CRSF.

4. Application Controller: Controller xir 19 du lieu nhOn dirge bang each ggi den

the Models, Libraries, Helpers, ...c6 lien quan.

5. Hew: Der liOu dirge chuyen qua View a hien thi cho ngtrai dung. Trong thge te, d6i khi ta can xen vio the but trong so de teen. Ching hbn, twee khi met controller duct ggi, ta co thO mutin Itru log )(wing top tin trong he thin. Chung ta sir dung co the hook cho phep ta owe hiOn viec nay. De kich hoot hook, ta can thay dOi gia tri eita hien $config['enable_hooks'] trong tip tin

application/config/config.php:

$configflenable_hooks'l = TRUE;

Cbc hook dirge khai boo trong tap tin application/config/hooks.php, ce

2 mau sau:

Shook['controller'] = array(

'class' 'function' 'filename' 'filepath'

'MyClass', 'Myfunction', 'Myclass.php', 'hooks',

'params'

array('beer', 'wine', 'snacks')

);

Trong de:

class: ten 16p se dirge ggi. Neu chi sir dgng met ham thil We , ta co the be trong gib trt nay; function: ten ham/phucmg dare se dirge ggi; filename: ten tap tin china 16p/hAm d6;

Trang 26

filepath: duang din den tap tin hook. Neu tap tin nam trong thu muc application/hooks, ta chi can det gia tri nay bang hooks. Neu tap tin nam trong thu Mix application/hooks/utilities, ta (Jet gia tri nay bang hooks/utilities.Luu

yr, Ichong co clau / o cuoi. params: cac tham sr.!) duce truyen vao cho ham.

3.3. URL

domain.com/index.php/controller/method/param/...

Theo mac dinh, cau frac URL cim Framework dtrqc thiet ke dva vao cac segment thay cho kieu query truyen thong. Cach tiep can nay gall) URL trer nen ngan gqn, co nghia, de ghi nher vit than thien v6i cac 130 may tim kiem. URL trong co

- controller la ten ctia lap controller dtrqc gqi. - method 11 ten ciia phucmg thvc trong lap controller 6 tren. - param la cac dai s6 ctia phuang that do - Nhu vey, URI domain.com/index.php/product/view/1 se mangy nghia: Gqi so den phtrcmg that view() thuOc Controller Product van doi truyen van bang 1.

Trong de:

a. Dinh tuyen URI (URI Routing)

Trong thvc te, URI domain . com/ index . php/product /view/1 lai khong thin thien vai cac bq may tim kiem bang URI domain.com/index.php/product/view/apple -ipad -1. Framework cila chang ta cho phep ta c6 the thay din ca the xir 19 URL mac dinh th8ng qua chi= nang dinh huang URI bang cach thiet lip cac quy luat trong tap tin appl i cation/con f ig /routes . php . Tip tin nay chin ming $ route , veri khoa la URI mai va gia tri la URI di. Cac quy luat duqc doe theo tint: to tir tren xueng, quy It* tnrac c6 dO uu tien cao han quy luat sau. Framework cho phep sir dung cac ky to dai dien (wildcard) de thay the, trong do co hai ky to dai dien duct quy dinh sin:

- : num tuong img vOi cac gia tri - : any tucmg (mg v6i bit ky gia tri nao.

$route[`product/view/(:num)'] = "product/view/$1";

Vi du:

nghia: gqi den phtrcmg thfrc view () trong lap Product veri tham s6 truyen vao

$route['product/:any'] = "product/find_product";

la gia tri kieu s6.

Trang 27

nghia: tat ca cac yeu eau bat du bing product se g9i den ham find_product

dm 16p product.

Ta cfmg c6 the sir dung bieu thirc chinh quy (Regular Expression) de thiet lop

$route['product/([a-z] +)/(\d+)'] = "Wid_S2";

quy luOt. Chang han:

b. Loni b6 chn8i indemphp trong URL

Theo mac djnh, chuoi index.php duqc them vao URL. De loci be chuSi nay, ta

RewriteEngine On

RewriteCond %(REQUEST_FILENAME) !-f

RewriteCond %(REQUEST_FILENAME) !-d

1 RewriteRule "(.*)$ /index.php/$1 [L]

c6 the sir dung met tap tin.htaccess c6 nOi dung nhu sau:

3.4. Model

Model la nhUng 16p duqc xily dung nham that hien viec trao del thong tin v6i ca ser dir lieu. MOt 16p Model co the that hien cac tic vu truy van, them, x6a, cop nhat aft lieu. Trong Framework nay, viec khai bao cac lop Model danh cho met thurc the nao do la khong can thiet, vi trong Controller dm that the do, ta c6 the goi den thu vien database de that hien cac thao tic v6i co so dUr

allowed');

/**

* @framework: PHPS - ECOMMERCE FRAMEWORK *

@author: (cid:9)

fatange126@gmail.com - Nguy4n Bao Trung

cuongnc.it659@gmail.com - Nguy4n Chi Cueng.

*

class Test model extends EC Model

construct()

public function (cid:9) {

parent:: construct();

}

public function Example()

1

Met 16p Model chuan trong Framework co cau truc nhu sau:

Trang 28

}

/* End of file test.php */ /* Location:./application/models/test.php */

Khi khai bao met 16p Model, ta can loan theo mot s6 guy tic:

- Ten l6p duqc viet hoa cha diu tien, (than con lai viet thutmg. Vi du:

User model, Blog_model, Article_model...

- Ten tap tin duqc dat nhu ten 16p, va duqc (fat trong du muc application/models/. Cac thu rime c6 the duqc luu long vac, nhau de th'uan

lien cho viec quan 1Y. Vi du: application/models/user_model.php, application/models/front_end/blog_model.php, application/models/back_end/article_model.php_ Bat buec phai ke this tir lop EC_Model. Trong ham too dm 16p con, phii goi den ham to cim 16p cha.

$this->load->model('model_name');

De sir dung model trong controller, ta sir dung doan mA sau:

$this->load->model('front_end/hlog_modell);

Trong de, model_name la ten dm 16p Model. Neu lerp Model duqc luu trong met thu mu; ta an ghi re dutmg dan den thu muc d6. Vi du 16p Blog_model duqc luu trong thu muc application/models/front_end/blog_model.php. De sir dung lop nay, ta sir dung doan mA sau:

Sau khi load 16p Model, ta c6 the sir dung lop nay trong chuong trinh

1$this->model name->method();

bang each goi

De gin met ten khac cho 16p Model khi sir dung trong chi:mg trinh, ta co the

$this->load->model('model name', 'ModelName');

truyen vao tham se thir hai Mitt sau:

$this->ModelName->method();

Khi do, de sir dung cac phucmg thirc cim lop Model, ta goi:

3.5. View

View la tihrmg tap tin china mA HTML duqc xay dung nham the hien dir lieu trong Model thanh cac giao dien tuong tac yeti ngtrai clang. View do the 11 met trang web hoan chinh, hay chi la met phan cua trang web (header, footer, sidebar...). Nei dung cim tap tin View, ngoiii ma HTML con co the chim ma PHP. View khong bao gib duqc gqi true tiep ma phai thong qua controller.

De sir dung view trong controller, ta sir dung doan ma sau:

Trang 29

$this->load->view('viewname', $data);

Trong do, view_name la ten dm view, $data chira cac dir Ru se duqc hien thi trong View. Cling giOng nhu model, ta co the Wu View trong cac thumuc de tien cho

viecquintfr.

Khisticlung,chicinkhaibioduengdanttrangdOidendnrimycchfraView.Vi

dytkptinheader.owdugcluutrongdurmucapplicatiee/views/frent_eod.Be hienthiViewnay,tasirdungdoanmAsau:

$this->load->view('front_end/header'):

Framework dm chting ta cho phep sir dung nhieu View trong cimg mgt phucmg

thirc dm Controller. Dd lieu trong cac View se dirge ket hqp lai veri nhau. Vi

allowed');

/**

* @framework: PHP5 - ECOMMERCE FRAMEWORK *

@author: fatange126@gmail.com (cid:9)

Nguyen Ban Trung

cuongnc.it659@gmail.com - Nguyen Chi Cl/Ong.

*

*/

class Demo extends EC Controller

construct()

public function (cid:9) {

parent:: construct();

}

public function index()

$this->load->view('header');

$this->load->view('content');

$this->load->view('sidebar');

$this->load->view('footer');

/* End of file a.php */

/* Location:./application/controllers/user/a.php */

De hien thi di: lieu trong Model ra View, ta co the truyen mot ming lam deli so

thu hai khi load View. Vi du:

'[rang 30

(cid:9)

$data = array( 'name' => 'Maxwell Smart', 'email' -> 'maxwell.smart@control.org ', 'age' => '33'

); $this->load->view('employeedetail', $data);

Khido,cacchisecfmmanghoaccicamOctinhcOadeitumseduccchuyen

employee_detail.php:

Name:

Email:

Age:

thanh cac bien de sir dung trong tip tin View. DuOi day la nOi dung mau cua tap tin

// Employee Controller $data['employeeListe] = $this->EmployeeModel->getAllEmployee(); $this->load->view('employee_lists, $data);

Ta cfmg c6 the su dung cac cau true dieu ktnen (if, else, switch...case...), lap (for, while, do...while...)...be'n trong View de hien MI du lieu. Vi du sau se hien thi danh sach cac nhan vien:

  1. Employee ID: employee id 7>

    Full-name: full_name ?>

    D.O.B: dob ?>

    Email: email ?>

Tap tin employee_list .php

Framework con cho phdp to co the thy vE nOi dung cfm View thay vi mitt tut

tiep trinh duyet, bang ckh truyen true lam (16i so Mir ba khi tai view. $string = $this->load->view('myfile', ", true);

3.6. Controller

Controller la nhang hip &mg vai tro trung gian giaa View va Model. Controller nhan cac yen cau tir phia ngueri clang, kiem tra cluing truerc khi chuyen qua cho Model.

Trang 31

/**

* @framework: PHPS - ECOMMERCE FRAMEWORK *

* @author: fatange126@gmail.com - NguyAn BAo Trung -

cuongnc.it659@gmail.com - NguyAn Chi CuOng.

*

class Demo extends EC Controller

construct()

public function (cid:9) {

parent:: construct();

}

public function index()

{

}

/* End of file a.php */ /* Location:./application/controllers/user/demo.php */

Sau khi Model xis IST you eau va tra da lieu ve, Controller chuyen sang View de hien thi der lieu cho ngtrtri dung. Trong Framework nay, cac lop Controller &Km gin vim segment thu nhAt trong throng truy'en URL. Mot 16p Controller chttan trong Framework c6 Mau:

Khi khai bio met lap Controller, to can than theo met s6 quy tic:

- Ten 16p dugc viet hoa cha dau tien, phen con lai vitt thirtmg. Vi dy: User,

Blog, Article...

- Ten tip tin dirge dat nhu ten 16p, va &gm dat trong thu moc application/controllers/. Cac thu nom c6 the duqc luu long vie nhau de the fien cho viec quail 15/. VI do: application/controllers/user.php, application/controllers/front_end/blog.php, application/controllers/back_end/article.php_

- Bit buoc phai Ice thira fir 16p EC Controller. Trong ham tao dm lap con, phai

goi den ham tao cern lap cha.

Segment this hai trong URI se goi den pluming thirc tucmg Ong trong Controller. Cac gia tri dia cac segment can Iai trong URI chinh la cac tham s6 tniyen vao cho

Trang 32

phucmg thirc nay. Framework quy di/di mgt phuang thirc dgc biet, index 0 . Fluxing

thirc nay c6 the xem nhu dAu vao dm Controller, se dugc tg dgng ggi trong twang hgp segment dig hai cua URL bi b6 trong. Vi dg:

allowed');

/**

* @framework: PHP5 - ECOMMERCE FRAMEWORK *

fatange126@gmail.com - Nguyen Bao Trung

* @author:

cuongnc.it659@gmail.com - Nguyen Chi Cueng.

*

class Demo extends EC Controller {

construct()

public function (cid:9) {

parent:: construct();

}

public function index()

echo "Welcome to my demo";

public function view(Sid)

echo Sid;

}

/* End of file a.php */

/* Location:./application/controllers/user/a.php */

Khi truy xuAtden URL domain.com/innex.php/demo,phttnngthitc index() dugc goL to se thiy chn8i welcome to my demo. liep theo, truy xtlit den URL domain.com/index.php/demo/view/1 Se hien thi nOi dung dm bai viet co ID = 1.

Trang 33

3.7. Clic Library

3.7.1. Thw ten Can

Thu vien nay cho phop them, cap nhot, xoa san pham, huS , gilt hang trong khi nguai sir dung dang trong phien (session). Ngoai ra, ne con cho phep lay cac sin pham trong gi6 hang ra, thy s6 lucong san pham trong gilt vi tong tian.

$this->load->libraryrcart');

- Mutin gqi thu vin cart, to sir dung doan code sau:

- Ta c6 cac hitm h6 trq sau:

$data = array( 'id' => '1', 'qty' => 1, 'price' => 20, 'name' => 'Nokia Lumia 520'

);

$this->cart->insert($data); //Luu 2: cac thuOc tinh id, qty, price, name lA bgt buOc. Trong do: id - ma san phAm; qty - s6 lugng san phAm; price - giA cfla san phAm; name - ten clia san phAm.

+ Them san pham vao gio: $this->cart->insert ( ) . Vi du:

if(!empty($this->cart->contents())

$cart contents = $this->cart->contents(); echo "

"; 
print_r($cart_contents); 
echo "
";

}

//OUTPUT array(

=> 1, => 1, => 20, => 'Nokia Lumia 520',

'id' (cid:9) 'qty' (cid:9) 'price' (cid:9) 'name' (cid:9) 'subtotal' => 20

+ Lay cac san phim trong gilt hang: $this->cart->contents ( ) . Vi du:

1 $data = array(

] 'id' => 1, 'qty' => 3

+ Cap that gie hang: $ thi s->ca rt->update ( ) . Vi

Trang 34

) ;

$this ,->cart->update($data); echo "

"; 
print_r($this->cart->contents()); 
echo "
";

//OUTPUT

array(

`id' (cid:9)

=> 1, => 4, => 20, => 'Nokia Lumia 520',

`price' (cid:9) `name' (cid:9) `subtotal' => 80

//Luu 2: neu qty dugc dAt bAng 0 thi san phAm vad id dugc chgn se bi xoa khei gio hang.

terns ( ) .

+ HuS, gio hang: $this->cart->destroy ( ) . + Ski lucrng san pliant trong gib hang: $this->ca rt->tota (cid:9) + TINT tin cda gib hang: $ this->cart->total ( ) .

3.7.2. Thw Wen Clean

Thu vin nay gifip ching ta co ban tranh duqc cac 16i SQL injection va XSS.

$this->load->library('clean');

- Mutin goi thu vin Clean, ta sir dung down code sau:

ta se su dung nhu sau:

//Thay vi sir dung cac bien GLOBAL cUa PHP nhu: $_POST, $_GET, $ SERVER (cid:9) $this->CLN->post, $this->CLN->get, $this->CLN->server _

- Ta sir dung thu vin Clean nhu sau:

3.7.3. Thw vin Currency

Thu vi4n nay giup ta hien thi, ddt logi den t4, quy doi tien

$this->load->library('currency');

- MuOn gqi thu vin Currency, ta sir dung dogn code sau:

+ $this->currency->set ( ) : (cid:9)

mai mgt 10M Wen t4. Vi du:

$this->currency->set('USD'); //OUTPUT Sau cau lenh nay, don vi tier) te USD se dugc luu vao phien (session).

- Ta co cac ham lui trq nhu sau:

Trang 35

+ $this ->currency ->format () : tra ve djnh dang chuan elm loaf tien tg. Vi

$this->currency->format(20,

'USD');

//OUTPUT

20$

+ $this->currency->convert()Alifilniy gift() Chung ta chuyen doigAa

du:

$this->currency->convert(1, 'USD', 'VND'); //OUTPUT 21.030391 VND.

cacloaLtiente%Vidu:

+ Ngoai ra con Mgt sit ham h'S trq nhu sau: lay gia tri cua tien te, lay ma tien

lay ky higu ctia tien t"

3.7.4. Thu Wen Form validation

Thu vinnay glop chimg ta kiem tra (validate) dir ligu trade khi xir

$this->load->library('form_validation'):

- Mutin goi thu vinForm_validation, ta sir dung doan code sau:

$this->form validation->set rules('username', 'Ten deng nh6p 1 , 'triminot_emptylmin_length[3]);

//t nghia cua down lenh tren IA: ta se validate giA tri coa

thuOc tinh username theo cac not_empty (khong dugc de trOng), min_length[3] (d0 dAi tei thieu ld 3); neu khong vugt qua dugc nhang 18i nay thi se thong bAo 16i: Ten dAng nhAp khong dugc de trOng ho4c Ten deng nh*p phai nhieu han 3 ky tu.

- Ta sir dung thu vinForm_validation nhu sau:

not_empty

No

Tra ye FALSE neuthutjc tinh rung.

matches

Yes

matches[password]

Tni ye FALSE neu thuOc tinh kitting kh6p y6i tham mti truyen yea

is_unique

Yes

is_unique[tbLusettlimum4

Tni yi FALSE neu dwec tinh da ton tai tong bing yeti ten twang duqc chi dinh.

min_length

Yes

min_length[3]

Tr* ye FALSE nen thuijc tinh co dO dii ngin hunt tham s6 tmyen vac).

max_length

Yes

maxiength[l 0]

Tni ye FALSE neu thuOc tinh co dO dM dal hen tham s6 truyen vita

exact_length

Yes

Tni ye TRUE nett tituOc tinh c6 de del

exact_kngh[5]

Trang 36

- Ta co cac luat sau:

VI

chinh the bang tham so truyen vio.

greater_than

Yes

Tra ye FALSE neu thutjc tinh nhe hen

greater than[3]

tham so truyen trio hoes kh8ng phiti

kieu se (numeric)

alpha

No

Tri ye TRUE neu thuijc tinh chi chira

cic chit cai (alphabet).

alpha_numeric

No

Tra ya TRUE neu thutjc tinh chi chira

de chit chi (alphabet) hooc de chit so

(numeric).

valid_email

No

Tra ye FALSE neu thuoc tinh khong co

Bang II met email.

numeric

No

Tra ye FALSE neu thutjc tinh khong

phai la so.

, - (cid:9) .... . (cid:9) r

3.7.5. Thu. Wen Session

Thu vien nay hi; trq Chung ta thao tic yeti phien lam viec (session).

$this->load->library('session');

- Mtkin ggi thu vien session, ta sir dung down code sau:

- Ta co the ham ho trg sau:

$account = array( `id' (cid:9) `username' (cid:9)

=> 1, => 'admin'

); $this->session->setuserdata('accounts, $account);

+ Them du lieu vao session: $this->session->set_userdata ( ) . Vi

$this->session->unset userdata('account');

+ Duyet session: $this->session->all_userdata 0 . + Xod session: $this->session->unset userdata ( ) . VI du:

+ 1-114 session: $this->session->sessdestroy .

3.7.6. Thu Wen User control

Thu vien nay he trg chi:mg ta trong viec xac nhan (authenication) va pha'n quy'en

ngtrai sir dung trong quart tri he th6ng.

$this->load->library(`user_control');

- Muen ggi thu vien user control, ta sir dung doan code sau:

- Ta có cac ham 116 trg sau:

Trang 37

$this->user control->login('username', 'password');

+ Dang nhap: login ( ) . Vi du:

$this->user control->logout();

+ Ding xuAt: logo ut(). Vi du:

$this->user control->haspermission('modify', 'backend/report');

+ Kiem tra xem co quyen gi: haspermission(). Vi du:

3.8. Cic Helper 3.8.1. uus helper

Tap tin nay china cac ham ginp chung ta thao tac veri kieu dir lieu Text WA ma

utf-8.

$this->load->helper('utf8');

- Mu& gqi helper utf-8, ta sir dung (loan code sau:

- Ta c‘i cac ham h8 trg sau:

$string = 1 M6m nay, ted di hoc !'; $len = utf8_strlen($str); echo $len;

//OUTPUT 21

+ utf8_strleno: tra ve de dii Goa chu8i mA utf-8. Vi du:

+ utfEstrpos(): tra ve vi tri coa chu8i can tim hoac tra ve sai (kieu logic) nen

chutii can kiem tra khong nam trong chu8i yeu eau. Vi du:

$mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme);

if ($pos === false)

{

echo "Chu6i '$findme' kh6ng nam trong chuOi '$mystring'"; } else

echo (cid:9)

"Chu6i (cid:9)

'$findme'

ducc

tim (cid:9)

thAy

trong chuOi '$mystring'"; echo " o vi tri $pos";

//OUTPUT

Trang 38

Chu& a nAm trong chu8i abc 6 vi tri 0.

echo substr('abcdef', 1); // bcdef echo substr('abcdef', 1, 3); // bcd echo substr('abcdef', 0, 4); // abcd echo substr('abcdef', 0, 8); // abcdef echo substr('abcdef', -1, 1); // f

+ utfli_substr 0: tra vie chuOi con cita mOt chu6i. Vi du:

3.8.2. Text helper

Tap tin nay chtia cac ham gift!) chung ta thao tac veri der HO ki6u Text.

$this->load->helper(`text');

- Mu6n goi helper text, ta sir dung doun code sau:

- Ta ce cac ham h6 trq sau:

1 $string = "Heim nay la mOt ngay dep trOi.";

1$string = wordlimiter($string, 4);

//OUTPUT Hem nay la mOt _

1

+ word limiter(): cat chuiii tir so tir duce quy dinh. Vi du:

(cid:9)

+ chanaderlimiter0: cAt b6 chu6i tir s6 chit trong tir duqc quy dinh.

$string = "Hello everybody !"; $string = characterlimiter($string, 5);

//OUTPUT Hello

Vi du:

3.8.3. Uhl helper

Tap tin nay chira cac ham giup cluing ta lam vi6c v6ri URLs.

$this->load->helperpurl');

- Mu6n gqi helper url, ta sir dung dour' code sau:

- Ta co cac ham h6 trq sau:

echo base_url(); //OUTPUT http://domain.com echo base_url("blog/post/123"); //OUTPUT http://domain.com/blog/post/123

+ base url(): tra ve duang dan chink cua trong web. Vi du:

Trang 39

+ current_ur10: tra ve dtdmg dAn hian tat ma ngubi dimg dang

echo current url(); //OUTPUT http://domain.com/login

truy cap. Vi dp:

//Ta dang 6 dueng dAn: http://domain.com/login //Ta thuc hiAn chuyen huding ri6u dAng nhAp thAnh cong if(checkLogin)

{

//Chuyen hu6ng redirect(baseurl(). 'home');

else

//Thong bAo clang nhAp khong thAnh c6ng

+ redirect(): chuyn htrang trang web. Vi du:

Trang 40

PHAN 4. DAC TA vA fly DUNG CAC cllirc NANG CIJA fl THONG

THU'UNG MAI DItN Tcr

4.1. Phan deb thiet ice

a. Su dO tang quan air chat fling clia Framework

Hinh 4.1. So. clj Usecase Framework

QL: Quan ly

b. Cic tic nhfin tham gia vio hg thong

- %heck hung: LA nhimg ngurri sir dung he th6ng de" mua san pham, xem san

phAm va (lath gia ve san phAm do.

- 1Vhen view La nhang ngtreri ski dung he th6ng quart 1y. Dwa vio Si he

thong de phin quyen cho cac nhem nhan vien cho phu hyp

'Frang 41

4.2. Dec ti cic chirc ning cfia hg &sing

DO Phi top:

UC nil

QUAN LI"( NHOM NCO % DUNG, NGUUI DUNG

. (cid:9)

-r....;"

Me t*

Chat nang nay cho phep ngtari quan tri co the liet ke, tao mm, chinh sira, x6a, phan loai, phin quyen cac tai khoin trong he thong. Ngoiti ra, ngutri quart tri co the tao ra cac nhom nguiri dung va phan quyen theo timg nhom ngubi dimg.

,

child' Nhan vien quan tri.

Tic °Ilan

thy Khong co.

Phai ding nhap vao he thong va phai co quyen thao tac tren chat nang nay tut khi bit dttu UseCase.

Ca so dff lieu se dugc thay d6i.

e Tin diet t; - iti utu diet . kitn

Tinh trang he thong se khong thay din.

nil& ,..- clifig t i

. - (cid:9)

DAC TA (cid:9)

- c NANG

I

Luling sq:kien chinh/lqch bin chinh

1. Chic nang nay bit dL khi ngtrai quan hi mu6n liet ke, tao men, chinh sira, xoa,

tim kiem, phan loai, phan quyen nhom ngueri dimg va ngueri dung.

2. He thong yeu tau ngueri quirt tri he th6ng xac dirth chirc nang main thqc hien.

- Neu ngueri quan tri he thong chqn "Quin 45 nit& nye& ding" thi luong con

"Quin Ut nhom nguil ding" se duchy thqc thi.

- Neu nguiri quan tri 4 thOng chop "Quin lft ngtroi ding" thi luting con "Qudn

os viol ding" se dtrqc thqc thi. Chris nang gain It nh6m nguni dung

1. He th6ng hien thi danh sash cac them ngtroi dung tren he thong. 2. Ngured quart tri he thong chon chic nang thqc hien. v Them mIri nhom dung:

+ He thong yeu au ngueri quan tri nhap thong tin ve nhom ngutri dung m6i. + Ngutri quan tri nhip ten therm ngueri dimg va phan quyen chic nang ciut

timg them ngtroi dung: n Quyen truy cep tren the chic nang. n Quyen thao tic hen cac clam nang.

+ He thong kiem tra nh6m ngtreri dung tren da din tai hay chum:

Neu tren he thong chug tim tai nhom ngtred sir dung nay thi he thong se them meri

nhom ngtreri ding vao 4 th6ng.

Neu tren 4 thong di ten tai nhOm ngtreri &mg nay thi he thimg se thong bao de

Trang 42

ngucn quan tri nhap lai, ngueri quan tri ci the chin hily bo viec tao meri nhem nguai ding.

v Cap 'that nhom nprii dung:

+ Ngtrai quan tri chin them an sia tir danh sach them nguii ding va bAm

nut Sim

+ Ngutri quan tri thay 46i bat kjr thong tin nao dugc chi ra trong chirc nang

v X011 nham nguti ding:

Them meri thorn ngueri dimg. + Nguai quan tri him nut DOng 9. + He thcing se cap nhat lai thay 461 cua nhim 40.

+ Ngueri quan tri chin cac them ngueri dung can xoa tir danh sach nhem

ngueri dung

+ He tiding xac titian lai yeti can x6a cila ngutri quan tri, neu ngtrai quan tr.( dingy xia thi he thong xac dinh va xoa nhing nhim ngueri dung 46 Ichei he theing.

Chic nang quin lj nguti ding:

1. Nguii quan tri chin chic nang Quin 19 ngueri ding 2. He thOng hien thi danh sach cac nguiri dimg tren he thOng 3. Ngueri quan tri chin chic nang can thut hien v Them mai ngutd ding:

He th6ng yeti can. ngtroi quan tri nhap vao th8ng tin ve ngueri dung mil bao g6m: + Ten ngueri ding. + Mat khau. + Email. + Nh6m ngueri ding (chin tir danh sach co sin, neu Ichong thi se la nh6m mac

dinh va khong &tic cap quyen nao) va barn nit "Eking 9" He th6ng kiem tra ngueri ding da ton tai tren he tilting hay chua + Neu ten he thOng chin din tai ngueri ding nay, he thOng se them mai ngueri

ding vao he thing.

+ Neu tren he thOng da ton tat nguiri dung nay thi he thong se thong bao de ngutri quan tri nhap lai, ngueri quan tri co the chin hay bee viec tao mai nguari ding. nhlat nguiri ding:

Ngtrai quail tri thay 461 bat ky th8ng tin nao citric chi ra trong chic nang Them meri ngueri edung

- Ngueri quan tri bam nit Cap nhat - He th8ng se cap nhat lai thay doi cua nh6m di.

v Xol nguti ding:

- Nguii quan tri chin nguii dung can xoa tir danh sach ngueri ding va bAm nit

Trang 43

"X6a".

Si x6a thi he thong xic djnh va xott ngueri dung de khoi he thong.

- He thong xic Stan lai you eau x6a dm wren quart trj, nett floral pan tri ding

Luong stIden phit sinhaqch bin phit shah

Neu din tai ngtren dung trong nhom ngtreri dung thi item ngtreri dung d6 khong dugc x6a.

Cic you CIO d#C bet khic

,.

Trinh duyet phiti hti try javascript.

Giao di011ninh.hua Cac giao dien nay chi ce muc dich minh hoa de cho ngtreri doc a dang hien lion ve he thong, giao dien thuc to c6 the dtrqc thay di met phen nao do

Er

to

¤

Minn (cid:9)

S (cid:9)

Cerxedmoi (cid:9)

4 (cid:9)

5

Iamb, (cid:9)

3 (cid:9)

‘ (cid:9)

U

Mod (cid:9)

1 (cid:9)

‘ (cid:9)

U

Giao din quart 0 nhom nguyli dung

Ten nhOm

Qtr,en lily cap

L; backend author

12 backendlbackup

kend/banner

U backend/cate

t (cid:9) E 1.....“ A.,Itens. n• Calaalkagsbaalit

Cluyen MO tat

kand/author

L. backendibacicup

J backend/tanner

Li backend:care

caathy atctioA

Them mol nhenn ?wail dung

Trang 44

26336:1313

Enable

4

1644.-2013

Enable

3

26142313

Enable

O

2

X6a nh6m Aga& dung

Ten (fang nhap

Ho va len

Password

Email

37v: i'f.-!54grn3h

NhOm Rau cii darn

Admin (cid:9)

Trang thai

Giao then win 117 nguai dung

Them miti nguoi &mg

Trang 45

Trang 46

, D. phirc tap: QUAN Lt NHA SAN XUAT UC #0662 -

?-'.- ;.,.-

Chfrc nAng nay cho phep nhan vien co the liet ke, them mai, cap nhat xoa nha sin xuAt trong he thong.

- , M6 to , -,

Khong co.

h NhAn vien

Pa ,.

Tic °hen

--

A (cid:9)

A (cid:9) Tien dietticien

-

Phai dang nhap vao he tilting va co quyen thao tac tren chic nang nay fru& khi bit dAu UseCase.

Minh i ..tp. fig Ca so da lieu se duce thay d6i.

A Btu eau

Wen

Tinh trang he thong se killing thay dOi.

HAC TA atilt NANG

, (cid:9) , (cid:9)

. .

1. Chat nAng nay bat dAu khi nhan vien muen liet ke, them meri, cap that, x6a nha

sin xuAt ra kh6i he thong

2. He thong yeu au nhan vien chop chat nang ma minh muor n bao gam:

- Neu nhan vien chon "Them mdi nkd sin nit thi luring con "Them mdi nki

Luong sv hien chinhilQch bin chink

sin min" duqc thuc thi.

- NM nhan vien chon "Cpp nktit dui sin mat thi lung con "Clip nk# nkd

sin air dirge thqc thi.

- Neu nhan vien chqn "Xda nba sin air thi luring con "Ma nki sin nab"

duqc num thi.

Chat nang them mai nhi sin xuAt

1. He thong yeu cAu than vien nhap thong tin ye nha sin xuAt bao g6m:

- Ten nha sin xuAt - (cid:9) Dien thoai - (cid:9) Dia chi - Email

img veri mill nha sin xuat, vi nha sin xuat d6 duqc them vao he thong.

2. Sau khi nhan vien nhap thong tin ve nha sin xuAt. He thong se sinh ma duy nhat

Chat fling cap nat nhi sin xmit

do.

1. He thong hien till danh sach cac nha sin xuat. 2. Nhan vien chqn nha sin xuAt ma mink mutn cap that. , 3. He thong truy xuat va hien thi thong tin ve nha sin xuAt do. 4. Nhan vien cap nhat thong tin ve nha sin xuAt do. 5. Sau khi nhan vien cap nhat, he thong se cap nhat lai thong tin ve nha san xuAt

Chat nang x6a nhi sin xuAt

1. 114 thong hien thi danh sach cac nha sin xuAt.

"Prang 47

2. Nhan vien chgn nhi san xuat ma minh mutOn x6a va chgn x6a nha san xuat. 3. He thtng dim ra de nghj xac nhan x6a nha san xuat. 4. Nhan vien xac then viec x6a nha sin xuat. He thong se x6a nha san xuat 46 ra

lched he thong. (cid:9) .

Luang Slit h Obit On (cid:9)

ech binphilsinh •

till ibiet Ithic

CAc yen (cid:9)

Trinh duyet phai ha trg javascript

Gig(' then-Minh hija

Cac giao dien nay chi ce mac dich minh hqa de cho ngu&i dgc de dang hieu ham ve he thong, giao dien thac to c6 the dugc thay di mOt phi!' nio d6

CIO

r,

012151511491 (cid:9)

10 (cid:9)

11013 Us 4499 (cid:9)

*

% (cid:9)

NAB Ti19 ipp (cid:9)

01215242 (cid:9)

MA Hak, ism (cid:9)

Iii 4012fersto :sr- (cid:9)

9 (cid:9)

*

% (cid:9)

8 (cid:9)

NM H414 Ma .10 (cid:9)

S (cid:9)

N

NXE1Tho.41se (cid:9)

S (cid:9)

N

6 (cid:9)

S (cid:9)

We Oa hoc I. plom (cid:9)

N .

4 (cid:9)

0111111 (cid:9)

S (cid:9)

We) it4 90i (cid:9)

NA king (cid:9)

100e94 4901 (cid:9)

N

4 (cid:9)

NXB ilisnh NM (cid:9)

01:21211 (cid:9)

HA M; (cid:9)

S (cid:9)

Meru& 4,411 (cid:9)

K .

01714143242 (cid:9)

Hi t46. (cid:9)

)

5 (cid:9)

NIB Tr{ (cid:9)

xh11.4112m4,1 49m (cid:9)

N

2 (cid:9)

01215151491 (cid:9)

He No (cid:9)

NX51141 phro I4.1 (cid:9)

06144441094a41 tom (cid:9)

N

41 (cid:9)

1 (cid:9)

t0131(rm Ding (cid:9)

01215151491 (cid:9)

146 44 (cid:9)

kurdange9m44 ram (cid:9)

N

SI (cid:9)

Ciao dien quern lji nhis san xis&

Ten nha sin nett

t,xs Ka 1 cirr._

Dien ihoni

04337 ,...;_ri

Din di:

Email

. ______

(cid:9)

Trang 48

Them mot nhis san xulit

012151511491

10 (cid:9)

NliBbo OEN

WS 'Ong hop

Islange2.34grAl1 corn

9 (cid:9)

NXB Hot nha -M

8 (cid:9)

E1303 rho. do

NM Dye hoc su Oven

6 (cid:9)

0111 1 11

Pa tang

1913grnal can

HABThd gion

5 (cid:9)

(cid:9)

treynai corn

4 (cid:9)

1.1e3 thank Mg

01271211

1-4,

(cid:9)

01214113242

xt4roesenall cog, -

3 (cid:9)

WS Int

Ha NO,

(cid:9)

01215151431

Na 1.16

frunii@gmal

106 HQ* ptE) nfr

2 (cid:9)

(cid:9)

firrelYWgrlati cCt

1PB Kip), D4ng

91215151491

MOO

XOQ nha san xuat

Trang 49

(cid:9)

, (cid:9) D4 phirc tap: QUAN Lir DANA MVC SAN PHAM ..',4•UC I I

. (cid:9) - M8 .- Chirc nang nay cho phep nhan vien co the liet ke, them, xoa, sera cic danh mac san phim trong he thtmg.

/tan vien

Tic nhin 'thong co. kp

Phai dang nhap vio he thOng va c6 quy6n thao tac tren chic nang nay truck khi bit dAti UseCase. Tan dieiaien . -- , • (cid:9) i•,• (cid:9) - - (cid:9)

Co so aft lieu se dupe thay dia. Hi u • (Wu

Tinh trang he thong se khong thay dai. 44011 ,

. (cid:9) . . (cid:9) •" a • r.• (cid:9) - cung r - (cid:9) DAC TA CHeC NANG - (cid:9) ..... (cid:9) (cid:9) ••

A

. Luang skr hien chinhilqch bin chin!,

1. Chat nang nay bit Mu khi nhan vien mu6n Iiet ke, them, sera, xoa danh mac

san phAm.

2. He thOng you cAu nhan vien xac djnh chile nang ma hp muton thvc hien.

- Neu nhan vien chitin "Them dank myc" thi luting con "Them dank mpc sin

phim" se dirqc thpc thi.

- Neu nhan vien chip "Siva dank inpc" thi luting con "Sew dank mpc sin

phim" se dupe thpc thi.

- Neu nhan vien chpn "Xda dank myc" thi luting con "Xda dank mpc sin

pkJm" se dupe thpc thi. Chat fling them danh mpc sin phim

1. He thong yeu cAu nhan vien nhap thong tin ve danh mpc san phAm bao Om:

- Ten danh mpc san phAm. - TM: ar uu lien. - Trang that

2. Khi nhan vien cung cap cac you au, he thiing se sinh ra ma danh mac duy nhAt

va danh mac san phAm 86 se duvc them vao he th6ng.

Chat nang sera daub myc sin phim

1. He thting Men Oil danh sach cac danh mac san phAm. 2. Nhan vien chpn danh mpc sin phAm ma mink muOn sin. 3. He thong truy xuat va hien till th8ng tin ve danh mpc san phAm da. 4. Nhan vien sin thong tin ve danh mac san pham 86 5. Sau khi nhan vien sira danh mac san phAm, he thong se cap nhat lai thong tin ve

danh mac san pham d6 trong he thong.

Chat nang xia dank myc sin phim

1. He thong hi'en till danh sach cic danh mpc san phAm. 2. Nhan vien chan danh mpc san pham ma minh mu6n x6a va chin x6a danh mpc.

Trang 50

3. He thong dua ra de nghj xic &fan x6a danh muc .san phim , 4. Nhan vien xic than viec x6a danh muc sin pham. He thong se x6a danh muc

sin phAm ra ;chat 4 thong.

'ck bin phitsbah -

en Obit sin (cid:9)

I (cid:9)

- Neu ten danh muc sin phAm dA ton tat trong he thong thi danh muc sin phAm

de se khong dugc them vao trong 4 thong.

- Neu danh muc sin phAm dang chira sin phAm thi danh muc de

killing duqc x6a.

Cic yeu c u'd4c hitt:kink

Trinh duyet phai he try Javascript.

Giao dienttinnk hna Cic giao din nay chi ci mitre dich mirth hna de cho ngutri doe a ding hiOu hart ve hO thong, giao din tlinc to c6 the dugc thay dOi mgt phin nio de

so

Ole-awl (cid:9)

999 (cid:9)

#

Snail

6 (cid:9)

Di lino (cid:9)

roilhuai (cid:9)

9% (cid:9)

% (cid:9)

Win al (cid:9)

#

1.19 thull (cid:9)

6 (cid:9)

I (cid:9)

suc We (cid:9)

wt. dm (cid:9)

Svc Mob (cid:9)

% (cid:9)

4 (cid:9)

#

3 (cid:9)

lzkoshoc-ky-thuo1 (cid:9)

Min MI (cid:9)

Khoo hoc k9 thuta (cid:9)

3 (cid:9)

It

• (cid:9)

2 (cid:9)

% (cid:9)

So thi (cid:9)

#

2 (cid:9)

^1203.-^9u (cid:9)

N991 ^9G (cid:9)

1 (cid:9)

ix

dodcarth (cid:9)

Mindli (cid:9)

a

% (cid:9)

1 (cid:9)

KIM door+ (cid:9)

Giao dien qutin If , danh myc siin ph/Am

Ten chuyen myc

Sal, g z=s *yza

Trang trial Hien Ihi (cid:9) •

IVY hr

009

lieu dg khOng dgu

Them mai danh myc san pham

"[rang 51

Trang 52

DO phirc tap: QUAN Lt SAN PHAM UC #0604 .,,

Chirc nang nay cho phep nhan vien c6 the het ke, them, cap nhat, x6a san phAm trong he thong. . Man wen , ,., Mo hi .,,, , 04h Tic

Ohm Kh8ng ceo.

nhin

Tien dikuldin Phai dang nhap vao he thong va c6 quyen thao tic tren chew nang nay three khi bat diu UseCase. trz,

Ca se du lieu se duqc thay dOi.

Hill . dien hien Tinh trang he thong se khong thay del. inh ng • i DAC TA CHOC NANG .

Luting sy-kien chinh/Hich bin chinh

1. Chat nang bit du khi nhan vien mutm them, cap nhat, x6a thong tin san phAm. 2. He thong yeu au nhan vien xac djnh chile nang ma hq muon thuc hien.

- NM nhan vien chqn "Them sin phAm" thi luting con "Them sin Sam" se

duqc dux thi.

- Neu nhan vien chqn "gip nh# sin philm" thi luting con "Clip nhis't sin

phim" se duqc thus thi.

- Neu nhan vien chqn "Ma sin phim" thi luting con "Xia sin pham" se duqc

thqc thi.

Choc nang them sin phim

I. He thong yeu au nhan vien nhap thong tin ye san phAm bao gem:

- Tem tat san pham - Nha cung cap - Loai san phAm - Can san phim lien quan - Trang thai - Ten san phim (cid:9) - Gia (cid:9) - SO luqng (cid:9) - Hinh anh dai dien (cid:9) - Yeu eau van chuyen (cid:9)

- Ngoai ra he thong con c6 chirc nang khuyen mai va ap dung diem thuemg cho

mixii san phim: + Discount: Giam gia san phim theo so luting mua, img veri mill nh6m khic

hang.

+ Special: Mirc gia san phann cho timg nhem Ichach hang. + Diem thuerng ce 2 phan:

Diem: Diem de mua san phim 46 (mac dinh la 0 — kheing mill:in san phim duqc mua bang diem thuerng). Diem thuerng: Diem de thuemg khi khach hang mua san pham nay. 2. Khi nhan vien cung cap cac yeu cAu ve san phim. He thong se sinh ra ma duy

Trang 53

nhAt dm sin pham da va san phfun do se dirgc them vio he thling

Chirc rang cap nhet sin phAm

1. He thOng hien thi danh sich cac sin phAm. 2. Nhan vien chgn san phAm ma minh mutat cap nhat. 3. He thong truy xuAt va hien thi th8ng tin ve san pham da. 4. Nhan vien cap nh#t th6ng tin ve sin phArn do. 5. Sau khi nhan vien e#p nh#t sin phAm, he thOng se cap nhai tai thong tin ve sin

phim dO trong he thong.

Chic ning xen sin phAm

1. He thong hien thi danh sich cac sin phAm. 2. Nhan vien chgn sin phArn ma minh muOn x6a vi chgn xoa sin phAm. 3. He fluting dua ra de nghi xac nh#n xda sin pham. 4. Nhan vien xac rili#n vi'e'c x6a sin phfun. He thOng se xga sin phAm do ra kh6i

he tilting. ,

Luling'si hien phit sinh/Kich bin phitlinti-:

Cic yen au d#c biet khic

Trinh duyet phai hil trg javascript

Giao dien mink hqa

Cac giao dien nay chi c6 mgc dich minh hga de cho nguiri dgc de" ding hieu han ve he thong, giao dien thgc to c6 the dugc thay &a mOt phan nao de 111111111111111.1111111111111a11111111111.11111111

60 (cid:9) -

31

II

1.14 VA Wing OW (cid:9)

14 250 0%10 (cid:9)

Han Ou (cid:9)

so (cid:9)

NA

11, (cid:9)

30

Mry 1,nh !Meg Saw (cid:9)

19 990 0004 (cid:9)

7. (cid:9)

#

% (cid:9)

Ar

111

29

f4n bow cl, Meg (cid:9)

17 210 0304 (cid:9)

Hitnlry (cid:9)

107 (cid:9)

It

% (cid:9)

2$

Kim tta (cid:9)

0,4n thaw cl, log. (cid:9)

6 680 OW (cid:9)

IWO (cid:9)

#

Ile (cid:9)

2

27

3 990 OM (cid:9)

Dst, Ono& tgag (cid:9)

999 (cid:9)

iiii (cid:9)

#

Giao dien Tien Ift dm pham

Trang 54

inn sin Mk,

Tin san M1 4rn AWN cdt(Vi au . Tin vino— ten asnl

HM ann

Cm. Ss: ow Tom Si

tAr sir sot

osock ;:

Lem sin onim

I-Oms—lom—sioneM

Sin Osio Stn wan r As:scam:4ml

Maas. Igedol Din Ibsen

Mann (cid:9)

Wink tic

On NOV Sok (cid:9)

Yea cAu van cruyen

cn

Trang VIM

Mint

Them mai san phdm

Trang 55

'Wang 56

DO Pbfrc tap: QUAN Lir NHbM ICHACH HANG UC #0005

Chirc nAng nay cho phep nhan vien co the Het id, them, sfra, x6a nhom khach hang trong he thong. ,.. (cid:9) .

Tic :nhiln

0, 8ie

. A Tien Phil (tang nhap vao he thong va co quyen thao the tren chirc nAng nay tnrgc khi bat dAu UseCase.

etirthh Nhan vien khV Khong co. utien --. -2 .:

Ca so du lieu se duce thay d61.

ding

Effiu (lien hien

Tinh trong he thong se khOng thay dOi.

1D4C Tioutrc NANG

L_ uang sir Weil chthh/Kich ban chfnh

1. Chat nang bit dAu khi nhan vien muOn them, sib., xga nh6m khach hang. 2. He thong you eau nhan vien xic djnh chirc nAng ma hg muon thgc hien.

- Neu nha'n vien chgn "Them nhom Mich hang" thi luting con "Them nhom

khdch hang" se dtrgc thgc thi.

- Neu 'than vien chgn "Cap nhat nhom khdch hang" thi luting con "Cap nhat

nhdm khdch hang" se duce thgc thi.

- Neu nhan vien chgn "Ma them khdch hang" thi luting con "Xda Wham

Mulch hang" se dirge thgc thi.

Them nhom khach hang

1. He thong you cau nhan vien nhap thong tin ve idiom khach hang bao gem:

- Ten nhom khach hang - MO to - SO diem tham gia vao nhom

2. Khi nhan vien cung cap cac yeu cau ye nhOm khach hang. He thong se sinh ra ma duy nhat dm nh6m khach hang va nhom khach hang do se dirge them vao he thOng.

C#p nkit nhom khich hang

1. He thong hien thi danh sach cac !thorn khach hang. 2. Nhan vien chgn nh6m khach hang ma minh main cap nhat. 3. He th8ng truy xuat va hien thi th8ng tin ve ahem ngutti thing do. 4. Nhan vien situ thong tin ve nhom khach hang do. 5. Sau khi nhan vien cap nhat th6ng tin ye nhom khach hang, he thong se cop that

lai thong tin ye nhom khach hang do trong he th8ng.

X6a nhom khieh hang

L He thong hien thi danh sach cac them khach hang.

Trang 57

2. Nhin vien chip nhom khkh hang ml nth muon x6a va chin x6a nhom Ichich

hing..

3. He th6ng dua ra de nghi xac nhin x6a nh6m khkh hang. 4. NhAn vien xac thin vi'ec x6a nhom khach hang. He thOng se x6a nhom khach

hang d6 ra khoi he thOng.

Luang sy Oen' phi t sinhaCich bin phit Sink

- Neu ten nhom khich hang di tan tqi thi Whom khich hang do khong duqc

them vao he' thong.

- Neu din tai khach hang thuk thorn khich hang 46, thi 'thorn khach hang

kh6ng dtrqc x6a.

Cic yen c n..dic biet khic Trinh duyet phii hii trq Javascript -.* Giao din iunh hqa Cac giao din nay chi co rrinc dich minh hqa de cho ngutri dqc a clang hiEu hcrn ve he thong,

se (cid:9)

-

0 (cid:9)

Detail (cid:9)

5 (cid:9)

giao din thqc to co the duqc thay dOi mot phAn nio 46

Mk anli (cid:9)

1600 (cid:9)

tattm Which I•arg Wan cutup (cid:9)

Km Cacmg (cid:9)

4 (cid:9)

600 (cid:9)

N1,em khldi hang dog (cid:9)

3 (cid:9)

Bong (cid:9)

Ka (cid:9)

?Morn 1.14:, nirg bac (cid:9)

Bac (cid:9)

2 (cid:9)

1000 (cid:9)

1 (cid:9)

yang (cid:9)

?Wan illach hing van (cid:9)

* X * * 0

% (cid:9) % (cid:9) % (cid:9) • (cid:9) % (cid:9)

Giao dien qucin 5, nhom khdch hang

Trang 58

Ten nhom khcich hang

MO to

SO Lem Mom QuavaoMwm

1

Them moi nh6m khOch king

Trang 59

X6a nh6m Ichhch hhng

D8' phric tap: QUAN Li? 1CHACH HANG UC #00(6

M8 tat- Chirc nang nay cho phip Strut vien co the liet ke, them, sera, x6a khach hang trong he thong.

Chinh Nhan vien

Tic nhan P4hy Khong co.

Phil ding nhap vio he thiing va c6 guy& thao tic tren chirc ning nay tnrac khi bit &Au UseCase. Tien diet r 1 . (cid:9)

Ca sec dtt lieu se dugc thay dOi.

'11111111 i gag rz i Tinh trang he thong se khong thay dOi. fis --=-P dien Wen

*4

DAC Ti CHUC NANG .c- Luling snien chInh/Kich bin chinh

1. Chirc nang bit dAu khi nhan vien muOn them, sirs, x6a khich hang. 2. He th8ng you cAu nhan via xac dinh chirc nang ma ho muon thvc hien.

- Neu nhan vien chon "Them khdch hang" thi luting con "Them khdch hang"

se dugc thvc thi.

- Neu !than vien chon "C4p nh#t khdch hang" thi luting con "C', nh(it khdch

king" se duqc thvc thi.

- Neu nhan vien chon "Xda khdch hang" thi luting con "Mkt Mulch hang" se

dugc thvc thi. Chat ning them khich hing

1. He thOng yeu du nhan vien nhOp thong tin ve nh6m khach hang bao gam:

- SO dien thoai - Mit khlu - Trang thai - Ten ding nhalp (cid:9) - HQ ten (cid:9) - Email (cid:9)

- NhOm khach hang: Chcon tar danh mvc co truac

Ngoai ra nhfut vien phai cap nhOt them dia chi von chuyen clia khach hang de lien giao nhOn bao gem:

- (cid:9) Dia chi - Thanh pho - Quon huyen

2. Khi nhan vien cung cap cac you cAu Nit khilch hang. He thong se sinh ra ma duy

nhit dm khach hang va khich hang d6 se dugc them vao he tilling.

Chirc ning yip nhit khich hang

1. He thong hien thi danh sach cac khach hang. 2. Nhan vien chon khich hang ma minh muOin calf) nhOt. 3. He thong truy xuat va hien thi thong tin ye khach hang do.

Trang 60

4. Nhan vien cap nhat thong tin ve khach hang de. 5. Sau khi nhan vien cap nhat thong tin ve khach hang, he thong se cap that lai

thong tin ve khach hang d6 trong he tilting.

Chic. rang x6a khich hang (cid:9) .

khOi he thong.

I. He thong hien thi danh sach cac khach hang. 2. Nhan vien chon khach hang ma minh muon x6a va chi:xi x6a khach hang. 3. He thong dua ra de nghi xac nhan x6a khach hang. 4. Nhan vien the nhan viec x6a khach hang. He thong se xna khach hang de ra

Neu email vi ten ding nhap da c6 trong he tilting thi he thing se hien thi thong bao 18i de nhan vien nhap lai.

Lubng str)den phit sinh/Kich bin phit shah

Cie yen cAu -dtic brit khic

Trinh duyet phai 118 trq Javascript

93 (cid:9)

...

cape asss@nd ca, (cid:9)

1 (cid:9)

*

Sn ey (cid:9)

11 (cid:9)

Mk mn (cid:9)

...re (cid:9)

Giao dit'kminh him Cac giao dien nay chi cif) time dich mink hoa de cho ngtred due de ding bleu km ve he thong, giao dien thic to cif) the duqc thay 461 mOt phin nio d6

Giao dien span 135 Mach hang

Trang 61

Thong tin Mulch Wong (cid:9)

Ofs di 4n churin

Tan Map Whip'. (cid:9)

!hada(

113Ci %van Hii

Ho I ton: (cid:9)

Nham Mulch hang: (cid:9)

1 Mk QM • ,

E-Mai: (cid:9)

rhataegmad tom

thin Most (cid:9)

10125793849

MO khiu:

Nh#p lai m#t Wu:

Twig UAL (cid:9)

i Enabled •

Them mol khlich king

Xoa khcich hirng

Trang 62

UC #000

QUAN Li? DON HANG

DO phirc tap:

M8 tit . , (cid:9)

Chirc nang nay cho phop ngutri co the het ke, xem don hang chi tiet, in don hang, xia dan hang, phin h6i don hang, va girl mail thong bao cho khach hang trong he thing. r.,_ -,

Nhan vien _

Tic thin

PuLg Khong co.

A (cid:9)

04 (cid:9) 4

Tien lieu Mien

Phil Sing nhap vao he th6ng va c6 quyen thao tic tren chat nen nay trutrc khi bit din UseCase.

A • Co so de lieu se dugc thay dm.

*ph c

1n. diet ki§n Tinh trang he th6ng se ;thong thay d6i.

DAC TA. CHITC NANG ,

Luling sv Mid n cbinh/Kich bin chinh

1. Chirc neng nay bit du khi ngutri quan 12 mulm liet ke, xem, in va x6a don hang. 2. He th6ng you au ngutri nhan vien xic (firth chirc nang muon thgc hien.

- Neu nhan vien chgn "Xem don hdng" thi luting con "Xem dun hang" se dugc

thgc thi.

- Neu nhan vien chgn "In don hdng" thi luting con "In don hang" se dugc

thgc thi.

- Neu nhan vien chgn "Xda den hdng" thi luting con "%6a dan hang" se dugc

thkrc thi.

- Neu nhan vien chgn "Plidn hik vi den hang" thi luting con "Phan hid dm,

hang" se dugc thgc thi.

- Neu ngtari quail 15, chgn "Mail" thi !ding con "Mai/"se dugc thkrc thi.

Chat Wing xem dun hing A (cid:9)

• X

1. He thong hien thj danh sach cac don hang de co trong he thong. 2. Nhan vien chop hea don ma minh muen xem chi tiet hoc hinh thfrc thanh town

hoc muen cep nhat lich sir dm don hang.

3. He Outing hien thj th6ng tin vie don hang ma nhfin vien vim chgn. 4. Nhan vien xem chi tiet dan hang, hinh thirc thanh town va chgn trang thai mutm

cap that cia don hang trong ljch se don hang. Trang thai cila dan hang: + Cancel: Kh8ng chip nhin dam hang. + Pending: Dang xir 1. + Complete: Floan thanh.

5. Neu nhan vien chgn cap nhat trang thai ctia dam hang. (cid:9) .

+ Nhan vien quan 1S, cO the gei mail cho khach hang de th8ng bao ve trang

Trang 63

thai dun hang vira cAp nhjt hoc !thong ve chin "Add History" de them twig thai don hang vao lich sir dun hang

+ Sau khi cAp rihtlt trang thai dm dun hang, heethang se thay dOi trang thai

efts dun hang. . (cid:9) • 6. Neu than vien chqn them diem tinning cho khach hang (neu co).

+ He thong se cAp nhot diem thutng cho khich hang clang thiri gin mail lining

bao cho khach hang.

Chirc ning x62 dun Ming

1. He thong hien thj dank sach cac dun hang co sin trong he tilting. 2. Nlian-vien chip dun hang mutin x6a 3. He thOng xac nhan Iai you cau muan x6a cita than vien, neu nhan vien clang 9 x6a, he thong se xic dinh va xoa cac thong tin ve don hang da trong he thong.

Choy ning phin hal ve den hing

1. He thOng hien till dank sach cac phin hed ve dun hang. 2. Nhan vien chqn dun hang muan phan hai. 3. He thong truy xuAt va hien nil thong tin ve don hang bao gam chi tiet ve phan

h6i, Ten san phAm, Ly do phan hal va lich sir

4. Sau khi nhan vien chon trang thai va ly do de phan heti cho khach hang, he

thong se giri mail va thong bao cho khach hang hitt.

Lueng Eqr k n phit sinh/Kich bin phoit sink

Cie yen a iitic Wit khic

,

Trinh duyet phai 116 trq Javascript.

`, Gino then mush hut

,?

Cac giao then nay chi co num dich minh hop de cho ngued dqc de clang hieu hun ve he thong, giao dien thqc to co the dugs thay &Si mat phin nao do

EMI

38 (cid:9)

Ngirs in Bio Mug (cid:9)

ircN (cid:9)

C4.%2013 (cid:9)

89.152013 (cid:9)

Si (cid:9)

4 (cid:9)

5 (cid:9)

*

35 (cid:9)

MgMn %to itng (cid:9)

4empge (cid:9)

S•6 (cid:9)

851362013 (cid:9)

C9)(8.42313 (cid:9)

5 (cid:9)

5 (cid:9)

*

Ciao dien Quin III don himg

Trang 64

1111=1

De telt clan111mo

Tag Ms doe Sid MINI

Ceasese (cid:9)

IS trim Ited Se (cid:9)

HMV go be6 Ma (cid:9)

Math wart

Co

Pending (cid:9)

06/08/2013 (cid:9)

Yen dwell

Successfully i (cid:9)

Cd

Compete (cid:9)

09,1162013 (cid:9)

Sir phSet

weep thin NN Oen (cid:9)

C reP101;"

tech s:t don Nine

q

Thong We so etch Meg (cid:9)

Commeet

0E107)2013

Wein eh, weep

108 (cid:9)

05;07,2013

femme tM cueng

99 (cid:9)

05107:2013

Nguyen Cle Coong

90 (cid:9)

27:96:2013

15

Nitt)in Up Temp

Complete

95 (cid:9)

27)064013

Pipeclay

112 0001

St (cid:9)

Nye* Dee Tema

Xem don himg

Xcia don hang

0170712013

01/07/2013

(cid:9) (cid:9) (cid:9) (cid:9)

GI

100

try

280)92013

280064013

Do tit It

Pept•rn cm cvave NOryin

7

PSI

se

(cid:9) (cid:9) (cid:9) (cid:9) (cid:9) (cid:9)

[rang 65

Giao can danh scich phem hal don hang

San phial (cid:9)

Lich se

Chi Oit phin (cid:9)

Way No do Mich Map

1100 flat OS WM (cid:9)

Comic (cid:9)

11100 tam pkimuS (cid:9)

ca

DI a) Pi (cid:9)

GUI ining (cid:9)

01/07/2013 (cid:9)

:MeV

imp this phis hit (cid:9)

Thong bio ch. WW1 kilt

Chi tilt vJ phim hal don hang

Trang 66

QUAN Li? COUPON DO phut tint: , UC #00011

Mb ti Chirc nAng nay cho phdp than vien co the liet ke, them, sua, xoa, xem lich sir Coupon trong he thong.

Tic nhan COInO Nhan vien p6 Khong e6.

A (cid:9)

.A (cid:9)

:4 lieu eu kien 1.-

Phil ding tulip Nilo he thong va co quyen thao the tren chirc fling nay truck khi bit dAu UseCase.

t cling

Ca so du lieu se &me thay d6i.

}JO dieu hien

i Tinh tang he thong se ;thong thay dig.

D*C TA Clink NANG I (cid:9) - (cid:9) ' Luong sy kin chinh/Kich bin chink

1. Chirc nAng bit dau khi nhan vien mu& them, sirs, x6a, xem lich sir coupon. 2. He thong you au nhan vien xac dinh chirc rang ma ho mueon thqc hien.

- Neu titian vien chgn "Them coupon" thi luiing con "Them coupon" se dirge

thue thi.

- Neu nhan vien chgn "Sea coupon" thi luting con "Sky coupon" se dirge duly

thi.

- Neu nhan vien chgn "Xem lick sir coupon" thi lung con "Xem lich sir

coupon" se duqc thut thi.

- Neu nhAn vien chip "X6a coupon" thi 1u6ng con "X6a coupon" se duqc thgc

thi.

Chtit fling them coupon

1. He thong yeu au nhan vien nhap thong tin ve coupon bao Om:

- Ten coupon. - Md coupon - Loai coupon ( 2 loci: phin tram, trir tiers) - Discount (Liam gia theo phin tram hoc trir tiers) - Total Amount (Dieu kien de sir dung Coupon) - Yeu au login - Ap dung cho sin phalli - Ap dung cho danh muc sin phern - Ngay bit du - Ngay ket thiic - (cid:9) So Mn sir dung tell da - SO Mn sir dung tai da dm 1 khach hang - Trang thai

2. Khi nhan vien cung cap cac yeu au ve coupon. He thong se sinh ra ma duy

Trang 67

nhat Gila coupon va coupon d6 se duqc them vao he thOng

(cid:9) (cid:9)

Char Laing cap nhet coupon

1. He thong hien thi danh sach cac coupon. 2. Nhan vien chin coupon ma minh main clap nhat. 3. He thOng truy xuat va hien thi thong tin ve coupon d6. 4. Nhan vien sira thong tin ve coupon d6. 5. Sau khi nhan vien cap nhat thong tin ve coupon, he thong se 4p nhat lai th8ng

tin ve coupon 46 trong hO thong.

Chat nAng xem lich sir coupon

1. He thong hien thi danh sach cac coupon. 2. Nhan vien chon coupon ma mirth mu& xem lich sir. 3. He thOng truy xuat va hien thi thong tin ve lich sir coupon do. Bao gem:

- Ma hea don - Khach hang - TOng tien di:cm giam gia - Ngay sir clung

Chat nAng x6a coupon

1. He thting hien thi danh sach cac coupon. 2. Nhan vien chip coupon ma minh mtkin x6a va chip x6a coupon. 3. He th8ng dua ra de nghi xac nhan x6a coupon. 4. Nhan vien xic nhan viec x6a coupon. He thOng se x6a coupon 46 ra khoi he

th8ng.

,

*

Luang sky Wu ,plOtsiiiiIVICich ban phAisinh -- CAC yei ati*e ' his Ichie ,... (cid:9) Trinh duyet phai h8 try Javascript ... (cid:9) Ohio

. ' diets niOnh ho

Cite giao Bien nay chi co muc dich mirth hoa de cho nguM doc de ding hien hem ve he th8ng, giao dien thus to co the &roc thay dOi mOt phan nao d6

IIIIIIIIIIINIMSIIIIIIIIMNMIIIIIIIMIINIIII- I

en

1234 (cid:9)

Trtr 200 (cid:9)

20% (cid:9)

00000-00 (cid:9)

000000-00 (cid:9)

Hk6 IN (cid:9)

1.4. (cid:9)

% (cid:9)

U

Tru 130000 (cid:9)

0001 (cid:9)

101305-01 (cid:9)

201106 31 (cid:9)

Niin IN (cid:9)

% (cid:9)

% (cid:9)

*

Tr0 150000 (cid:9)

0101 (cid:9)

1090002 (cid:9)

2013 00-02 (cid:9)

V1304-31 (cid:9)

7 (cid:9)

‘ (cid:9)

#

H." tht (cid:9)

I'm 10000 (cid:9)

1111 (cid:9)

IRMN (cid:9)

2 013 0 01

:010 00. 31 (cid:9)

ni•i. NI (cid:9)

n (cid:9)

1212 (cid:9)

Gia.n pi 04. Mtn (cid:9)

10000 (cid:9)

2014-02-01 (cid:9)

101:N.10 (cid:9)

Han NI (cid:9)

% (cid:9)

Nt (cid:9) S. (cid:9)

* #

1172 (cid:9)

GA, gii W4 (cid:9)

v.. (cid:9)

3014-<-0: (cid:9)

20!4 021L (cid:9)

% (cid:9)

% (cid:9)

*

(cid:9)

Mill chi (cid:9)

Giao dien quern 1)2 coupon

Trang 68

Ten coupon

Coupon code

12.:

, Loal coupon

I noir

Discount rGilm pie then philn trim hoio trir tient

125-xpa

Total Amount Maul in4n don gni lam hon thi meo sir dung &roc Coupon)

ICOLCCO

Yeu du login

rci • 1 Ap dung oho sin phAm C Autocomplete)

Ap clung cna Owen ( -nue r Autocompfete)

Ngiy bet diu

ugly ket mac

sA lan sir dung teida

Se lAn sU, dung toi da caa rr t Mach hang

Trang thai

I rutleu •

_ •

Trang 69

Them mai coupon

00004000

TN 200

20% (cid:9)

01:03410-00

¤

mi. dil

1234

Wang yin localhon cho bift

¤ ¤

Ni

6-31

Trio, 100000

0001

% (cid:9)

#

Din in chic crdn min sd

min dii

6-31

Tr, 100000

0101

%

% (cid:9)

It

6-31

144 (cid:9)

Mein

Th. 10000

1111

°K

2014-02-19

1212

Gum ga dig lam

100309 (cid:9)

2014 02-01

won chi

2014-01-Z0

Ham 01

S

S (cid:9)

1122

Gam g4 10%

10K (cid:9)

2014-02-01

#

Xoa coupon

Trang 70

GUI MAIL

DO pink tap: , IX #000e

M6 ti,

Chirc tiling nay cho phep than vien quan lY giri mail'elen khach hang nhim moc dich marketing hoitc thong bao cho khach hang biet cac chucmg trinh khuyen mai.

Chink' Nhan vien

Tic nbin y Khong c6.

Tien diet! (cid:9)

e

Phai dang nhOp vac 0 th6ng va c6 quyen thao tic tren chirc nang nay fru& khi bat dau UseCase.

Th611 IChich hang se !thin duqc email cult nhan vien gin.

HA --,- 11 dien idea i^ Tinh trong 0 thiing se khOng thay d6i.

DAC TA Cffilt NANG

Luang sw On chinh/Kich bin chink

Chirc nang nay bit du khi nhan vien mu6n giri mail den khich hang. Nhin vien chip "Mail" thl luting con "Mail' se time thi. Mail HO th6ng yeu eau nhan vien nhap tieu de, nOi dung vi chin nham ma mu6n gun bao grim:

- Tat ca khich hang. - NhUng ngirei theo deli - Nh6m khach hang - Khach hang - Khach hang co sin pham

Nhin vien soon thu va nhin gui, 0 thong se giri den khach hang ma nhan vien do mong muon. Luang sir Men phit sinh/Kfch bin phit sink

Cie yeu cittdic bift•Mule

Trinh duyOt phai hiS trq Javascript.

..,

Giao dien midi hya Cac giao din nay chi có mgc dich minh hqa a cho ngired doc cle clang hieu hon va N thong, giao diOn dux to co the duqc thay diii mOt phan nao do

Trang 71

aing ty nth Thing Long

Bin

MP, Mich bins

Kan Cutup • 1

Tiiu a

'Ting Phan Vim

Bon MM &roc Capon Or pi 1212

Igi non tic sin chiro aich pic knoll

Gil mail cho khach hang

Trang 72

QUAN LI? LOAI TIN Tilt DO phtic tap: UC #ffillit , ti

M8 tit Chic nang nay cho phep than vien co the bet ke, them, sin, Vat logi tin tic trong he th8ng.

Tic Rhin Ckthh Nhan vier). rig Khong co. . , (cid:9)

Tian dial' limn Phai (tang nh$p vao he th6ng va co quyen thao tk tren chirc nang nay truerc khi bit dAu UseCase.

Ca se. du lieu se dugc thay d6i. hiih —T )At eeng

LTA ---ru dieu 144 Tinh trong he th8ng se khong thay d6i.

DAC TA CHUG NANG

Luang sy !den hinh/Kich ban chinh ,

3. Chic nang bat dAu khi nhan vien muOn them, sera, xela loci tin tic. 4. He th6ng yeu cAu nhan vien xac dinh chit nang ma ho mutm thwc hien.

- Neu than vien chon "Them loai tin tar" thi luting con "Them logi tin tar" se

dugc thvc thi.

- Neu When vien chon "C#p Wen logi tin tar" thi !ding con "Cap shill logi tin

tar" se dugc Ow thi.

- Neu than vien chon "Ma logi tin tar" thi luting con "Xda logi tin tar" se

dirge thwe thi. Chit nang them Ioai tin tar

3. He thong you cau nhan vien nhOp th6ng tin ve Ioai tin tic bao Om:

- (cid:9) Ten Ioai tin tic. - TM': tw. - Trang thai

4. Khi than vien cung cap ck you cAu ye loai tin t6c. He th6ng se sinh ra ma duy

nhAt oh !owl tin tic va loai tin tic de se dugc them vao he th6ng

Chile nang cap nhilt lo3i tin tic

4. He thOng hien thi danh sach cdc loai tin tit. 5. Nhan vien chon loai tin tire ma minh mutin cop nhgt. 6. He thong truy xuat va hien thi thong tin ye tool tin tic do. 7. NhAn vien sira thong tin ve loai tin tire do. 8. Sau khi nhAn vien cAp nhAt thong tin ve Ioai tin tire, he thong se cap nhAt lai

thong tin ve loai tin tire d6 trong he thong.

Chic nang atia lofi tin hem

5. He thong hien thi danh sach cac Ioai tin tic. 6. Nhan vien chon loai tin tic ma minh muon xert va chon xea Ioai tin tic.

Trang 73

7. He thong dua ra de nghj xac nhan x6a loai tin tire. 8. Nhan vien xac nhan viec x6a loai tin gm He' thong se x6a loai tin tire d6 ra khOi

he thong.

Luang sir Idtn phOt sinhilKich bin Phatoll*: .. -Clic yen eitdOe hitt hhic Trinh duyet phii ha trq Javascript

ciao dicta minh hqa

se (cid:9) .

Cac giao dien nay chi c6 mpc dich minh hpa de cho nguiri dgc de clang hien hcrn ve he thong, giao dien thpc to c6 the dugc thay dal mgt phan nao d6

6 (cid:9)

Gm MM phi tinh (cid:9)

cam Son ph* AM (cid:9)

99

Unable (cid:9)

• (cid:9)

*

5 (cid:9)

Kin thtrc (cid:9)

luenatt (cid:9)

93 (cid:9)

Unable (cid:9)

• (cid:9)

X

1 (cid:9)

So' kW (cid:9)

sute, (cid:9)

Unable (cid:9)

• (cid:9)

X

99 (cid:9)

? (cid:9)

aim ;kb (cid:9)

?em Loch (cid:9)

Unable (cid:9)

• (cid:9)

#

99 (cid:9)

2 (cid:9)

Chen clung (cid:9)

den clung (cid:9)

Unable (cid:9)

• (cid:9)

99 (cid:9)

*

1 (cid:9)

wool hoot (cid:9)

Van hot ge: (cid:9)

6 (cid:9)

Unable (cid:9)

Ciao dien gutin If? logi tin tar

Ten loai bn luc

lieu de khang gin

Ilati tg

J

FT-

Trang that i Jilin on (cid:9)

;1

Them mai logi tin tzir

Trang 74

Trang 75

UC #001I QUAN LY TIN Tit

DO phtic tap:

1118 hi' . Chic ;tang nay cho phep nhan vien co the het ke, them, sift, xia tin tic trong he thong.

C (cid:9)

Tic

h Nhan vien

nhan

Phy ,

IChong co.

Tien-dien kiln hP ai dang nhap vao he thOng va co quyen thao tac tren chic nang nay truic khi bit du UseCase.

Ca si di lieu se duqc thay deli.

Tliknh ,.- c8Pg 12 Hsu datt kifn Tinh trang he thOng se khong thay Mi.

134C TA ClitiC NANG

Luang sw kiln chinh/Kich bin chinh

1. Chic nang bat dell khi nhan vien main them, sia, x6a tin tic. 2. He tilting yen au nhan vien 'tic dinh chit nang ma hq mu& thwc hien.

- Neu nhan vien chqn "Them tin Mr" thi luting con "Them tin Mr" se duqc

thwe thi.

- Neu nhan vien chqn "Cip nit& tin ter" thi luting con "Cp‘p nhPt tin ter" se

duqc thwc thi.

- Neu nhan vien chon "X& tin Mr" thi Wang con "Xda fin Mr" se duce thwc

thi.

Chic Ming them tin tic

1. He thong yen au nhan vien nh#p thong tin ve tin tire bao gem:

- Trang thai - Tin not bAt

- Tien de (cid:9) - Hinh anh (cid:9) - NOi dung

- Loai tin tic: Chen ti danh mwc co truck

2. Khi nhan vien cung cap cac yeu cAu ve tin tut. He thong se sinh ra ma duy nhat

dm tin tic vi tin tire di se dtrqc them vao he thting

Chic ning cap nh#t tin tic

1. He thong hien tin danh theft cac tin tic. 2. Nhan vien chop tin tic ma minh muan cap nhat. 3. He thong truy xuAt va hien thi thong tin ve tin tic di. 4. Nhan vien sia th6ng tin ve tin tic do. 5. Sau khi nhan vien cap nhat thong tin ve tin tire, he thong se cap nhat lai thong

tin ve tin tic di trong he thong.

Chic thing x6a tin tic

I. He th8ng hien tin danh sach cac tin tic.

Trang 76

2. Nhin vien chon tin tirc ma minh muOn x6a vi chon x6a tin tirc. 3. He thong dua ra de nghj xic nifin x6a tin tirc. 4. Nhin vien xic nhin viec x6a tin hie. He th8ng se x6a tin Mc d6 ra Idled he

thong.

Luang sty lain phit sinh/Kjch bin Omit Snit

Cic yincalitic Met kbic

Trinh duyet phii hii trq Javascript

, - iii}. Giao then mink boa

A

giao dien nay chi co rime dich minh hoa de cho ngutri doe de" ding hieu hem ve he

Ck th8ng, giao dien thuc to c6 the dirge thay dOi mOt phanA (cid:9) nao d6

is, of tint-g rt. (cid:9)

10 On" (cid:9)

' Min dq (cid:9)

MI

61u Of

PUtdog (cid:9)

0 (cid:9)

19

SI (cid:9)

a

I S

IIII

!Yin tly (cid:9)

Co (cid:9)

0 (cid:9)

AliFT SG 4-? K ..6 Chi eh/lops, 66.1 pow (cid:9)

S. (cid:9)

a

¤

17

Elle

1Ydn 0.1 (cid:9)

Co (cid:9)

0 (cid:9)

vamps Dd. earl Ho to Inten ON 914p (cid:9)

a

up,

La Ong b6 MIS .8a 1ro 0.118n1 (cid:9)

Co (cid:9)

0 (cid:9)

16

So thi (cid:9)

'1/4 (cid:9)

a

Giao dien quizn If/ tin nit

Tlia 84

8361]48

frniog 8%., ,,8 a, 8868 — tc ...

Igil

c..,1,. n , .-

41- (cid:9) Q.

• (cid:9)

' W ko—Jekk-

1 F :: (cid:9)

XI, 0 - 8-81—e—Ve

SO (cid:9)

.-. (cid:9)

PC PIA7.941V6sitt.. Itsillr-Pni VC pileciNlynn Thick/4h

T•Id. ,24,4 COCNOSVT, WC,W11.."...geaaa;d494LTIMINnel"0 1-ieUS TIMeasedanal -,...0 lunar&

Vrfrung net Mititlipayin

Mon *I. Doan". ea**. of kg vein Hinfot Gin Sc ay tn..' sway Am Ts sa.nriniling Nor Snit stleg.

veal/A.1g

*op aka soo.0.488

coin ,moiiito -ni sr soft Chi ries. 3.48 thy ty Tool tam me '+4 sso onion ninn ciao oitIn

8,8o, Ni nhle 8.4, pie 8 a Go tooling Oa 8,81.1 He 8spna oottio as* bong two 81 Moo ac ‘401,681gro eta v4t out Oho 018 i no 1 88410.48 etio corn c/.

rot Mrk

1., 8,44 8t, to wne,,,,I8 smiled," is ml.

Lil.t.

,

•••r?

(cid:9)

Trang 77

Trang 78

CAO, THONG Kt B8 pilot tap: UC #001. .

Mo ti::`

Chic nang nay cho phep than vien co the xem bgio cao theo hoa don, the mua hang (coupon), lugt xem san phArn, luting mua san phtun, khach hang trong he thong.

Nhan vien

"s" Ithong co. Chlth ..., Pliy

' Tin dieu lien

Phii dang thip vie he thong vi co quyen thao tic tren chirc nang

a-, nay truck khi bit dau UseCase.

II h Ca so dtr lieu se dugc thay dei.

H#u ;diet' kien

L i

Tinh trong he then se khong thay d6i. , (cid:9)

1_,_, BAC TA CHIJC NANG ,.., , (cid:9) Luang str Men chinh/Kich bin chink

1. Chet nang bit dau khi nhan vien muOn xem bao cao theo hem don, coupon, loot

xem sin phAm, luting mua sin pham vi khach hang.

2. He thong you au than vien xac djnh chtic nang ma he muen thvc hien.

- Neu nhan vien chop "Hia dun" thi luting con "Xem brio coo hia don" se

duqc thtrc thi.

- Neu nhan vien chen "Coupon" thl !wing con "Xem brio cdo Coupon" se duet

thtgc thi.

- Neu than vien chen "Dept xem sin Aim" thi luting con "Xem brio cdo vi

luvt xem sin phdm" se dtrqc thwc thi.

- Neu than vien chip "Luymg mua sin Nairn" thi luting con "Xem brio ctio vi

luting mua sin Aim" se duqc dux thi.

- Neu nhan vien chen "Mack hang" thi lining con "Xem brio cdo vi Urea

king" se duet thtgc thi.

Hoa dot

1. H' tilting yeu cAu nh$p vi chen cac thong tin thong ke ve hoa don bao gem:

- Xem bao cao ve hoa don theo ngly/thing/nam. - Tinh trong hoa dam

2. Sau khi nhan vien chen ac thong tin can thief, he thong se hien thi thong tin ve

cac Ilea don trong he thong bao g8m:

- S6 hoa don - S6 san phim - (cid:9) Tong tien

Coupon

1. He thong yeu cau nhan vien nhip khoang theri gian muon xem bao cao ve

coupon

'hung 79

2. Sau khi nhan vien nhap khoang then gian ma minh ,muOn xem, he thOng se hien

thong ke ve cac coupon da c6 trong he thOng bao golll:

,

.

- Ten coupon (cid:9) - Ma coupon (cid:9) - S6 h6a don Icing tien - (cid:9) - Cop nh#t brut aem sin phAm

He thOng se hien thi thOng ke ve luct xem sin phAm bao gam: - Ten sin phAm - S6 lugt xem - Phan tram Luang bin sin phAm

1. He thong you eau nhan vien nh#p khoing then gian muOn xem bao cao ve Wong

ban sin phAm vi tinh trang hoa don.

2. Sau khi nhan vien nh#p khoing then gian minh maul xem vi tinh trong h6a

don, he thOng se hien thi thOng ke ve lirong mua sin phAm bao Om: - Ten sin pham - S6 lacing mua - Ring tier

Khich hing

1. He thOng you au nhan vien nh#p khoing theri gian muOn xem bao cao ve lugng

ban san phAm vi tinh trong h6a don.

2. Sau khi nhan vien nh#p khoang then gian minh muOn xem vi tinh tang hem

don, he thOng se hien thi thOng ke ve khach hang bao Om:

• •

A (cid:9)

- SO hem don - SO sin phAm - Tong Wen

- Ten khach hang (cid:9) - Email (cid:9) - Nhom khach hang (cid:9) - Trang thai

Luang sir lan phit sinh/Kich bin phit sink

i Cic you cau d§c biet khic

Trinh duyet phai ha trq Javascript.

, inh km

Ciao then (cid:9) Cac giao dien nay chi ceo mac Bich minh hga de cho ngtreri doc a ding hiau hon ve he thong, giao dien that to c6 the' dugc thay dai SA phan nio d6

Trang 80

Mom thee , (cid:9)

w (cid:9)

Tfr ngey 201307.01

06n nmly 20130741

Tht wing MS dot Al Stara Y' •

Sdaie 9Nim (cid:9)

Mai sie

(cid:9) (cid:9)

TY py (cid:9)

els ngly

s6 MEM.

Bcio coo va Ma don

Din why

TO 004

Teem* (cid:9)

y9 .141

MINA on (cid:9)

TM coupon (cid:9)

Mt maw.

Bcio coo va Coupon

Tie un pawn

fiGel MEE 1REN CAY (BIA G/1413) - PRAT HANH 62013

CLANG MI IL NO HOC Le G.40 • TAP 20 DON NHA06N TET

Ftlki LONG - PHAT HANN 161-2013

GONG ?A IL NO HCIC LE GAO - TAP 17 ONG TAO VE TRO1

JAME VA 04) BONG

LING IM & NO HOC LE GAO -TAP 26 RON RANG MOW LAN

SOU. SCREAMERS (M) THAN BAO TUT • TAP 3 (PLAT HAM 1011-2013)

Bcio coo va luto xem san phim

Se Mpg

TM911M

lin sin phial

NON KHOC TREN CAY (cid:9)

GUM) - PRAT HAG( 6-2013

191.000(

2

1101001

SOU. SCREAMERS (MY THAN BAD 1%)) • TAP 3 THAT MANN 10-01.2013)

2

70 OM

JAME VA ON BONG

PHA( LONG PHAT HAM/ 16-1-2013

1

613 0001

1

IS 01709

GONG MI S NO HOC LE GAO TAP ZO DON MA DON TET

1

10.0001

GING MI & NO HOC LE GAO -TAP 24 . RON RANG TRONG LAN

Bcio coo va lumg ban san pham

Trang 81

(cid:9)

TO may

Bin noky.

TIM hong hoi den AI MOMS

a

Tin Moth Mos (cid:9)

Ewell

IBMs kick hi/

trims thii

Si Ito& Moo

s6 Na pan

itooksia

commix 46590gmod can

Mic AM

Enoblod

3

3

3299004

Nguyen Chi Omni (cid:9)

lingoomdlegmoi cam

Mk Aril

Enabled

1

2

2/54000

119111111 (cid:9)

Nguyin BM Tsung (cid:9)

kangoOkligmo1 corn

Enabled

1

3

Mic dril

104 0004

Btio ccio ve thong tin khcich king

Trang 82

DO phirc tap: QUAN LY TIEN T$

UC #001 - ‘-'?;-: V

Moil Chirc nang nay cho phdp nhan vien c6 the liet ke, them mai, cap nhat, x6a thong tin ve loai tien te trong he thong.

Chiiih Nhan vien

ne

nkfin Pudi KhOng co.

Ti ien (lieu Wen Phai &lig nhap vao he thOng va ce quyen thao tac tren chat nang nay twee !chi bat d'au UseCase.

Ca s6 da lieu se duqc thay dOi.

h nh . et g

Mu dau

Tinh Um he thOng se kh6ng thay dei. kifn

• (cid:9) , - (cid:9) - I "-- BAC TA CIIVC NANG , (cid:9) ,.. Luling sy' IOU chinh/Kich ban chinh

1. Chat nang bat dau khi nhan vien mutin Ii@ ke, them mm, cap that, x6a thong

tin vetien te trong he thong.

2. He thong you eau nhan vien xac dinh chat nang ma ho muen thvc hien.

- Neu nhan vien chqn "Them mei tan ti— thi luting con "Them mei tan te" se

duqc thut thi.

- NM nhan vien chgn "CO nhia tan tr thi luting con "Clip nh4lt din tr' se

duqc thut thi.

- Neu nhan vien chqn "X& tan tr thi Luling con "Ma tan tar se duct thgc

thi.

Chat nang them mai tan 4

1. He thong yeu eau nhap thong tin ve tien te bao Om:

- (cid:9) Ten tien te (Currency Title) - Ma tien te (Currency Code) (Phai tuan theo ISO Code) - Bieu Ming trai (VD: Euro => E) - Bieu tugng phai (VD: US Dollar => $)

2. IChi !than vien cung cep cat thong tin ve tien te. He thong se quy dOi loai Wen to da theo tjf gia ngan hang Vietcombank theo Currency Code va sinh ra mgt ma duy &lit img vai loai tien te da va tien te da se dugc them vao he thong.

Chat nang gip nhjt tan 4

I. He thong hien thi dank sach cat loai ten te. 2. Nhan vien chqn loaf ien to mu6n Op nhat. 3. HO thong se truy xuat va hien thi thong tin cila loai tien to de 4. Nhan vien se cap nhat lai th8ng tin ve loai tien te do 5. Sau khi nhan vien cap nhat thong tin ve tien to da, he thOng se cap nhat lai

thong tin ve tien te d6 trong he thOng.

Chet nang x6a tien te

"Prang 83

1. He thong hien thj dank sach cac 'oil tien te. 2. Nhan vien chon !oil tien te mu6n x6a vi chop x6a tien te. 3. He titling dtra ra de nghj xac nhan x6a tien te. 4. Nhk vien xac nhan viec x6a den te. He thong se x6a Ioai then te do ra khei he

thring.

LOiing sv WOO Phat sinh/Kjch bin.phat sinh

Cic yew cittfiec ISO khic

Trinh duyet phii h6 trq javascript. Giao then Minh hop Cac giao dien nay chi c6 muc dich mirth hoa de cho ngutri doc di ding hieu han ve he tilting, giao dien time te c6 the duqc thay 461 met phin nio d6

V

50 (cid:9)

2013-0647 23 13 47

000003114 (cid:9)

GBP (cid:9)

4 (cid:9)

Pound (cid:9)

2313-06 2? 23 13 47 (cid:9)

009003652 (cid:9)

S (cid:9)

#

E-/4 (cid:9)

Euro (cid:9)

3 (cid:9)

2013063/23 1147 (cid:9)

0 0004756 (cid:9)

5 (cid:9)

USD (cid:9)

#

US Ueda: (cid:9)

2 (cid:9)

201347-04 20 64 49 (cid:9)

S (cid:9)

1 69000000 (cid:9)

IS

11"0 (cid:9)

Vleuunn Meg (cid:9)

I (cid:9)

Giao dien quan 135 tien te

Currency Title

Currency Code ( -currency code IAA' duoc vai:a tneo =sat)

_,E=

Bi4u kr 9 ng trai

171i6.0 ttrong 'lai

Trang thUi . i Hanel •

Them mid tien to

Trang

2013-0745 14 45 32

Palm'

2013-0745 14 45 32

Eon

3

X13 07 05 14 46 32

US Collar

2

2013-0705 14 45 32

1 00000000

Vietnam Oo*g

• • •

Xoa tan te.

Trang 85

(cid:9)

MUA HANG UG #0014 DO phut 4P:

Clare nang nay cho phep khach hang c6 the xem, clang ki thkih vien va mua hang

Khkh hang M8 ti-, - - - (cid:9) .1 Clgah .

Pin Khong c6. Tic ..L_ nhan

Phii truy cap vao he thOng vi c6 the (tang ki va mua hang tren he thong.

min aim lasn . (cid:9) - (cid:9)

-

li (cid:9)

' Co sir du lieu se duqc thay dOi.

..E7. !- e . (cid:9)

. (cid:9)

.

, (cid:9)

. (cid:9)

i (cid:9) ± Tinh tang he th6ng se khong thay dig.

Il#U ); . (cid:9) ;diet' , .kien -..; - E. 64;1ga -DAC TA Luang str Men clinic:n/1(kb bin chink .

1. Chirc nang bit dau khi khach hang muan mua hang tren he thiing. 2. He mua hang khach hang phai thvc hien cac chin nang ma hq muon: 3. Neu khach hang mu6n mua hang bang tai khoan. 4. Neu chua c6 tai khoan, khach hang chon clang Icy, luting con "Hang ki" se duce

thtrc thi.

5. Sau d6 clang nhOp vao he thOng, luting con "Dan Slap" se dtrqc thvc thi. 6. Sau khi dang nhOp, khach hang chop sin pham va thanh toan, luting con "Thanh

toan" se duqc thvc thi.

7. Neu khach hang khiong muOn mua hang bang tai khoan. Khach hang chon sin

pham va thanh toan, luting con Thanh toan se duce thqc thi.

Mull Ming khong co di khoin:

1. He thong hien thi danh sach cac sin pham. 2. Khich hang xem va chip mua sin pham. 3. He thOng hien thi th8ng ha° titp tpc mua hang hoac thanh toan. 'Neu khach

hang chqn Tiep We mua hang, thi quay tr6 ve buck 1 Cho fi: Tren man hinh hien thi thong bao khach hang co the cop nhk thong tin ve s6 luting sin pham duqc chqn. 4. Neu khach hang chqn Thanh toan. 5. 1-16 th6ng se chuyen den trang thanh toan vi you cau khach hang nhop thong tin

ve don hang: Ho vi ten (cid:9) Email

Dia chi (cid:9) SO dien thoai

MA xac nhan (cid:9) PhIrcmg thirc van chuyen

Trang 86

Hinh that thanh toan

Sau khi nhap xong hg thong hien thi thong tin ve don hang va yeu cau khach hang xac nh#n lai viec dit hang.

6. Sau khi xac nh(in lai dun hang. He thtmg se girl mail lai thong tin ve dun hang

de cho khach hang.

Must hang ding Si khoin.

1. Neu chua c6 tai khoan, khach hang chip ding ki. HG thOng hien thi thong tin

M#t MIL can ding ki: Ten ding nh#p (cid:9)

Email (cid:9) Ho vi ten

Dia chi nlion hang

Neu khich hang di co tai khoan be qua butc nay.

2. Khach hang chip ding nh#p, hg thOng yeu au khach hang nhap thong tin ding

nh#p. (Ten ding nh#p, M#t khau)

3. Sau khi khach hang ding nhap, khach hang xem vi chip san phAm 4. He thOng hien thi thong bio tiep tvc mua hang hoc thanh town. Neu khkh

hang clop Tiep toe mua hang, thi quay tree, ve bulk 1 Ch 4 f: Tren man hinh hien thi th8ng bao khach hang c6 the cap that thong tin ve so 1mpg sin phim duqc chin. 5. Neu khach hang chop Thanh town. 6. He thOng hien thi thong tin ve khach hang nhu di ding ki a tren, khach hang c6

the sira thong tin ve dun hang.

7. Sau khi nh#p xong he thOng hien thi thong tin ve dun hang vi yeu eau khach

hang xac nhk 1#i viec d#t hang.

8. Sau khi xac rilf#In lai dun hang. He tilting se gfri mail lai thong tin ve dun hang

do cho khach hang.

CM): Khich hang mua hang bang Si khoin sE dupe tich lily diem thuimg, vi sau nay c6 the ding diem thtnin da de mua hang vi htrfrng cic hinh thfrt khuyen mai.

Lung sty kik phit sinh/Kich bin phit Sinh1 - 4 Cic yea 40 dig hitt Ithic Trinh duyet phai hil trq javascript.

,

Giao die&n nk host - Cac giao dien nay chi co mvc dich minh hip de cho nguai doe de" clang hien han ve he tilting, giao dien thvc to co the dirk thay &Si mOt phAn nao d6

Trang 87

(cid:9)

Ohs aim. Se S .a amp b

III Bows,

TKHOIG DAY

c

Based

WWI .1411,1Amly Itm resepair ihp11,11$

1234017111

IS Hollow

hlange12501a0 con

II* 2 TO I 111 -

? (cid:9)

ab

IRAN ANN GONG OA

Giao din trang chzi

SANG KY

Thong tin tai khoin :

Ten clang nh5p: cuongnc (cid:9)

?Mt Id& 1, (cid:9)

NhOp (al mat khau:

(cid:9)

Cl I Cl (cid:9)I n

( 1 )

Email: lcuongnc.it659@gmail.corn

(Out khach phii nh$p chinh xac dia chi erne g de kich heat tai Man)

[me: rang - thu gpn]

Thong tin ca nhan, dia chi chuyin hang :

Ho ten: , NguyAn Van D

Dia chi nhen hang: Lai dr!

Tinh/Thanh phS. Ha NOi

Quan/Huyen/Phireng

Ba Dinh

Huy bo

Dang ki

Form clang ki till khoan

Trang 88

Form thing nikip

1( le

Trang 89

TWA TAT DON HANG

0**10•NoCkl

NWETCCMCIC CM,*

I*/

Okitil 1Thit t*r A tom °Omit CUCC*4

maw m j4 NANO

4k, 1146100.0stw, t (cid:9)

340)I

Sac. pa ins* i”

ma

0.. ace;

N' -

,t$PCIK••* cr,

DAM HNC

sAcH (cid:9)

4. — (cid:9)

I a in

.Th&NPra

• 0.4AwyPitIN *A (cid:9)

am lag ME I.! itoi

I ma

0'2'5/.71149'

6F41142

lii is. rfr A-

•,„

Giao dien thanh loan I

itai TAT ocni HAAG

;

:C . *" (cid:9)

Ala

%Nen* CAC CIO- +A CIO =AN au n't Lo et ar +Row maw cp..1/4 sC•4 YS Lopata t

t Atm p.n.+ •• 1.

Na

maim MSC tho awn&

RON:

5kl gY. ,eza (cid:9)

;•,';

Two “InaS. b.., lam Cr. rA-19•0 14r. 2.1154

ma"

41`f

Titian. Ain fin Cr. ph hing MAXI

20trn (cid:9)

rive. nano ',CI cal;

SACH IHEO DANH MIJC

Kona* (cid:9)

OP.*

Him nak num. n

INN (cid:9)

Sh 10•1

Gee hbv. an

Q (cid:9)

troal auk tea Imeg sou '7

4 'gyps, 1

COUPON

• Sa dung ml CP•PP gam AP

Ciao dien thanh loan 2

Trang 90

TOM TAT WIC n414

CVeCTCUt CAC et

Co my. (cid:9)

:0" stccl-

S (cid:9)

MCP

'411CSC 7Citt a./ .0 II 0111-4.1nd CONN o.te tre um ma

r

ikf MACON OAT 14:ANG

41J6 Ctell.batAT

17

gore 0

-ea. an LAM

Lc* On ea (cid:9)

c

n••: (cid:9)

rom rens COMM

LICK 7140 tom INJC

n

SS dm. (cid:9)

PeoM?

duos Iwo

elvk a?. le•Al

-him=

GEM TPA (cid:9)

Diia HANG

eta If cs-Cr c;, :A: ac - aa seme Ota r 6: •41.

UGC (cid:9)

,Cmc

•ro. :Cum :4: 14.4 y (cid:9)

CV:

TC_ CC :VI tire' (cid:9)

51=3/ (cid:9)

11=3

cc ' (cid:9)

SC=2 (cid:9)

=CM

Frt!

Unj lin Nara MCC

PO 4, my. MCC

t

(cid:9) MINI

etlt tang

,+• (cid:9)

ft' •

Ciao dien xac nItan clan hang

Trang 9

(cid:9) (cid:9) (cid:9)

pang ty sach Thang Long

. _

Chi at hob don

hob don: 126

Ernst cuongnc.it659@gmail.com Diin thopt012151511491

ligby Mint 11/03/2014 Plurang that dank tan: Giao hang, Ova ban Phinng them 4n chuyin: Trin 20km

BO chi via MN&

Ein the Tu HO QuinniuyinfThi xi: Ba Dinh Think pax Ha N61

sin Slim

Gin (cid:9)

Ting

Si (cid:9) lar19

1 79.000d (cid:9)

79.000d

Si QUYET COA CAC CEO - 150 CEO TORN CAU TIET LO Bi MAT VE IONH DOANH, CUOC SONG VA LANH FAO

YELI DI DE CON CHIA TAY

1 55.0004 (cid:9)

55.0004

Sach glao khoa lap 1

1 50.0004 (cid:9)

50.0004

Ting tan hang: 194.0001

Phi Yin churl* 70.0004

Ting 56 den thank loin: 254.0004

Hoer don.

Trang 92

4.3. Tir Wen dit lieu

Trong mvc nay, chUng ta se dinh nghia cic truemg cim cac bang trong Ca so de

lieu cim Framework.

Bong ec categories: Thong tin ye danh mvc san phim

W.C.7.4,-

- 4 (cid:9)

71111%

1 (cid:9)

TT '4-

Cate_id

Primary key

5

Int

No

Cate_name

Unique

NVarchar

255

No

Cate_status

Default: 1

Tinylnt

1

No

Cate_order

Int

5

No

Cate_seo

Unique

Varchar

255

No

Cate_title

Varchar

255

No

Bang ec city: Thong tin ye Minh ph6và qua'n huyen trong he th6ng.

- (cid:9)

-' (cid:9)

,4 (cid:9) t-tin t ‘ (cid:9)

i --.41/1 (cid:9)

r -IX

• :' , 7 ' ' Ten t

,,..., (cid:9)

' N . • i_ -„,..,.-:.-

,

.,_1?"^ (cid:9) , s.- A'.

.15.1;t ?SKr i ::'„, ' - (cid:9) “:"-tit, t 440 ° i :re.

* (cid:9)

'Id .9. (cid:9)

- (cid:9) - (cid:9)

,„ (cid:9) lc (cid:9)

34, (cid:9)

, 4

City_id

Primary key

Int

11

No

City_name

255

NVarchar

No

City_parent

Default: 0

Int

11

No

thing ec coupon: Th6ng tin ye Coupon

Coupon_id

Primary key

Int

11

No

Name

255

NVarchar

No

Code

Varchar

10

No

Type

I

No

Tinylnt

Discount

Text

No

Logged

Tinylnt

1

No

Total

Text

Yes

Date start

Date

No

Date_end

Date

No

Uses total

Int

II

Yes

Uses_customer

Int

11

No

Date added

Datetime

No

Status

Tinylnt

I

No

thing ec coupon categories: Thong tin Coupon ap Ming cho danh mvc san pliant

Tin triiti,ng

Ghl chi

Kiitidii,lifti - Di} riing (cid:9)

,

, (cid:9)

at

Coupon_id

Primary key

Int

11

No

Trang 93

n

Pt, (cid:9) Chichi

n

Category_id

Primary key

Int

11

No

IT,-,-, ell

Coupon_history_id

Primary key

Int

11

No

No

Foreign key

Coupon_id

Int

II

Order_id

Int

11

No

Customer_id

Int

11

No

Amount

Text

No

Date added

Datetime

No

Bting ec coupon histor: Thong tin lich sir Coupon

Currency_id

Primary key

Int

11

No

Title

Varchar

32

No

Code

Varchar

3

No

Symbol_left

Varchar

12

Yes

Symbol_right

Varchar

12

Yes

Value

Float

15,8

No

Status

TinyInt

1

No

Date modified

0000-00-00

Datetime

No

Bong ec currency: Th8ng tin va tien

Customer_id

Primary key

Int

I I

No

Customer_name

Varchar

255

No

Customer_telephone

Varchar

32

Yes

Customer_password

Varchar

40

No

Customer_date_add

Datetime

No

Customer_group_id

5

Int

11

No

Customerfullname

Nvarchar

255

Yes

Customer activation code

Varchar

255

Yes

Customer active

0

TinyInt

I

No

Customer_image

Varchar

255

Yes

Customer_cart

Text

Yes

Customer wishlish

Text

Yes

Trang 94

Thing ec customer: Thong tin ve khach hang

2t

et

No

1

Tinylnt

1

Customer status

No

1

TinyInt

0

Customer newsletter

,

r . P---all '1

No

11

Int

Primary_key

Address_id

Yes

255

Nvarchar

Address name

Yes

Int

11

Foreign key

City_id

Yes

11

Int

Foreign key

District_id

No

11

Int

Foreign key

Customer_id

Bring ec customise address: Thong tin (tilt chi khach hang

•-•

al (cid:9)

..,

1

No

11

Int

Primary key

Customer_group_id

No

255

Nvarchar

Customer_group_name

Yes

Text

Customer_group_description

Bring ec custonter_group: Th8ng tin nhom khkh hang

No

11

Primary key

Int

Customer_reward_id

No

11

Foreign key

Int

Customer_id

No

11

Int

0

Customer order id

No

8

Int

Customer_points

No

Datetime

Customer date added

No

Text

Desciption

Bing ec customer reward: Th8ng tin diem tich luy dm khach hang

.

.

'

No

11

Primary key

Int

Supplier id

255

No

Varchar

Supplier name

20

No

Varchar

Supplier_phone

No

Text

Supplier_address

No

100

Varchar

Supplier_email

Bring ec manufacture: Th8ng tin nhi san auk

Being ec news: Thong tin ve tin Mc

,

Tea t+ig ,' al

,14411-#11.,

DO Ong* 11

No

Int

News_id

Primary key

No

Text

News title

Trang 95

laii. (cid:9)

t

*

-:

.

150

No

News_image

Varchar

No

Varchar

150

News_title_slug

No

Text

News content

No

Datetime

News created

No

I

News_status

Tinylnt

I

Tinylnt

I

No

0

News_highlight

No

I

News_counter

Int

11

150

No

Unique

News_seo

Varchar

150

No

Foreign

Newstype_seo

Varchar

(cid:9)

Bang ec news type: Thong tin Ioai tin tfrc.

0

.

' P (cid:9)

MEZtf

o c

.,

11

Primary key

Int

No

Newstype_id

150

No

Newstype_title

Varchar

Varchar

150

No

Newstype_seo

Unique

I

Newstype_status

Tinylnt

No

Int

No

Newstype_order

5

Bang ec order: Th8ng tin va hem don

t•

Ii114)

Order_id

Int

11

No

Primary key

Customer id

Int

11

No

Customer_group_id

Int

11

No

Fullname

Nvarchar

255

No

Email

Varchar

255

No

Telephone

Varchar

32

No

Payment_type

255

Varchar

No

Payment_code

Text

No

Shipping_method

Text

No

Shipping_code

Varchar

255

No

Comment

Text

Yes

Order_status_id

0

Int

I1

No

Date added

Datetime

No

Date modified

Datetime

Yes

Address_name

Text

No

City_id

Int

II

No

Trang 96

., (cid:9)

- ,,, <,, , (cid:9)-

- (cid:9)

: ••• (cid:9)

i (cid:9) -- (cid:9)

-

-0, (cid:9)

-',"--, (cid:9)

, (cid:9)

i- (cid:9) ? 1.- igeolaiiairyir, - Q•

-,..s.: - 4 (cid:9)

''''

No

., , t_ ..... -,...,41 WINO vue.,,, (cid:9) . ...„ (cid:9) , ---4.......-- (cid:9) 4k - --- Varchar

City_name

No

II

Int

District_id

No

100

Varchar

District name

No

Text

Total

11

No

Int

Currency_id

3

No

Varchar

Currency_code

No

15,8

Decimal

Currency_value

Yes

Varchar

255

Code Thing ec order history: Th8ng tin ye ich sir hea don

`

' (cid:9)

, (cid:9)

+ • (cid:9)

''''.. .. ri•INCe , (cid:9)

' (cid:9)

i' . (cid:9)

Are.

j' ' (cid:9)

'4-24. — • Weir at-

? - 4' II • '- .49. (cid:9) c f' (cid:9)

.

No

11

Int

Primary key

Order history_id

No

II

Int

Order_id

No

11

Int

Order_status_id

No

Datetime

Date_added

I

No

Tinylnt

Notify

Yes

Text

Comment

: --. (cid:9)

:L

,;,t,".1

'• 3,,,,i1 1.27-,r-i.4. (cid:9)

-cit

ri - .v :,.,

11

No

Int

, t, (cid:9) s - Primary key

Order_product_id

11

No

Int

Order_id

11

No

Int

Productd

No

255

Varchar

Name

11

No

Int

Quantity

No

Text

Price

No

Text

Total

11

No

Int

0

Reward

Yes

150

Varchar

Product_image

Thing ec order_product: Thong tin ye chi Wet him don

:t,,e-4 ii,•,(Itsdr•

- (cid:9)

.:-::

, (cid:9)

' (cid:9)

-,.:-= ... (cid:9)

1 I

No

Primary key

Int

Order_total_id

11

No

Int

Order_id

255

No

Varchar

Code

No

Text

Value

Trang 97

Bring ec order total: Thong tin chi tiet yE cac khoan cüa h6a don

- i 1 (cid:9)

en

:Ginn

-,..

Text

ak Varchar

255

No

11

Product_id

Primary key

Int

No

4

Product_quantity

1

Int

No

255

Product_img

Varchar

No

11

Product_manufacture_id

Int

Foreign key

No

Product_price

Text

No

1

Product_status

TinyInt

No

Product_pubblish

Datetime

No

Product modified

Datetime

No

11

1

Product viewed

Int

No

Product_cate_seo

Foreign key

150

Varchar

No

0

Product_highlight

TinyInt

1

No

1

1

Required_shipping

TinyInt

No

11

0

Product_points

Int

No

Being ec_product: Thong tin ye san pham

, ,

Bong ec_product description: Thong tin chi tiet vt san phalli s (cid:9) .-cst1/4:: t .4,2 Ghi 9_142a

1

Id

Primary key

Int

11

No

Product_id

Foreign key

Int

11

No

255

Product_name

Varchar

No

Product_ description

Text

No

Product title

Varchar

255

No

255

Product_seo

Varchar

No

.

,

.

ti

,

*9-

II

Product_discount_id

Primary key

Int

No

Product_id

11

Foreign key

Int

No

Customer_group_id

Foreign key

Int

11

No

Product_quantity

4

0

Int

No

Price

Text

No

Date_start

Date

No

Date_end

Date

No

Prang 98

Bing ec_product discount Thong tin yE giant gia san pham theo idiom khkh hang

(cid:9) (cid:9)

Bring ec_product reward: Thong tin ve diem ala sin phim.

' .1 (cid:9)

:21--ts

int - It

it'I T toe (cid:9)

4-1—.1) 1

,

, (cid:9)

4,11= _

No

II

Int

Product_reward_id

11

No

Int

Foreign key

Product_id

11

No

Int

Foreign key

Customer_group_id

No

4

Int

Points

4 (cid:9)

t'4•••‘,-.v2a

: c ,,,' • ":' (cid:9)

g: 2 : 4: •-• •-'2;v:P 'tti

"-:4-••

„ (cid:9)

V., JAiii , VW& (cid:9) Primary key

ile44-1:let ...f,,,,.:1,,L„:„,.4..:

'777:',.+: :7. (cid:9) 7';:',.-,,'',:; (cid:9)

,JAW".e&t.'

itral4'4 "tiA4%7..fci.(

No

II

_ VH':'N't.' (cid:9) Int

'.."

',NI' (cid:9) Primary key

Bdng ec_product special: Thong tin áp gii cho sin phim "sit;47:fet eiSi t74ga'4;.7, Product_special

No

11

Int

Foreign key

Product_id

No

11

Int

Foreign key

Customer_group_id

No

Text

Price

No

Date

Date_start

No

Date

Date_end

Bring ec user: Thong tin ngu&i dung

.... t_:....t &rt.

No

11

Int

Primary key

User Id

No

ii

Int

User_group id

No

20

Varchar

Usemame

No

40

Varchar

Password

Yes

255

Varchar

Fullname

Yes

40

Varchar

Code

No

I

Tinylnt

Status

No

Datetime

0000-00-00

Date_added

No

96

Varchar

Email

Bring ec user_group: Th8ng tin nhom ngtrOi dung

,-- - (cid:9)

.p.sEtai,-,

ils- 4 A-,

t

(cid:9)

1-7 It- IThyro, • Cc,'

14"(

t c...

..--.:,.. (cid:9)

,.•-,

No

11

Int

. :^3rtgprk 4 A (cid:9) Primary key

..•-%.,-...,s,,,,•„ ,, (cid:9) User_group_id

No

64

Varchar

Name

No

Text

Permission

4.4. My dyng the chic Jiang ctia Framework

ei nine nay chung ta se di vao vi8c cai dit cac chin näng cia h th6ng thuong

mai din tfr. Cac chive nit% cüa chang ta 0 Min theo cu trite mo hinh MVC.

Trang 99

4.4.1. Qudn nhom ngwoi thing

a. Model

Dutmg dim file:

+ Root/application/models/backend/usergroup_model.php.

Ten It

+ Usergroup_model.

_

'.

I~aottgYlf

int (cid:9)

v (cid:9)

GetUserGroups

No

Danh sach nhem ngtrtri dung,

AddUserGroup

Array()

Tri ve TRUE neu tao nhom ngtrbi dung Minh cong hoac FALSE neu that bai.

1

GetUserGroup

Int user_group_id

Tra ve nh6m nortri dung phi.' hgp yeti tham so truyen vao hoac FALSE neu kh6ng tim that'.

EditUsetGroup

Int user_group_id, array()

Tri ve TRUE neu cap nhap thong tin nhem ngtrbi dung thhnh cong hoac FALSE neu that btu

CheckExists

String name, int user_group_id

Trit ve TRUE neu tan tai nham ngueri dung pith hop veri tham sit) truyen via hoac FALSE neu kh8ng tim they.

Ten bang: ec_user_group.

b. View

- Throng din thu mcic chira cdc view:

:

, ,

,.

e -sx

List

Backend/user_permission

Trang nay cho phep hien thi vi tim kiem danh stitch nh6m ngtrtri dung

Insert

Trang nay cho phep them nhom ngutri clang.

Backend/user_permission/insert

Update

Backend/user_permission/update

Trang nay cho phep cop nhat thong tin nhem ngueri dung.

root/application/views/backend/user_permission. .4.A. (cid:9)

c. Controller

- Dutmg din file:

+ root/application/controllers/backend/user_permission.php.

- Ten lop:

,

huung that

+ User_permission.

M8 ti

Index

Phuang thirc nay Mac hien viec pi den phtrang thin GetUscrGroups trong Model ttrcmg (mg.

Trang 100

win. (cid:9)

..

- (cid:9)

viee got den phuong thtic AddUserGroup trong

Insert

Model Prong ung.

Update

Phuang thirc nay thuc hien yiec got den phutmg that GetUserGroup, EditUserGroup trong Model trong frog.

Phuang thac nay se goi den phtrcmg thirc CheckExists trong Model tuong (mg.

Checkname

Phuang thirc nay se dqrc hien vitt kiem tra quyen ngubi dung.

Validate

ti:

4.4.2. Quin 11, nguidi dung

Dtrang din file:

+ Root/application/models/backend/user model.php.

Ten lop:

+ User_model.

Ten bang: ec_user

a. Model

.4 iiiirt k A

'

WM

.

No

GetUsers

Muth sach ngubi dung hoec FALSE neu killing ten 4i ngubi dung nio.

AddUser

Array()

Tri ye TRUE neu 40 ngubi dung thimh cong hole FALSE neu thit bell.

Int user id _

GetUserByld

Int user_id, artery()

CheckExists

Tri ye thong tin ngubi dung phi' hop yen tham so truyen yho flak FALSE neu khong tim they. Ira ve TRUE neu ton tai ngtrai thing phi' hop yeti tham so truyen yao hoec FALSE neu khong tim they.

UpdateUser

Int user_id, array()

Ira ye TRUE neu cep nhet thong tin ngubi dung therth ding hoec FALSE neu diet bai.

- Dtrong din thu flute china cac view: root/application/views/backend/user.

", Backend/user

List

Trang nay cho phip hien tilt dank sash ngubi clang hoec tim kiem ngtrai dung.

Backend/user/insert

Trang nay cho phep them mai ngubi dung.

Insert

Backend/user/update

Trang nay cho phep cep nhet thong tin ngubi dung.

Update

b. View

- Dirtmg din file:

+ Root/application/controllers/backend/user.php.

- Ten lop:

+ User.

Trang 101

c. Controller

t - - - • (cid:9)

-3/ - ."

Index

Phtrong thirc nay se thyc hien viec pi den phuong that GetUsers trong Model Wang img.

Insert

Phucmg thirc nay se thvc hien viec pi den phuong thac GetUserGroups trong Model Usergroup_model va phucmg that AddUser trong Model Wong img.

Update

Phuong thirc nay se thvt hien viec gqi den phuong thac GetUserById, UpdateUser trong Model Wong img vit phuong thirc GetUserGroups trong Model Usergroup_model.

Delete

Phtrong that nay se thvc hien viec goi den phuong that DeleteUser trong Model Wang Ong.

CheckEmail

Phuang that nay se thvc hien vies gqi den phuong that CheckExists trong Model Wang img.

CheckUsername

Phuong that nay se thvc hien viec pi den phuong that CheckExists trong Model Wong img.

4.4.3. (ban If nhd sat malt

a. Model

- Dutrig an file:

+ Root/application/models/backend/supplier model.php.

- Ten lem:

+ Supplier model.

'4:::r" (cid:9)

.6 - (cid:9)

• rs-4 .(-1...ge

s .,,., (cid:9)

;T:Y. na-

- Ten bang: ec_manufacture. (cid:9),Wt,,

4-;74i7R--

.--

•,.- (cid:9)

Yi (cid:9)

.1..i,U.-ffidar— F. (cid:9)

-0•1.1

y

Z`yat r

4igioril , P[a••• 3•4'at,;`) (cid:9) 1.1 GetSupplier

Ithong

Danh sach nha cung cep hoac FALSE neu khong ton tai nha san xuk nay.

CreateSupplier

ArraY0

TRUE neu them mei nha san xuAt thanh tong hoec FALSE neu that bai.

SelectSupplier

Int supplier_id

Nha san xuAt phi, hqp vai them se truyen vio hoac FALSE neu khong tim they.

EditSupplier

supplier id,

TRUE neu 4p nhet thanh tong hoec FALSE neu that bai.

Int (cid:9) array()

DeleteSupplier

Int supplier id

TRUE neu xoi thanh tong hoac FALSE nEu they bai.

b. View

- Dubng dn thu muc china cac view: root/application/views/backend/supplier. (cid:9)

dAWF...

enftriiii

/

,....,-,

List

Backend/supplier

4f. (cid:9) Trang nay cho phep hien thi danh sach hoec tim kiem nha san xuet.

Insert

Trang nay cho phep them mai met nhi sin xuAt.

Backend/supplier/insert

Trang 102

.

,

18n

4 (cid:9)

c

Update

Trang nay cho phip clip nh$t thong tin arta nha sin xuat.

Backend/supplier/update

c. Controller

- Duimg din file:

+ Root/application/controllers/backend/supplier.php.

- Ten leap:

.

..,

Index

Phuang thirc nay that hien virile g9i phuang thirc GetSupplier trong Model Mang img.

Insert

Phuang that nay thut hien viec g9i phuang that CreateSupplier trong Model tuong (mg.

Update

Phuang thirc nay thyt hien viec g9i phuang that EditSupplier, SelectSupplier trong Model twang (mg.

Delete

Phuang thirc nay thirc hien viec goi phuang thirc DeleteSupplier trong Model Mang (mg.

+ Supplier.

4.4.4. Qudn ly dank mgt sdn plant

a. Model

Duttng dart file:

+ Root/application/models/backend/cate_model.php.

Ten 16p:

+ Cate model.

.

. (cid:9)

....

. (cid:9)

... (cid:9)

' (cid:9) t:

GetListCate

Khong

Danh sich danh muc sin pham.

CreateCate

Array()

TRUE neu to danh mile thanh tong hoec FALSE neu that bpi.

SeleCtCate

Int id

Tra ve danh muc sin phim dutrc chcm hoc FALSE neu kh8ng ton tai danh muc sin phem teed ma Id.

EditCate

Int id, array()

TRUE neu cop nhot danh muc sin pharn thank tong hoot FALSE neu that boi.

DelCate

Int id

TRUE neu xoi danh muc sin phim thanh ding hoac FALSE neu that bal.

Ten bang: ec_categories.

b. View

- Duerng din thu muc china cat view: root/application/views/backend/cate.

Trang 103

•,,

Asy (cid:9)

' 4 4-4:9 4÷.4..-- , -4. (cid:9)

. (cid:9)

' (cid:9)

...r-- -4- (cid:9)

".•-• (cid:9)

- (cid:9)

- (cid:9)

',,, (cid:9)

i.' -r , (cid:9) 474 14e:', (cid:9)

dttli c t (cid:9) 4 (cid:9)

4 l'' (cid:9)

'' (cid:9)

"fr.:-

Backend/cate

.... (cid:9) Trang nay cho phep tim kiem vi hien thj

List.php

danh sich danh moc sin phim.

Backend/cate/insert

Insert.php

Trang My cho phep ngutri dung them maxi cloth !nye sin pham.

Backend/cate/update

Trang nay cho phep ngtrai ding Op nhit

Update.php

danh muc sin phim.

c. Controller

Dyeing dan file:

+ Root/application/controllers/backend/cate.php.

Ten 16p:

Index

kgft Phuong thfrc nay se thoc hien viec goi den phuang thirc GetListCate trong Model twang (mg.

Insert

Phuong Miro nayse thoc hien viec them danh moc sin phAm CreateCate trong Model Wang Cmg.

Update

Phuong they nay se thoc hien viec gip nhot dieing tin danh moc sin phAm EditCate trong Model Wang img.

+ Cate.

4.4.5. Quen jj sin Aim

a. Model

Dutmg dtin file:

+ Root/application/models/backend/product_model.php

Ten 16p:

+ Product_model.

-

..c

• r (cid:9)

It (cid:9)

.0 (cid:9)

'

Ten bang: ec_product, ec_product_description, ec_product_related, ec_product_discount, ec_product_special.

t I.“

' (cid:9)

._, .4 (cid:9)

4, (cid:9) tg 1- (cid:9)

i

: if: (cid:9)

.. (cid:9) Ars (cid:9) tintfre (cid:9) GetProduct

!Chong

iStitItC (cid:9) Danh sich sin phAin hoc FALSE neu kh8ng tontoi sin phAm nio.

Array()

CreateProduct

TRUE neu too sin phAm thinh cong hoic FALSE neu that bai.

product_id,

UpdateProduct

TRUE neu cop nhot thong tin sin phAm thinh tong hoitc FALSE nu thAt bai.

Int (cid:9) array()

Danh sich Mc khuyen mai ctia sin phAm phii hop vai

GetProductDiscounts

Int product_id

thorn sti truyen vio.

TRUE neu xoi sin phAm thinh ding hoc FALSE

DelProduct

Int product_id

(cid:9)

Trang 104

L.? ,:t 11-J4

n u the (cid:9) bai.

GetProductByKeywords String keyword

Danh sich sin phAm pha km veri tham se din vio.

GetProductSpecials

Int product_id

Danh sich ip gii cho timg nhom khich hang (neu c6) phi' hqp veri tham so truyen vio.

GetProductByld

Int product_id

Sin phAm pith hqp vat tham so truyen vio hole FALSE nett khong tim thAy.

GetProductRelated

Int product_id

Danh sich eke sin phim lien quan phi' hqp voi tham se truyen via.

GetProductRewards

Int product_id

Danh sich diem thtremg theo tong nhom khich hang dm sin phAm pith hqp vai tham s6 truyen vio (neu co).

b. View

-1

.

. (cid:9)

.-

Backend/product

List

Trang nay cho phip hien thi dank sich hoic tim kiem sin phAm.

Insert

Backend/product/insert

Trang nay cho phep ngutri dung them men mot sin phim.

Update

Backend/product/update

Trang nay cho phep ngueri dung cop nhot thong tin sin phim.

- Duang dan thu trinc china cac view: root/application/views/backend/product.

- Dusting din file:

+ Root/application/controllers/backend/product.

- Ten-16p:

+ Product.

.

-

Index

Phuang thfrc nay thwc hien viec gqi phuang tit GetProductSpecials, GetProduct trong Model twang frog.

Insert

Phuang thfrc nay thtm hien viec gqi phuang thfrc GetSupplier trong Model Supplier model, GetListCate trong Model Cate_model, GetCustomerGroups trong Model Cusgroup_model vi phuang thfrc CreateProduct trong Model twang (mg.

fly (cid:9)

thfrc (cid:9)

Update

thuc (cid:9) hien (cid:9) viec (cid:9) gqi (cid:9) phuang (cid:9)

Phuang (cid:9) thins (cid:9) GetProductByld, GetProductDiscounts, GetProductSpecials, GetProductRelated, GetProductRewards, UpdateProduct trong Model twang frog, GetSupplier trong Model Supplier_model, GetListCate trong Model Cate_model, GetCustomerGroups trong Model Cusgroup_model.

Delete

ray (cid:9)

thut (cid:9) hien (cid:9) viec (cid:9) gqi (cid:9) phuang thfrc (cid:9) DelProduct (cid:9)

trong

Phuang thfrc (cid:9) Model twang ting.

Trang 105

c. Controller

....

h

8\

, (cid:9)

i. (cid:9)

.

Autocomplete

Plarcmg tilde nay thvc hien vies goi plurang thfrc GetProductByKeywords trong Model hrong Ong.

(cid:9)

4.4.6. Quan diem Hutch hang

a. Model

Dung din file:

+ Root/application/models/backend/cusgroup_model.php

- Ten lay:

+ Cusgroup_model.

- Ten bang: ec_customer_group.

,•

. (cid:9)

b CreateCusgroup

Array()

414,f; TRUE neu tao nhom khach hing thinh Gong hoc FALSE neu that bai.

GetCusgroup

Khong

Danh sach nhom khach hang hok FALSE neu khong ten tai nh6m khkh hang nio.

UpdateCusgroup

TRUE neu cap nhat nhem khich hang third' tong hoot FALSE neu that bal.

Int customer_group_id, array()

SelectCusgroup

Int customer_group_id Nheim khich hing phi hop veri tham sti du vao

hok FALSE neu khong tim thay.

DelCusgroup

Int customer_group_id TRUE neu xoa nh6m khich hang thanh ding hok FALSE neu that bai.

CheckExistsGroupName

String group_name, int customer_group_id

TRUE neu ten tai nh6m khich hang phi" hop veri tham so truyen vao hoc FALSE neu that bai.

b. View

- Datong (cid:9)

din (cid:9)

Our (cid:9)

chira (cid:9)

cac (cid:9)

view:

mvc (cid:9) root/application/views/backend/cus_group.

a

List

Backendkus_group

Trang nay cho phip hien thi danh sach nhom khach hang va tim kiem nh6m khach hing.

Insert

Trang nay cho phep them men nh6m khich hang.

Backend/cus_group/insert

Update

Trang nay cho phip cap nhat nhom khich hang.

Backend/cus_group/update

c. Controller

- Duemg din file:

+ Root/applicationicontrollers/backend/cus_group.

- Ten lap:

Trang 106

+ Cus_group.

ei

Phut

t

.v (cid:9)

a: (cid:9)

a

Index

Phuang thtic nay thvc hien g9i (cid:9) phuang that GetCusgroup trong Model twang img.

Insert

Phuang that nay dive hien viec g9i phuang thirc CreateCusgroup trong Model twang img.

Update

Phuang that nay thvc hien viec gai phuang that SelectCusgroup, UpdateCusgroup trong Model twang (mg.

Checkgroupname

Phuang that nay thvc hien viec gal phuang thuc CheckExistsGroupName trong Model twang (mg.

Delete

Phuang that nay thvc hien viec g9i phucmg lilac DelCusgroup trong Model twang img.

4.4.7. Quer. Mach hang

a. Model

Dtremg dan file:

+ Root/application/models/backendicustomer_modelphp

Ten 16p:

+ Customer model.

Ten bang: ec_customer, ec_city, ec_customer address.

- (cid:9)

,

iliti

..,

t

GetCustomers'

Kheng

Danh sich khich hang hoot FALSE neu khong tan tai khach hang nio.

GetCities

Int city_id

Danh sich thanh ph6 hoac quail huyen phi' hqp vai tham s6 truyen vio.

GetCustomer

Int customer_id

Khach hang phi) hqp lied tham s6 truyen vio hoac FALSE neu khong tim thity.

DelCustomer

Int customer_id

neu (cid:9) xoi (cid:9)

thanh (cid:9)

cling (cid:9) hoc (cid:9) FALSE

TRUE (cid:9) neu thAt bai.

AddReward

TRUE neu them diem thuerng yen cac tham so truyen vito hoc FALSE neu that bai.

Int customer id, int order_id, int points, string description

RemoveReward

Int order_id

TRUE neu xol diem thuang thanh tong hoac FALSE neu that bni.

GetAddressByCustomerld

Int customer_id

Dja chi coa khach hang phil hop vai tham se truyen vim.

GetRewards

Int customer_id

Danh sich diem thin:mg dm khach hang phi.' hqp vai tham s6 truyen vao.

GetRewardTotal

Int customer_id

TAng diem thuerng cern khach hang phi' hop yea tham s6 truyen vAo.

Trang 107

uk (cid:9)

V

vs, (cid:9)

.

EditCustomer

- customer id,

Int (cid:9) array()

TRUE neu cap nhat thong tin khitch hang tluinh tong hoac FALSE neu that bai.

CheckExists

email, (cid:9)

int

String (cid:9) customerid

TRUE neu ton tai khich hang pith hqp yen tham se truyen vio hag FALSE neu that bal.

CreateCustomer

Array()

TRUE neu tao Ichich hang thanh ding hoac FALSE neu that hal

GetCustomersByKeyWord String keyword

.Danh sich khich hang phi, hqp yen tham so truyen vio.

b. View

.._

wry (cid:9)

_ -

- Du?mg din du( mgt chira cac view: root/application/views/backend/customer. .., u •-r,

Insert

Trang nay cho phep them mei mot khach hang

Backend/customer/insert

List

Backend/customer

Trang nay hien thi danh sich khfich hang hoac tim kiem khach hang.

Update

Trang nay cho phep cap nhat thong tin khich hang.

Backend/customer/update.

Backend/customer

Customer reward Trang nay hien thj danh sich diem thirong dm khich hang va cho phip them diem thireng cho khich hang.

c. Controller

- Dirtmg din file:

+ Root/application/controllers/backend/customer.

- Ten lop:

+ Customer.

r.. (cid:9)

A (cid:9)

`

--14

Index

Phucmg that nay thirc hien viec gqi phuang fink GetCustomers trong Model Wang (mg.

Insert

Phuong that nay thvc hien viec g9i phuang iliac GetCustomerGroups trong Model Cusgroup_model va GetCities, CreateCustomer trong Model twang img.

Update

nay (cid:9)

that (cid:9)

thut (cid:9)

phuang (cid:9)

hien (cid:9)

g9i (cid:9)

Phuang (cid:9) thirc (cid:9) GetCustomer, viec (cid:9) GetAddressByCustomerld, GetCities, EditCustomer trong Model twang (mg va GetCustomerGroups tong Model Cusgroup_model.

Delete

Phuang that nay thus hien viec g9i (cid:9) phuang ti:re (cid:9) DelCustomer trong Model twang frog.

Get_district

thirc (cid:9)

thur (cid:9) hien (cid:9)

viec (cid:9) g9i (cid:9)

phucmg (cid:9)

thfrc (cid:9) GetCities (cid:9)

trong

Phircmg (cid:9) nay (cid:9) Model tuanng (mg.

n

Reward

Phuang thtic nay thut hien viec gcti phuang thac AddReward, GetRewards, GetRewardTotal trong Model twang (mg.

Autocomplete

Phuang that nay thus hien viec g9i phuang thire GetCustomersByKeyWord trong Model twang ting.

Trang 108

zspiethig.- (cid:9)

-

. ,40

-7,--

_ (cid:9)

— (cid:9)

hie'n (cid:9) viec got phuong MIK CheckExists trong

CheckEmail

Phtrang thirc (cid:9) nay thvc Model tuong Mtg.

4.4.8. Quaff ty coupon

a. Model

- Duang an file:

+ Root/application/models/backend/coupon_model.php

- Ten lop:

+ Coupon_model.

.

,

.,,,,./ (cid:9)

, et rtn„.,-1.

- (cid:9)

r .•

CreateCoupon

Array()

TRUE neu tuo tharth Gong hok FALSE neu that bai.

4

Ed itCoupon

Int coupon_id, array()

TRUE neu 4p nhat thanh ding hoc FALSE neu that bal.

GetCoupon

Int coupon_id

Coupon pith hqp veri tham s6 truyen vao ho$c FALSE neu khong tim they.

DeleteCoupon

Int coupon_id

TRUE neu xoi thinh tong hok FALSE neu that bai.

GetListCoupon

Khong

Danh sach coupon hoc FALSE neu khong ton tai coupon nao.

Int coupon_id

GetCouponProducts

Danh sach san pham vol ma coupon phi' hqp veri tham so truyen via hoac FALSE neu khong tim that'.

GetCouponCategories

Int coupon_id

Danh sach danh mite san phim voi ma coupon pith hqp veri tham s8 truyen vao hoc FALSE neu kh6ng tim they.

GetCouponHistories

Int coupon_id

Danh sach lich sir sir dung coupon yeti ma coupon pith hqp veri tham so truyen vao.

String code, int coupon_id

CheckExists

TRUE neu tim they coupon pith hqp veri tham so truyen vao hoc FALSE neu khong tim they.

- Ten bang: ec_coupon, ec_coupon_product, ec_coupon_category.

b. View

- Dubng din thu mvc chira cdc view: root/application/views/backend/coupon.

Text

`o t11I8

List

Backend/coupon

Trang nay cho phep hien thi danh sach coupon hoc tim kiem coupon.

BackencUcoupon/insert

Insert

Trang nay cho phdp ngtrai dung them meri coupon.

Trang 109

...

a. (cid:9)

ir

_

:..

Backend/coupon/update

Trang nay cho phep ngirbi dung cop nhot coupon.

Update

Backend/coupon/history.

History

Trang nay cho phip hien thi lich sir cita met coupon.

c. Controller

Dubng din file:

+ Root/application/controllers/backend/coupon.

Ten lap:

_

_ (cid:9)

iitimilift4 ei (cid:9)

4:;: „... +014

• (cid:9)

Index

Phacmg that nay se thoc hien viec goi phuong thirc GetListCoupon tong Model Mang 1mg.

Insert

Pinning that nay se thor hien viec pi phucmg fink CreateCoupon trong Model twang (rug.

goi (cid:9) phuang (cid:9)

se (cid:9)

nay (cid:9)

thin (cid:9)

thuc (cid:9)

hien (cid:9)

viec (cid:9)

Update

that (cid:9) GetCoupon, Plurcing (cid:9) GetCouponProducts, GetCouponCategories, EditCoupon trong Model tuong img, GetProductByld trong Model Product_model vi SelectCate trong Model Cate_model.

Checkcode

Phtrang that nay se Unit hien viec goi phuang that CheckExists trong Model twang 1mg.

Delete

Phtrcmg thirc nay se thoc hien viec goi phtrong that DeleteCoupon trong Model Mang (mg.

History

Pinning thirc nay se thot hien viec goi phuang that GetCouponHistories tong Model tuang ting.

+ Coupon.

4.4.9. Qudn ly den hing

a. Model

Dutmg din file:

+ Root/application/models/backend/order modelphp. + Root/application/models/backend/retum_model.php.

Ten lop:

+ Order_model. + Retum model.

- Ten bang: ec_orderstatus, ec order, ec customer, ec_order_product,

Order_model

Int start, int limit

Danh sfich hoi don new co hoac FALSE n6u khong ton tai met hoa don nao

Trang 110

ec customer reward, ec_order total, ec_order history, ec_product.

-T iik: 4

`. (cid:9)

... (cid:9)

."7.17.' .t...)[ (cid:9) ;: a 0

" (cid:9)

u (cid:9) , (cid:9)

. (cid:9) -7, ,, (cid:9) N-1,-.4, <•44.- -

11; '1% (cid:9) 4,--:v;,-.4.4.4,'

GetOrder

Int order id _

'

-A: :111:11-titi TM ve th8ng tin san pham &roc chip hok FALSE neu kh6ng ten tai san phim veri tham sto trtwen vio.

GetTotalRewardByOrderld

Int order_id

TM ye se lin dirge diem thtremg cha khach hang phi' hqp veri tham se truyen vito.

GetOrderStatus

Int order_status_id

TM ye th8ng tin trang thai hoi dun pith hqp veri tham se truyen vio.

GetOrderProducts

Int order id _

TM ye danh sach san pham di &roc mua phit hqp veri tham se truyen vbo.

GetOrderStatuses

Khong

Tra ve danh sach the tang thai cita met don hang bit kt.

GetOrderTotals

Int order id _

Tra ye the lokti tien can phat thanh than dm hoti don phi' hqp veri tham s6 truyen van.

GetOrderHistories

Int order id _

Tra ve lich sir cha dun hang phi' hqp yen tham se truyen vio.

AddOrderHistory

Int order id, array()

.c Them lich sir dm met don hang veri cac tham so A truyen vho.

DeleteOrder

Int order id _

Xoi don hang.

Retum_model

GetReturnsOrders

Khong

Tra ve danh sach the phitn hi cha khkh hang neu cel hok FALSE neu khong ten tai met phin hei nho.

GetReturnOrder

Int return_id

Tra ve phan hti cha khitch hang pith hop veri tham se truyen vho hok FALSE neu khong ton tai phin he'.

GetReturnStatus

Int retum_status_id TM ve bang thai cha phan hei phi' hop veri tham so truyen vao hoc FALSE neu khong ton tai hang thai.

GetReturnReason

Int retum_reason_id

Tra ve 15/ do phin hi phi' hqp veri tham se truyen vio hoc FALSE neu khong ton tai ljr do phan hell.

GetReturnStatuses

Khong

TM ve tit cã the trang thai phan hi hock FALSE neu kh8ng ten tai trang thii nio.

AddReturnOrderHistory

retum_id,

Int (cid:9) array()

To% ve TRUE neu them lich sir phan hei thanh cong hoc FALSE neu that bal.

GetReturnOrderHistories

Int retum_id

Tr* ve danh sach tat ca cac phin Nil ciut don hang phit hqp veri tham se truyen vio.

DeleteRetumOrder

Int return_id

Tra ve TRUE neu xoa thanh tong hoc FALSE neu that bal.

b. View

- throng dan thu now china cac view: root/application/views/backend/order.

Ten tring

.MÔ ti

Duerieg din (cid:9)

.

Trang III

(cid:9)

-

Ahritigillit

It (cid:9)

, (cid:9)

.

. (cid:9)

Backend/order/info

Info.php

Trang nay mer tai hoi don chi wet.

Backend/order

List.php

Trang nay cho phip hien thj vi tim kiem danh sfich don hing.

Backend/order/info.

Order history.php

Trang nay cho phep hien thj Ijch sir dm don hang vi them Ijch sir men cho don hang.

Backend/retum_order

Retum_order.php

Trang nay cho phep hien thj dank sAch the phan heii ve don hang.

Backend/retum_order/info

Retum_order_history.php Trang nay cho phep hien thj Ijch sir dm phin hOi don hang clung nhu them Ijch sir mei cho phin hOi nay.

Backend/return_orderrmfo

Return_order_info.php

Trang nay hien thj chi tiet phin heti dm dun hang.

c. Controller

- Dining dan file:

+ Root/application/controllersibackend/retum_order.php. + Root/application/controllersibackend/prder.php.

- Ten lerp:

+ Order. + Return_order.

1

. (cid:9)

..:

f (cid:9)

' (cid:9)

.,. (cid:9)

i (cid:9)

1

el (cid:9) . (cid:9) i (cid:9) Ph , (cid:9)

.

Order

Index

Phuang thfrc nay se thoc hien viec goi den phuang [him GetOrders trong Model twang img.

Info

Phuang tittle nay se thirc hien viec goi den phucmg that GetOrder trong Model twang frog.

den (cid:9) phuang (cid:9)

viec (cid:9)

goi (cid:9)

nay (cid:9)

thfrc (cid:9)

thoc (cid:9)

se (cid:9)

History

them hien (cid:9) Phuang (cid:9) GetOrderHistories vi phuong thirc AddOrderHistory trong Model tucmg inn.

phtrcmg (cid:9)

viec (cid:9)

den (cid:9)

goi (cid:9)

nay (cid:9)

thirc (cid:9)

thoq (cid:9)

se (cid:9)

Addreward

that hien (cid:9) Phuang (cid:9) GetTotalRewardByOrderld vi phuang thirc AddReward trong Model twang frog.

Removereward

Phucmg fink nay se Mot hien viec goi den phurcmg thfrc RemoveReward trong Model Wang (mg.

Delete

Phuang thfrc nay se thoc hien viec goi den phuang thac DeleteOrder trong Model twang (mg.

Return order

viec (cid:9)

goi (cid:9)

den (cid:9)

phuang (cid:9)

thfrc

thirc (cid:9)

thoc (cid:9)

nay (cid:9)

hien (cid:9)

se (cid:9)

Index

Phuang (cid:9) GetRetumsOrders trong Model twang MT.

Trang 112

t.,1.-."

I (cid:9) VA (cid:9)

r ?•••-. A, ' (cid:9)

\***1*-- •-qt-, . . (cid:9)

- - (cid:9)

." - ‘ (cid:9)

1 (cid:9)

- o.,4e N (cid:9)

,

' (cid:9)

' (cid:9)

-14:5•1,1 (cid:9)

Info

Phuang thirc nay se thus hien vise Eli den phuong thire GetReturnOrder, GetReturnStatus, GetReturnReason, GetRetumStatuses trong Model tuang img vi goi den phuong ditic GetOrder trong Model Order model.

History

nay (cid:9)

thine (cid:9)

se (cid:9)

den (cid:9) phuong (cid:9)

vise (cid:9)

goi (cid:9)

thuc (cid:9)

Phuang (cid:9) hien (cid:9) thirc AddRetumOrderHistory vi phuong thirc GetReturnOrderHistories trong Model trong (mg.

Delete

thus (cid:9)

thirc (cid:9)

hien (cid:9)

nay (cid:9)

se (cid:9)

vies (cid:9)

goi (cid:9)

den (cid:9)

phucmg (cid:9)

thire

Phuang (cid:9) DeleteRetumOrder trong Model tucmg (mg.

4.4.10. Qudn If logi tin Sac

a. Model

- Dating din file:

+ Root/application/models/backend/newstype_model.php

- Ten lop:

+ Newstype_model.

- Ten bang - ec_news_type.

..,

..e.wr

GetNewstype

Khong

Danh sich loai tin Sc hoac FALSE neu khong din tai loiti tin tire mio.

-

SelectNewstype

Int newstype_id

The IGO tin Sc pith hap vai them s6 truyen vio hoac FALSE neu khemg tim thay.

UpdateNewstype

hit (cid:9) newstype_id, array()

TRUE neu cap nhat the loai tin tire thinh cong hoac FALSE neu that bai.

DelNewstype

Int newstype_id

TRUE neu xori thimh cong hoac FALSE neu that bai.

CreateNewstype

Array()

TRUE neu them mai loai tin Sc thanh cong hoac FALSE neu that bai.

b. View

- Dating Tan thu muc china cac view: root/application/views/backend/newstype.

List

Backend/newstype

Trang nay cho phi)) hien thi danh sich the loai tin tire hoac tim kiem loai tin Sc.

Insert

nay (cid:9)

cho (cid:9)

phi') (cid:9)

nguai (cid:9)

dung (cid:9)

them (cid:9) mai

Backend/newstype/insert

Trang (cid:9) the loai tin tirc.

Update

Backend/newstype/update

Trang nay cho phep nguiri clUng cap nhat thong tin the lord tin Sc.

c. Controller

- Dating clan file:

+ Root/application/controllers/backend/newstype.

Trang 113

- Ten lap:

+ Newstype.

ci; (cid:9)

'2,

4, (cid:9)

i

retAW (cid:9) .4444-, (cid:9) -,- itie Phuong thirc nay se that hien viec pi phuong thirc GetNewstype trong Model Prong

Index

(mg.

Phuong thirc nay se that hien viec gqi phuang thfre CreateNewstype trong Model

Insert

tuong ling.

thirc (cid:9) SelectNewstype,

hien (cid:9) viec (cid:9) pi (cid:9) phuong (cid:9)

that (cid:9)

se (cid:9)

tharc (cid:9)

nay (cid:9)

Update

Phuong (cid:9) UpdateNewstype trong Model trong frog.

4.4.11. Quin 0 tin tine

- Throng den file:

+ Root/application/models/backend/news_modelphP

- Ten lep:

+ News_model.

- Ten bang: ec_news

.

Sk.:'014.34. .„,

Danh sfich tin rim hoc FALSE neu kh8ng ton tai tin

[Chong

GetNews

tirc nit)

TRUE neu tao thanh citing hoac FALSE neu that bai.

Array()

CreateNews

Int news_id

SelectNews

Tin gm phi' hqp yeti tham s6 truyen vac hoc FALSE neu khong tim they.

TRUE lieu xoe thanh cling ho3c FALSE neu that bai.

Int news_id

DelNews

Int news_id, array()

UpdateNews

TRUE neu cep nhet tin tirc thanh ding ho4c FALSE neu that bai.

a. Model

- Dtamg clan thy mvc china cac view: root/application/views/backend/news.

.

pit_ (cid:9)

R . ,

Backend/news/insert

Trang nay cho phdp them mei tin tirc.

Insert

Backend/news

List

Trang nay cho phep hien thi danh sach tin tut hoic tim kiem tin tirc.

Backend/news/update

Trang nay cho phdp cop nhot tin tirc.

Update

b. View

- Dueing din file:

+ Root/application/controllers/backend/news.

- Ten 14:

Trang 114

c. Controller

+ News.

--

.t

it (cid:9)

iPi (cid:9)

,

.

goi (cid:9)

phuang (cid:9)

thirc (cid:9) GetNews (cid:9)

trong

thirc (cid:9)

nay (cid:9)

thuc (cid:9)

hien (cid:9)

viec (cid:9)

Index

Phuang (cid:9) Model ttrcmg ting.

Insert

Phuang thirc nay thuc hien viec goi phtrang that GetNewstype trong Model Newstype_model vi CreateNews trong Model twang img.

Update

Phuang that nay that hien viec goi phuong thirc GetNewstype tong Model Newstype_model va SelectNews, UpdateNews trong Model twang ling.

trong

thire (cid:9)

nay (cid:9)

thtic (cid:9)

hien (cid:9)

viec (cid:9)

goi (cid:9)

phuong (cid:9)

thfic (cid:9) DelNews (cid:9)

Delete

Phuong (cid:9) Model Wang 1mg.

4.4.12. Bdo cdo

a. Model

- Dtrong d'in file:

+ Root/application/models/backend/coupon_modelphp + Root/applicationknodels/backend/order model.php + Root/application/models/backend/product_model.php

- Ten kip:

+ Coupon_model. + Order model. + Product_model.

- Ten bang: ec_coupon, ec_coupon_history, ec_order_product, ec_customer,

II,

Coupon_model

Danh sach coupon phi' hop yen tham se truyen vio.

GetCouponsByFilter

Array()

Order model

Danh sach khich hang pha hop vai tham se truyen vio.

GetOrdersCustomerByFilter

Array()

GetOrdersByFilter

Array()

Danh sich hoi don pith hop voi tham se truyen vao.

GetOrderStatuses

!thong

Danh sach CAC bug thiti dm don hang.

GetPurchased

Array()

Se lucmg sin phim ban ra pha hop voi tham se truyen vio.

Product_model

GetTotalProductsV iewed

Kh8ng

luot (cid:9)

xem (cid:9)

sin (cid:9)

phiun (cid:9)

ctia

se (cid:9) Wong (cid:9) Tong (cid:9) tit ci tic sin phim.

GetProductsViewed

Khong

Danh sich WO xem Cu tirng sin phim.

ec customer_group, ec_order status.

Trang 115

b. View

- Duang clan thtr 'nue chira cac view: root/application/views/backend/report.

.

a.,,,ct

4

"-

S.

2.

(cid:9)

? le: ,

alirk n A

s nri Tent Report_coupon

Backend/report_coupon .

Trang nay cho phdp xem bio cao ve cic coupon di dirge sir dung theo ngly/thang/nim.

Report_customer

Backend/report_custom er

Trang nay cho phdp xem boo cao ve cac khich hang theo ngiy/thang/nim vi tinh trang hoa don.

Backend/report_order

Report order

Trang nay cho phdp xem be° cao ve cac hod don cim he th6ng theo ngiy/thang/nim vi cat tinh trang holt don.

Backend/report_product /purchased

Report_product_purchased Trang nay cho phdp xem boo cao ve lucmg ban sin phAm theo ngiy/thang/nlun va cac tinh tang hoa don.

Report_product_viewed

Backend/report_product

Trang nay cho phdp xem bio cao ve Itrqng theo doi sin phAm caa khich hang

c. Controller

Duong din file:

+ Root/application/controllers/backend/report_coupon. + Root/application/controllers/backend/report_customer. + Roodapplication/controllers/backend/report_order.

+ Root/application/controllers/backend/report_product.

- Ten lap:

.

+ Report_coupon. + Report_customer. + Report_order. + Report_product. - . (cid:9) 'Sig

M8 tit

Report_coupon

Index

Phtrang thin nay se that hien viec g9i phuung thac GetCouponsByFilter trong Model Coupon_model.

Report customer

Index

thus (cid:9)

thin (cid:9)

hien (cid:9)

viec (cid:9)

nay (cid:9)

g9i (cid:9)

phucmg (cid:9)

dike

se (cid:9) Phuong (cid:9) GetOrdersCustomerByFilter trong Model Order_model.

Report_order

Index

Phuung that nay se thirc hien viec g9i phircmg that GetOrdersByFilter, GetOrderStatuses trong Model Order model.

Report_product

Viewed

c— 1 Phtrong that nay se that hien viec g9i phtrcmg that GetTotalProductsViewed

Trang 1 16

. (cid:9)

,,,._

. (cid:9)

,t

- (cid:9)

111$0.. (cid:9)

yit GetProductsViewed trong Model Product_model.

Phircmg thirc nay se thuc hien vier goi phuong tam GetOrderStatuses ye

Purchased

GetPurchased trong Model Order_model.

4.4.13. @on ly cac pluton disk thank loin

a. Model

Diking din file:

+ Root/application/models/backend/payment_model.php. + Roodapplication/models/backend/setting_model.php.

Ten lop:

+ Payment_model. + Setting_model.

Ten bang: ec_payment, ec_setting.

Piiiiiteing

:1":4

Payment_model

Ire ye tic phuong thirc thank loin di duct cid dot.

Khang

GetPaymentlnstalled

phi, (cid:9)

hqp (cid:9)

yeri

that (cid:9)

thanh (cid:9)

loin (cid:9)

phuong (cid:9)

Uninstall

Suing type

Xoi (cid:9) tham se truyen yito.

Them mei met phuang thirc thanh toil,.

Install

String type

Setting_model

Cep nh$t cic cai dot pha hop yeti tham se truyen yao.

EditSetting

String (cid:9)

group,

array()

Xoi cic cli dot phi, hqp yen tham se truyen yea

DeleteSetting

String group

b. View

- Dutmg din thu muc chira cic view: root/application/views/backend/list.

n

Backend/payment

List

Trang nay cho phep hien thj dank sick cic phuong that thank toin dm he thong.

Backend/payment/edit/cod.

Cod

Trang nay cho phep cep nhet the thong tin lien quan den phuong thirc thanh toil, Giao hang, dua tien.

Backend/payment/edit/cbd.

Cbd

Trang nay cho phip cep nhet cic thong tin lien quan den phuong thac thanh toin Giao hang twat dua tin sau.

Backend/payment/edit/pp

Pp

Trang nay cho phep cep nhot cic thong tin lien quan den phuong that thanh toil, Paypal.

c. Controller

- Di:Ong dill file:

Trang 117

+ Root/applicationkontrollers/backend/payment.

- Ten lop:

Phtrang thirc nay thoc hien viec Ed phtrang thirc GetPaymentlnstalled hoar

Index

Uninstall trong Model twang (Eng.

Edit

Phucmg tithe nay thoc hien viec goi den thu vien twang img vai phuong thac thanh toin can cap nhat, to da gal den phuong thirc EditSetting trong Model

Setting_model.

Phucmg thac nay thoc hien viec goi den phuong thac Install trong Model twang

Install

(mg.

Unistall

Phuang thac nay thoc hien viec pi den phuang that Unistall trong Model turfing img va phueng thirc DeleteSetting trong Model Setting_model.

+ Payment.

4.4.14. Qudn ly tan

a. Model

- Diferng din file:

+ Root/application/models/backend/currency_model.php

Ten lei,:

+ Currency_model.

GetCurrencies

Kh6ng

Danh sash tien to hoc FALSE neu khong tan tai tien to nao.

TRUE neu too thanh cong holtc FALSE neu thit boi.

CreateCurrency

Array()

Int currency_id

GetCurrency

Logi lien to phi& hqp vai tham so truyen vac) hoc FALSE neu khong tim they.

CheckExists

TRUE neu tim they loci tien to pho hqp vai tham st, truyen vio hoc FALSE neu khong tim they.

String code, int currency_id

TRUE neu cap nhat [Minh cong hoac FALSE neu thit boi.

EditCurrency

Int currency_id, array()

TRUE neu xoi thinh cong hoac FALSE neu that boi.

Int currency_id

DeleteCurrency

UpdateCurrencies

Kh8ng

Cop nh$t girl trj Cu loci tien to dira tren ty gia ngoai to dm ngin hang Vietcom Bank.

Ten bang: ec_currency. ,.„44,,,,

b. View

- Dtro.ng din thu muc chits cac view: root/application/views/backend/currency.

Bitten dAn

Ten tradg

M8 ti

Backend/currency

Danh sach hoac tim kiem cic logi tien te.

List

Trang 1 18

k

P -Er

;

w (cid:9)

In

.

Trang nay cho phep them mei met loci tien te.

Backend/currency/insert

Insert

Trang nay cho phip c#p nh#t tien to

Backend/currency/update

Update

c. Controller

- Dusting din file:

+ Root/application/controllers/backend/currency.

- Ten 16p:

+ Currencies.

:,,fi.

r

...

Index

Phuang thee nay se thac hien viec g9i phuang thirc GetCurrencies trong Model twang img.

Insert

Phuong thirc nay se that hien viec gcli phuang thirc Cre,ateCurrency trong Model twang img.

Update

Phuong thee nay se thtrc hien viec gei phtrang thirc GetCurrency, EditCurrency trong Model twang ang.

CheckCode

Phuang that nay se that hien viec g9i phircmg thirc CheckExists trong Model twang img.

Delete

Phuang that nay se thur hien viec g9i phuong thac GetCurrency, DeleteCurrency trong Model twang iing.

4.4.15. Backup/Restore

a. Model

- Dirtmg din file:

+ Root/application/models/backend/backup_model.php

- Ten 16p:

+ Backup_model.

- Ten bang:•khong ca.

TLamv

l qiisitnive"

gt.e.41kt,

GetTables

!Chang

Danh sack cac bang dm CSDL.

Restore

String sql

Phoc hid I;i da lieu cac bang trong CSDL.

Array()

Backup

luu cac bang ho#c wan be CSDL

phi.' ho veri

Sao (cid:9) them se truyen vho.

b. View

- Du6ng din thu moc china cac view: root/application/views/backend/backup.

, Teo trang•

ma ti,

Datong la - (cid:9)

-

Backup

Trang nay cho phip phtic hei (sao In) ho#c restore Backend/backup

Prang 119

-,....

*

Backend/backup/restore

(phvc hoi) lai ca so du lieu.

c. Controller

- DUOng S file:

+ Root/application/controllers/backend/backup.

- Ten lop:

Phucmg thac nay thirc hien viec pi phuung thac GetTables WI Restore trong

Index

Model Wong ling.

Phtrong thac nay thvc hien viec pi phtrong thac Backup trong Model twang Tang.

Backup

+ Backup.

Trang 120

PHAN 5. XAY DitiNG WEBSITE Sir DIJNG FRAMEWORK

5.1. Gil% thieu b3i twin

5.1.1. MS td btli twin

C8ng ty bin sich ThOng Long can xiy dung mOt website TMDT phuc vu cho viec gien thieu vi djit mua sich true tuyen. De cc') dugc he thtmg website tren, cong ty ban sach Thing Long can Ay dung cc, sex dl lieu de quan ly sin pham, khach hang vi nhUng giao djch hes thuc hien tren he th6ng. Cac you eau duce dua ra nhu sau:

CO nhieu loci sach, moi loci sach lai co nhieu sach khic nhau.

Quan 13% thong tin the loci sich. Quin ly th8ng tin ve sach.

+ Ten sin pham, gia ban, m8 ta, s6 trang, nha xuAt ban, the gia... + Khuyen mdi theo timg nhOm khich hang. + Ap gia cho timg nh6m khach hang. + Diem quy d6i cho timg sach va diem thin:mg cho timg nh6m khich hang.

Quin ly cac coupon giarn gia.

- Quan ly loci tin tire. - Quin ly tin tire. - Quin ly th8ng tin ve nha xuAt ban.

IChach hang c6 the thuc hien nhieu giao djch, nhung tai mOt tiled diem khach hang chi c6 the tao mOt hoa don. Quin ly khach hang. + Th8ng tin khich hang: email, hQ va ten, ten dAng nhdp, dien thoai, dja chi... + Quin ly cac don hang tha minh. + Quin ly cac cac phan h6i ve don hang cim mirth. + Sach yeu thich, to sach, wishlist

Quin 15, nhom khach hang. Quin ly hoi don. + Th8ng tin hoi don: ma hoa don, ngay tao hoa don, tong so tien, tinh trang hoa don, danh sich sin phtun, phucmg thirc van chuyen, phuang

thirc thanh toan

+ Quan ly the phan h6i ve don hang dm khach hang.

Chirc nOng gib hang. + Them sach vao gi6 hang, xoa sach kh6i gin hang, cap nhdt gib hang, huy

gio hang.

Trang 121

+ C6 chirc Hang luu sfich vio gib hang io de sau do Ichich hang se quyet dinh

c6 mua hay khong ?

Mua

+ Khach hang kh6ng an co tai khoin cling mua duce hang. + CO the sir dung diem thtrimg de quy d6i ra tien phu thurac vio

gia dm san phAm.

+ C6 the sir dung coupon giim gii.

Email makerting.

+ Giri mail cho Ichich hang ding k9 theo d6i hang web. + Giri mail cho khich hang china san phAm bit kt. + Giri mail cho tit ca cic khich hang di ding k9.

Quin 19 ngulii dimg va phin quyen ngueri dung. Thling ke truy cap. Thling ke bio cio

5.1.2. Myc Neu cdc clnic stung can qudn

- Quin 1Y nhi sin xuAt. - Quin 19 tic gii. - Quin!, sin phim. - Quin 19 don hang. - Quin 19 phin hlii don hang. - Quin 19 tin tit. - Quin 19 loai tin dm. - Quin ly danh num san phim. - Quin ly ngutri dimg, nhom ngueri dimg. - Quin 19 khich hang, nh6m khich hang. - Bap° cao, thsling ke. - Quint)", banner.

Trang 122

(cid:9)

5.1.3. Ph& deb that kg he thong

C QL nhom nwrii dam

a. So. CIO tang wino mic chit ning cfia hig thong

C Bing k9

QL Banner

OL hea do n

11.

NV quill Id

Khach hang (cid:9)

Ding nhip

NV ban hang

(cid:9)1111 (cid:9)

NV kinh doanh

QL Coupon

QL sin phisn

QL danh mix sin phirn

CQL kith

hang

QL nhe sin

QL: Quaid)",

NV: Nhan vien

Hinh 5.1. Sc dd UseCase he thong

b. Cic tic nhfin tham gia vho hg thong - Khdch hang:LI nhemg ngtred sir dyng he thong mua san pham, xem san

pham va danh gia va san pham do.

- Nhdn Win gran 14: La nhang nguai sir dung he thOng de them, cap nhot, x6a va phan quyen ngutri dung va nhOm ngutri dung trong he thOng. Ngoai ra, nhan vien quan tri bao tri va cau hinh ca ban he thting.

- Nhdn Win bean king: La nhang ngtreri xir ly ve don hang trong he thong. - Nhdn Win: La nhang ngireri sir dung he thong de quail 15, san pham, danh muc

san pham, va quan ly coupon do nhan vien kinh doanh de xuat.

- Nhdn Win kink doanh: Li nhi-mg nguai sir dung he thong xem cac bao cao

dm he thOng qua 46 xac djnh dagng chitin Itrac kinh doanh cua ding ty.

- Nhdn Win vain Ifi quan he Hutch hung: La nhang nguai sir dung he thong de marketing, thong bao the hinh thirc khuyen mai den tang nh6m khach hang

Trang 123

rieng biet. HQ phai theo dOi tinh tang mua hang ciia moi khfich hang qua de

c6 mire dai nge vii moi nhem khach hang va ldiach hang.

(cid:9)nclattluk

c. Quy trinh mita hing

UmWdm

t tlil

Sfr

Hinh 5.2. Quy Dinh mua hang

5.2. du hinh ca bin

6 phan tren chi:mg to xay dung au trUc ca ban dm met Framwork. CM can au hinh theo cac buerc sau thi ban se c6 met trang web c6 day dii cac chive tang ma chang ten da nett 6 tren. Cac buerc than khai:

Giai nen file china Framework, sau de copy hat tat ca cac file va folder trong file vita giai nen vim folder ma ban muen china website. Vi da: /root/your_ecommerce.

RewriteRule (cid:9)

Hay tao met database a chin ca sec de lieu dm Framework. Hay vac) file.htaccesss thay del ten folder tucmg img de" Ioai bo chuoi

A ( -*)$

index.php. (cid:9) /yourecommerce/index.php/$1 [L]. Sau do thtrc hien viec cai dat clua tren 3 buerc sau:

da: (cid:9) Vi (cid:9)

+ Buem 1: chay duemg d'An: yourdomian.com/your_ecommerce

Trang 124

114fINI; I IING

I- I

1C1( (cid:9)

1 (cid:9)

CSC

due Sang cic bp al • Rant Eternsce 11d< id. bit Ss thing so Cl' *d 44.42 4141 2* de (cid:9) ws day Wet MI dr. In he

I He con 21 cc id &Hu 2 1)400.4. Host

3 Use 4 Patsweal 5 TM ter was.W

414 theitigia 41.4 Not b S.F TbCl 4b1.611. d ad Arlie as 4•14 Ise 4141443 423

ton. 12 44 Save 145o Ss (cid:9) eles 41•L eft dal OS Nib* 1144.24.4# wag meld* lap Ms vie bis‘ a al.Nbgtw b4. vi Ion* Se 43.1144144 U. 24 colatelwilok Sent meg cif de rah 414)Web rim hot NI. 144144143.3111.14.0 445.14.15 cis 011141031.411tnnat ea

44

Hinh 5.3. Cid 4'1— Gal thieu.

.+ BIT& 2: ban hay nhOp cac thong so de ket n6i CSDL va tao mOt tai khoin

CTLl 1 onr.r. n

1 .2240 (cid:9)

rt0 lLd

r144314 rite 43.21

• 0.4.261 n Ne

Po It 4-2,1

• ttn., 0 4 kPi

quan tri.

elc 2. v;

11

Si tor,

• 91,,xne

Hinh 5.4. Cal clOt — Cvu kink.

(cid:9)

+ Btrerc 3: ban hay xoa thu mac install sau khi cai dat thanh cong bao mot

thong tin dm website.

ITLI P1111%1..04.1,

Hit

42 mkt...13w

due tor.

54;444.

44:

Binh 5.5. Cell dat — Kit thzic.

Trang 125

5.3. Vey ding clic chic tang

Sau khi di hoan thanh 3 busk cai dill 6 tren, ve ca bin trang web di c6 day di

the chfrc nang can quan15, tail website ban sach Thing Long.

Trong Ewe nay, thing to se tien hanh xiy dcmg tic chirc nang ma Framework

chua co. Cac chtic nang can xiy

- Quin ly tic gia. - ThOng ke truy cap

Cac chirc nang nay van phai than theo kien tnic mo hlnh MVC.

5.3.1. Quin the gib

a. D#c ti chic nang

DO phut tap: QUAN LY TAC GIA __ UseCase

MO ti Chat nang nay cho phep nhin vien ce the liet ke, them, clap nhOt, x6a thong tin ye tic gia trong he thong.

Chinh Nhan vien

IChong co. : Phi. Tic , . "Inn

A • (cid:9) Ca ser di: lieu se duqc thay dor.

.A Tien then, f Phil ding nhap vio he thOng va c6 quyen thao tac tren chuc nang nay truerc khi bit du UseCase.

/ Thkith- ' d 1,,,_ et!,,g

Tlnh trang he th6ng se khong thay Mi.

Lei

Iltin , Alen id-0i DAC TA' C TC NANG

1.,taing.sp Men chinh/K1ch bin chink

1. Chirc nil% nay bit du khi nhin vien muton liet ke, them m6i, cop nhat, x6a

thong tin ye tic gia trong he thong.

2. He thong yeu cau nhan vien xic dinh chirc fling ma hg mu6n thqc hien:

- Neu nhan vien chqn "Them mdi tdc gib" thi luting con "Heim mdi the gib" se

duqc thqc thi.

thi luting con "Cap nhat - Neu nhin vien chop "Cap nhat thOng tin the gid"

thong tin ttic gib" se duqc thqc thi.

- Neu nhan vien chqn "X& the gib" thi luting con "Xda tilt gib" se duqc thqc

thi. Them mei tic gii

1. He thOng yeu cAu nhin vien nhop ten cia tac gia. 2. Sau khi nhan vien nhOp ten tac gii, N th6ng se sinh ra ma duy nhit (mg vai m6i

Trang 126

tic gia vi tic gii d6 se duqc them vio he th8ng.

C#p nhat tic gii

1. He thong hien thi danh sich cac tic gia trong he thong. 2. Nhan vien Glum tic .gia muon cop nhat. 3. He thong truy xuat vi hien thj ten tic gia. 4. Nhfin vien cap nhat lai thong tin ve tic gii. 5. Sau khi than vien da.cap nhat, 4 thOng se cap nhat 1ai thong tin ve tac gii d6

trong 4 thong.

X6a tic gii

1. He thong hien thi danh sich vie tic gia trong he thiSng 2. Nhan vien chqn tic gia ma minh mutm x6a vi chip x6a tic gia. 3. He thong dua ra de nghi xic nhan x6a tic gia. 4. Nhan vien xac than viec x6a tic gii. He thOng se x6a tic gia de ra Ichoi he

th8ng. . (cid:9) ..

Luling ski. (cid:9)

n phit sinh/Kich bin phit sinh

Cic yen cin cl#c bi#t khic ...

Trinh duyet phii he trq Javascript.

iiith hqa -

Giao dien (cid:9) Cic giao dien nay chi co muc dich minh hqa de cho ngtroi dqc a ding hieu ham ve he thOng, giao dien thqc to c6 the duqc thay dOi met phan nao de

50 (cid:9)

v

9 (cid:9)

rogaren-nhatinfi (cid:9)

Nguyin NMI Anh (cid:9)

U

% (cid:9)

5 (cid:9)

Teo AA Chet (cid:9)

tea-aai-cat (cid:9)

N

% (cid:9)

7 (cid:9)

¤

Joanh 014anvy (cid:9)

U

invih•delaPeY (cid:9)

(cid:9)

6 (cid:9)

Phan TI. (cid:9)

IT 7 1 th (cid:9)

% (cid:9)

It

TIVSu an Cho; (cid:9)

tnau VwcAvn (cid:9)

U

% (cid:9)

"Cipl-iMNIIIWP (cid:9)

Roger i.baliti (cid:9)

X

% (cid:9)

111n148/11-1fti (cid:9)

X

% (cid:9)

Dill Gang kliCla (cid:9)

hotind (cid:9)

Pam Mg (cid:9)

2 (cid:9)

U

% (cid:9)

1 (cid:9)

Chri a NO (cid:9)

94,"A, (cid:9)

% (cid:9)

*

Giao dien vain 45 tic gib

Trang 127

Ten tac qie

tcic gia

Them (cid:9)

Imo tan 'Quahog cho bit

9

4.

Uflu 11.1

can co chic chin moan sof

a

Jot

7

11

Phan TN

6

5

Tn.° it4 Cho ,

Pigs, lorrinstvat

S. •1/4 4.

'an Ding Knoa

3

a

hots Thu

4.

1

Out C6 uga

?Y-c0492

Xoa tcic gid

b. Tir (lien der lieu

Bang ec author

._

1' (cid:9)

hi-

ern

11

No

Primary key

Int

Author_id

255

No

Author name

Unique

Nvarchar

255

No

Author_seo

Nvarchar

c. fly dying chirc nang

- Model:

+ Datong din file: Root/application/models/backend/author_model.php.

+ Ten 16p: Author_model.

+ Ten bang: ec_author.

Trang 128

(cid:9)

;

„ , (cid:9)

3,,

hiid ita

Khong

GetAuthors

Danh sich Mc tic gia hoac FALSE neu khong ton tai tic gii nao.

TRUE neu them moi tic gia thanh ding hoac FALSE

Array()

CreateAuthor

neu that bai.

CheckExists

TRUE neu kin tai tic gii phi) hqp veil thaw s6 truyen vao.

String author_name, int author id

Int author_id, array()

EditAuthor

TRUE neu cap nhat tic gib thimh cong hoac FALSE neu that b.li.

Tic gii ph6 hqp veil than s6 truyen vao hoac FALSE

Int author_id

GetAuthor

neu khong tim they.

TRUE neu 'coil thrinh ding hoac FALSE neu that bal.

Int author id _

DeleteAuthor

- Views:

+ Du?mg dan thu inue chira the view: root/application/views/backend/author.

' (cid:9)

,

6 (cid:9)

.

Backend/author

Trang My cho phep hien thj danh sick the tic gia

List

hoc tim kiem cac tic gia.

Backend/author/insert

Trang nay cho pile') them mai mat tac gii.

Insert

Trang nay cho pile') cap nhat thong tin dm tic gia. Backend/author/update

Update

- Controller:

+ Duemg dan file: root/application/controllers/backencl/author.php

+ Ten Rip: Author.

-

. (cid:9)

sPhy»ng'th 7.,

..:,74 (cid:9)

Phucmg thirc nay se thvc hien viec g9i pinning thirc GetAuthors trong Model

Index

Wang (mg.

Insert

Phuong that My se thvc hien viec gpi phuung lit CreateAuthortrong Model Wong (mg.

Phucmg thirc My se thvc hien viec g9i Sarong thirc GetAuthor, EditAuthor trong

Update

Model ttrcmg &rig.

Pinning thirc nay se thtrc hien viec g9i pinning thine DeleteAuthortrong Model

Delete

ttrong (mg.

CheckExists

Phucmg thirc nay se thvc hien viec g9i phucrng thirc CheckExistsModel tuong tern.

Trang 129

5.3.2. Thong ke truy cgp

a. D#c ti chirc nAng

THONG ICE TRUY CAP

DO phtic tap:

M8 a

Chirc nAng nay cho phep khich hang c6 the xem Itrqng truy cap hang ngity, hang thing, va tong truy cap hien tai

Tic

, ...SIM Khach hang Pli y Khong ca. ,

HMS Tian dial' hien Truy cap vao website cua citing ty sich Thing Long

Ca so du Rill se dtrqc thay deli. 11, in, h cthig

' HAl' 'diet' hien Tinh trang he thong se khong thay deli.

RAC TA CHUG NANG

Luling ay: kken chinh/Kich bin chinh

Chirc nang nay bit tau khi ngtrai dung truy cap vao website c8ng ty skh Thing Long He thong se hien thi thong tin ye Iuu knyng truy cap bao gam: - Dang truy cop (S6 humg ngutori dang troy cop) - Mom nay (56 luqng ngtrai truy cap horn nay) - Thong hien tai (S6 ngu&i truy cap trong thing nay) - T6ng so lucmg may cap

Luang air 14On phit sinh/Kjch b_ in phit Sint',

Clic yen cilitiRic Iblet Mee

Trinh duyet phai 116 trq Javascript.

Giao dien minh hqa

Cic giao dien nay chi c6 mvc dich minh hqa de cho ngutri dqc de ding hieu han ye he thong, giao dien thirc to c6 the dtrqc thay del melt phan nao 46

1 THONG Kt TRUY CAP

Deng troy Op : 2

It ftlihn nay :5

to Thing hiln 41 : 9

Tong truy Op : 9

Titling ke twang truy cap

Trang 130

b. Tir dien du lieu

Bang ec useronline

., (cid:9)

k 1

« 3 y 4 H

-

It, u

1 (cid:9)

4 (cid:9)

t4 t (cid:9)

r t No

150

Varchar

eli9ii 4*, Primary key

Session_id

No

11

Int

Tgtmp

No

50

Varchar

Ip

Yes

255

Varchar

Local

255

No

Varchar

User_agent

Bang ec counter

.

No

150

Varchar

Primary key

Session_id

No

Date

Time

No

11

Int

Day

No

Int

II

Month

No

11

Int

Year

en % .

c. fly dying chic fling

- Model

+ Duting din file: Root/application/models/frontend/user_model.php. + Ten lop: User _model. + Ten bang: ec_useronline, ec_counter

-, (cid:9) 4

...

, (cid:9)

_,..., ,,,,

Khong

iiiWinii (cid:9) (cid:9) t 41_, GetUserOnline

So ngueri dang online. SO ngtdri da truy cap theo ngly, thing, bring Ong.

Khong

GetCounter

- View

+ Duerng din thu mpc chira cac view:

‘..c

„ (cid:9)

root/application/views/frontend/includes/statics.

,

. (cid:9)

, (cid:9)

P (cid:9)

.

a

Base

. Statics.php

Trang nay cho phdp hien thj so ngutri dang online, so ngutri

truy cap theo ngiy, thing, tong tong.

- Controller

+ Duerng din file: root/application/core/Public_Controller.php + Ten lop: Public_Controller.

..ithitvng

DisplayUserOnline Phtrong that nay se that hidn viec goi phuong that GetUserOnline, GetCounter

trong Model User_model.

Trang 131

PHAN 6. ICI THUAT NANG CAO HI$U NANG VA BAO MAT CHO irNG

DUNG WEBSITE

6.1. Mat so ky &net sir dyng trong Framework

6.1.1. Method Chaining

Chu8i phucmg that (method chaining) 11 mat ckh vitt Mu het cat framework hign nay dang sir dyng, n6 khien cho doyn ma (code) dm thong ta fro n'en ngan gyn va tutmg minh hen.

Truck lien thong ta se cling nhau tim hieu den phucmg that calla day la mat trong cat phucmg thirc ma thuat (magic method) dm PHP, phuong thirc nay la tai cot lei (16 thong ta xay dung nen churn phucmg that (method chaining).

cua PHP 5.

Method Chaining chi co5 the chay khi thong ta bien dich tren mei trtrang

a. Phtrung that _call Phtrang thirc _call() dtrqc kich hoot khi chimg ta gqi mat phuong that khong co trong class. Nghia la khi chang ta gqi bat kt mat phtrang that nao ma phucmg thirc d6 khong c6 trong class thi mac nhien PHP se gqi den phucmg that _call() dm class do cho Chung ta.

b. Cich xiy Mpg chtai phtrang that

Ta 0 di cu the vio vi du de hieu re han ve each xay dyng method chaining.

//Method chaining by Nguyen BA° Trung class Database{ public $select; public $from; public $where; public $orderby;

call($name, $arguments){

public function (cid:9) $this->$name = $arguments[0]; return .$this; } public function execute()( echo 'SELECT '. $this->select . ' FROM '. $this->from . ' WHERE '. $this->where . ' ORDER BY '. $this->orderby;

Ta c6 class Database sau:

Trang 132

Chung ta c6 the they class tren chi c6 1 phucmg thfrc _call() va met phucmg thfrc execute° nhung khong he c6 cac phucmg thfrc select, from, where... Chimg ta se they la khi ggi met trong cac phucmg thfrc select, from, where... vi cac phucmg thfrc nay khong niim trong class nen _call() se &gm ggi thay the vi se duqc truyen vao 2 tham s6 $name, Sarguments trong de $name la ten phucmg thfrc va $arguments 11 mang tham se. Va ding viec con loi chi le xir ly cac du lieu 6 trong call(), 6 day dun gian la minh chi gin cac gia trj vao cac thuqc tinh cue class va sau 46 ggi den phucmg

thirc execute().

//Theo cach viAt thOng thudyng $db = new Database();

$db->select( 1 username'); $db->from('users'); $db->where('user_id = 1'); $db->order_by('id DESC'); $db->excute();

//Sir dung chuOi phuang thUc (method chaining) $db = new Database();

$db->select('username')

->from('users')->where('user_id = 1')->order_by('id DESC') ->execute();

6J1.2. Active Record

Ta se thgc hien chuSi phucmg thfrc da duqc cai dot a tren nhu sau:

a. Khali them Active Record la nhang thu vien, nhang ham dugc xay dung sin, gin!) cho ngutri trinh tin 10 han trong qua trinh ket nil database, insert, delete, update... Active

record &up rut ngin cau truy yen thong thuimg khi ttrcmg tac vai database.

Trong Framework dia chung ta, sir dung Active Record lc& hop Wd Method Chaining lint cho truy , van ngin gon hon, an town han, tranh Iti sai cu phap khi vi& cau lenh. Ta se di vao mot so Active Record duqc xay dung trong Framework nay.

+ $this->db->get();

$query = Sthis->db->get('mytable'); // Produces: SELECT * FROM mytable

+ $this->db->select();

b. Thai tic - Cac ham dual day cho phep chi:mg ta thay the cau lenh SELECT.

Trang 133

$this->db->select('title, content, date'); $query = $this->db->get('mytable'); // Produces: SELECT title, content, date FROM mytable

+ $this->db->from();

$this->db->select('title, content, date'); $this->db->from('mytable'); $query = $this->db->get(); // Produces: SELECT title, content, date FROM mytable

+ $this->db->where();

//Truyen vAo mAng $array = array('name' => $name, 'title' => $title, 'status' => $status); $this->db->where($array); // Produces: WHERE name = 'trung' AND title = 'leader' AND status = 'active'

//Truyen vAo string $where = "name='trung' AND status=tleader' OR status-'active"; $this->db->where($where);

+ $this->db->order();

$this->db->order_by("title", "desc"); // Produces: ORDER BY title DESC

+ $this->db->limit();

$this->db->limit(10, 20); // Produces: LIMIT 20, 10

- Cac ham duni day cho phep chimg ta thay the cho l'nh INSERT.

+ $this->db->insert();

$data = array(

'title' => 'My title', 'name' => 'My Name', 'date' => 'My date'

);

$this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')

- Cac ham duni day cho phep chung ta thay the cho lenh UPDATE.

+ $this->db->update();

$data = array(

'title' => $title,

Trang 134

'name' => $name, 'date' => $date );,

$this->db->where('id', $id); $this->db->uodatermytable l , $data); // Produces: // UPDATE mytable // SET title = '{$title}', name = '{$name}', date = '{$date}'

// WHERE id = $id

$this->db->delete('mytable', array('id' => $id));

// Produces: // DELETE FROM mytable // WHERE id = $id

- Cac him clued day cho phep cluing ta thay the cho Ienh DELETE.

$this->db->select('title')->from('mytable . )->wherWid',$id) - >limit(10, 20);

$query = $this->db->qet();

//Produces: SELECT title FROM mytable WHERE id = '$id' LIMIT 20, 10.

- Ngoai ra, ta co the sir dung Method Chaining.

6.1.3. AJAX

a. Dinh nghia De tai Icy thuat von luon kho khan va khong may thti vi, nhung nhcmg eau chuy'e'n ve qua trinh phat trien dm AJAX trong khong gian Cmg dung Internet da phuong tien da tao nen sue hat kho tin xuyen sag nam 2005.

AJAX, viet tat tit Asynchronous JavaScript and XML (JavaScript va XML khong citing be), la be tong cm cho phep tang tic 40 img dung web bang cash cat nhO du lieu va chi hien thi nhung gi can thief, thay vi tai di tai lai Man be trang web. AJAX !thong phai met ding nghe dun le ma la su ket hqp met them ding nghe vii nhau. Trong d6, HTML va CSS dung vai hien thi dii lieu, mo hinh DOM thrill bay th8ng tin ding, del tugng XMLHttpRequest trao doi dir lieu kh0ng ding be yeti may chic web, con XML la dinh clang chit yeu cho chi lieu truy'en. Day du 11 tong nghe san co nhung Javacript da lip rap Chung lai de thut hien nhung "sir menh" Clang 'chain phut.

Trang 135

Hau het cac cau chuyen ve nguan g6c dm AJAX dame bat (Mu tir khi Microsoft phat trien cong nghe Remote Scripting vao nam 1998. Tuy nhien, phucmg phap tai khong thing b0 nOi dung tren mOt trang web da xuAt hien trong thanh t6 IFRAME ciut Internet Explorer 3 (1996) va thinh t6 LAYER cita Netscape 4.0 am 1997. KM gieri thieu Internet Explorer 4.0, Microsoft da sir ding mo hinh d6i ttrgng tai lieu DOM khac biet. Den nam 2000, Netscape hoan tan (Midi mat thi throng trinh duyet vao tay hang phAn mem dm Bill Gates va thinh to LAYER cling khong con dtrgc cac chuyen gia phat trien web chti y teri.

Phai vai nam sau, AJAX moi lai I8i keo &me so quan tam cita gieri cong nghe va trey thanh cong co cai tien giao dien ngutri thing cho Ong dgng web. Thuat ngil nay duct nhac ten trong bai viet not tieng coa Jesse James Garrett tren trang Adaptive Path (2/2005). TO d6, AJAX trey thanh trung tam trong mqi au chuyen lien quart den the he Web 2.0.

b. Horst ding cast AJAX

browser debt us riot

smeslertem

Ifall+dala

4

sr Men

esipbe

A

NT Noel • http( s) trans

t MN. OMB

httr(s) trans t auarr

V

gab mite PIK

4101Ses.

OMSK Wks. ,

__s INICV Maws server-side systens

Set Sr MIS server-side systems

Hinh 6.1. Ong dyng web tru)4n thing (trch) va ling dyng AJAX.

TO lau, mqi ngutri da Wang ttrqng (mg dtmg may tinh r6i se dtrqc Itru va chay hoan toan tren web thay vi nlm b6 butte trong 6 cling. Du vay, viers cant' d6 yin chua the xay ra do Ong citing web bi han the beri nguyen 1y rang tat ca cac thao tic phai duqc thgc hien thong qua HTTP (HyperText Transfer Protocol - Giao thirc truyen tai sieu van ban). Nhting hoot dOng cua ngtrtri sir dong tren trang web se too ra mOt yeu au HTTP tel may chit. May chit thgc hien melt s6 khau xir ly nhu lay lai du lieu, tinh toan, krem tra su hip le cita thong tin, sira d6i b0 nher, sau do giri lai mot trang HTML hoan chinh tel may khach. Ve mat ky that, phuong phap nay nghe co ye hip ly nhung ding kha bAt tien va mat theri gian, beri khi may chit dang thgc hien vai fro dm no thi ngtreri dung se lam gi? TAt nhien la cher dqi.

DE khac phoc han the tren, cac chuyen gia phat then gidi thieu hinh thirc trung gian - co the xis 19 AJAX - gifta may khach va may chit. Dieu nay gidng nhu viec tang

Trang 136

them met 16p gift cho *rig dung de giam qua trinh "di lar dm thong tin va giant theri gian phan (mg. Thay vi tai lai (refresh) toll .' be met trang, no chi nap nhttng thong tin ducc thay doi, con gift nguyen cac phin Ichic. Vi the, khi duyet met trang ho try AJAX, ngtari sir dung !thong bao gib nhin thAy met cfra so trang (blank) va bieu tircmg dling her cat - dAu hien cho thAy may cha dang awe hien nhiem vv. Vi du, trong met website anh, vOi (mg dung truyen thong, toan be trang chira cac anh se phai mer lai to dAu neu co met thay doi nao 46 tren trang. Con khi ap dung AJAX, DHTML chi thay the doan fieu de va phAn vua chinh sera, do vA'y tao nen cac giao dich Iron tru, nhanh thong.

twit.

0.4•1n11

*Wet

chest vit applicsidat model Nedirau•)

Nu w* appiallon model (asyndwonots)

"'a (cid:9)

----- -

Hinh 6.2. Twang tcic tiling bQ trong zing Ming web truAn thong va di b6 trong zing dung AJAX

c. Nhuvc diem cull AJAX

AJAX c6 the g6p phan tao nen met the 114 mOi cho (mg dung web (nhu colr.org hay backpackit.com ). Tuy nhien, no cling la met tong nghe "nguy hiem" khi gay ra khong it rat rei ve giao then ngtrai dung. Ching hart, phim "Back" (trer lai trang truerc) dirge danh gia cao trong giao dien website chuAn. Dang tiec, chime nAng nay khong hog Ong An khop vOi Javascript va mci ngueri khong the tim lai nei dung fru& d6 khi bam phim Back. Beri vay, chi met so xuAt nhe la chi lieu tren hang da bi thay dei vi kh6 c6 the kh8i phut lai ducrc. Day la met trong nhang nguyen nhan chinh khien nhieu ngtreri khong zing he img dung Javascript.

Ben canh 46, moi ngutri khong the km lai dia chi web vio thu mix Favorite (Bookmark) dE xem lai ve sau. Do ap dung lerp trung gian de giao dich, cac img dung

Trang 137

AJAX kh8ng ca met dia chi c6 dinh cho timg nOi dung. Khiem khuyet nay lim cho AJAX de "mat diem" tong mitt ngutri dung.

d. Vi dg

Ta se di vao met vi du cu the a ca cai nhin chi tiet han ve AJAX. Ta se xiy dung met met chirc nAng dang ky ngutri dimg g6m cac thong tin sau:

ten dAng nhip; mat khiu; email yeti cac rang buk nhu sau:

- Email phai dimg dinh dang. - Mat khAu phai nhieu han 3 Icy qr. - Ten dAng nhip kh8ng dirk tang voi tir "admin".

Sau khi submit form, neu khong thoa man cac dieu kien tren thi hien thi dm% cac 8 input twang img ma se kh6ng phai load lai trang dAng ky. Ta se sir dung jQueryAJAX de thut hien ding vik tren.

register.php. - Form dAng (cid:9)

BANG Kt

Ten ding nbigx

Email

mit ithir

Hinh 6.3. AJAX — Form dang kik

- Ta nhop cac gia tri vao cac 6 input twang (mg. Sau khi nhip xong vi in Register, chimg ta se sir dung ky thuit AJAX de chuyen cac du lieu den file process.php de xir ly , neu khong hqp le ta se hien thi 16i.

Trang 138

BANG Kt

_

Tett .41tog *OE__ (cid:9) admin

Ten ding nhop dit taro tat !

Eras& abe

Email sai cnh dang !

Mtn, • Nat Idalu phai nlaclu hon 3 kt tv

P1Mr=l1

Hinh 6.4. AJAX — Hien thi

- Ta on clop code AJAX nhu sau:

//Demo AJAX by Nguyen BAo Trung

1) ;

6.1.4. Javascript

a. Dinh nghla

Javascript IA met ngOn nga th6ng djch, chucmg trinh nguton cilia no duct Ethan hoac tich hqp vao tap tin HTML. Khi trang web duqc tai trong trinh duyet hi)" trq javascript, trinh duyet se thong dich vi [hue hien the l'enh Javascipt.

b. Cich sir dyng

CO 2 each de nhang Javascript vao trong tap tin HTML.

- Cach 1: vitt chuong trinh Javascript true tiep trong file HTML.

- Cach 2: sir dung tap tin javascript ben ngoai.

Cling gi6ng nhu CSS ngoai tuyen, chting ta cling co the nhimg Javascript vao tap tin HTML bang each lien ket den met tap tin ben ngoai, day cling la phucrng thuc duqc sir dung nhieu nhat. Veri phucmg phap nay, cac lenh Javascrip se duqc viet trong mot

file rieng biet c6 phan ma r'6ng la.js.

Vi du ta c6 tap tin my.js. De nhang tap tin my.js vao to tin HTML ta sir clung

src="my.js"

type="javascript"

doan ma sau: (cid:9)

c. VI dy

Ta se sir dung Javascript de hien thj thong bao nhac nguai dimg c6 chic chin

$C.delete').click(functionuf

if( ! confirm('Ban ca chAc chSn mulin xoA san phAm nay hay khong ?')) { return false;

}

muen xod san phatn hay kh8ng.

Trang 140

6.1.5. Payment

Trong TMDT, co hai hinh thfrc thanh Man:

Thanh toan ngoai tuyen (off-line payment)

+ Phien giao djch gifra ngu?ri sir (long va nha cung cap co the din ra ma khong can den so tham gia cim ngiin hang. Nei each khlic, nha cung cap to kiem tra tinh hqp le cfm dOng tien ma khong can den so trq giup cita ben

thir ba.

Thanh toan Uvc tuyen (online payment)

+ Trong moi lan giao djch, nhi cung cap se yeu ciu ngfin hang kiem tra tinh hqp le dm dOng tien do ngtari dung chuyen truerc khi chap nhiln thanh Vi viy, he thong thanh toan trim tuyen c6 kha nang kiem tra dtrgc tinh tin

ciy cua dOng tien.

+ Thanh toan tree tuyen thich hqp veri nhang giao djch c6 gia tri lern. Veri he thong nay, qui trinh thanh town va girl tien vao ngan hang se tich biet nhau trong mOi lan giao djch. Do viy, chi phi ve then gian ding nhu lien bac se

tim kern hon.

Trong Framework dm chimg ta da tich hqp sin 2 off-line payment va 1 online payment la Paypal. Ta se di co the vio each tich hqp them cac online payment cling nhu tim hieu ve ca the cua cting thanh toan Paypal trong moc ke tiep.

a. Throng din tich hqp them cAng thanh tofu vio Framework

+ Root

- Thu now gee

+ application

+ models

+ frontend/pp_model

Khi c6 trong tay down ma tich hqp cOng thanh toan theo each thong Hurting, ta se tien hanh viec lip trinh theo dung eau true Framework nhu sau. Ta lay vi du cOng thanh toan can tich hqp la Paypal

- Noi (cid:9) a (cid:9)

xir (cid:9)

+ views

i

+ backend/payment/pp.php

- G iao (cid:9)

IS, (validate) cac tham s6 cim cling thanh toan.

de dien (cid:9) config c6ng thanh toan Paypal.

Trang 141

+ frontend/payment/pp.php

- Giao dien de hien thi the der lieu cull khach hang ci-mg nhu don hang.

+ system

+ libraries

+ Payment_pp.php

- (cid:9) Thu vien chira efic ham de hien thi giao (cid:9) dien, (cid:9) config the (cid:9) efra option (cid:9) thing (cid:9) toan, thanh (cid:9) kiem tra firth hop le dm cOng thanh toan ...

(cid:9)

Trong viec tich hqp cOng thanh toan vac, Framework dm chung to thi file quan

tong nhat la systemilibrar ies/Payment_tenviettatcongthatoan.php.

..,

,...4 (cid:9)

i . i

-1. . ..la (cid:9) s (cid:9)

Render_payment

Phuong thfrc nay se hien thi da lieu cfut ngtreri nh#n, ngueri thanh toll], de

lieu hang hoa sau 46 se day clic du lieu nay ra View tong file:

Callback

frontend/payment/pp.php. Phuang thirc nay se kiem tra tinh chinh Joie der lieu tra ye ctia Paypal a sau 46 xic nh#n xem don hang ce hqp 14 hay Icheing ?

Confirm

Sau khi xic nh#n don hang hqp 14 thi phuong tithe nay se that hien viec c$p

nh#t trang thii boa don.

Edit

Phuang thfrc nay se cip nhot the config ctia cOng thanh Wan.

- System/libraries/Payment_pp.php.

b. Ca the cis Paypal

Ta c6 cac buoy sau day de thoc hien viec thanh toan bang citing thanh toan Paypal.

Biz& 1:

+ Sau khi quy& dinh ehon mua san pharn/dich vu tai mot website c6 tich hop ding thanh toan trot tuyEn PayPal va chap nhan thanh toan bang tai khoan PayPal cua mirth, ban se duqc diEu huang vE trang (tang nhap PayPal.

+ Nhap dia chi email va password sir dung cho tai khoan PayPal ctla ban; bAm

Login de dang nhap vao tai khoan.

Trang 142

+ Trong buck nay, he thOng se sinh ra met ma (secure code) vi km trong Ca

dft lieu.

Buck 2:

+ Kiem tra gib ca (Price), so ltrong (Quantity), tong tien (Total) ciut giao dich bon can thanh total sau khi dang nhip vito PayPal. Neu mqi thong tin dell chinh xac, chqn Continue a tiep tuc quit trinh thanh tom hing.

- Buck 3:

+ Sau khi An Continue, Paypal se dieu hut:mg bin ve thong qua tham so

a (cid:9)

ma (cid:9) chung (cid:9) ta (cid:9) di (cid:9) config (cid:9) file

return url (cid:9) systemnibraries /Payment_pp . php 6 tren.

+ H .O thong se kiem tra de lieu tra ye thong qua ma secure code 6 ten, neu chInh xac thi se tien himh cap nhat hob don len thanh Pending (dang xfr 15r).

Sau khi chit so hut cua tai khoin kiem tra don hang trong If0 thOng va tai khoin ctia minh trong Paypal, nett chinh xac thi se clap nhit Wong thai hob don thinh Complete (thanh cong) va ties hAnh chuyen hang cho khach hang.

6.2. Rio mit cho ung dyng website

Ngay nay, bao mat website IA melt van de thi quan trong dei von ck nhA phat tries web. Tat ca ck (mg dung web deu c6 the a ding 1)1 tit' I cong bang ck each khk nhau chin ban nhu cross site scripting (gib ma° cbc you eau) XSS va cross site request forgery (tAn cong sir dung guy& chimg thuc cua ngtrtri quart hi website) CSRF. Ngoli ra met each Mn cong elk biet nguy hiem khbc lb SQL injection. Nhung cluing ta c6 the gibm thieu toi da ck cbch ten cong vi nang cao duqc tinh bao mat cho website coa chfing ta neu chimg ta hieu ve ne va tim each gibi quyet chung. Sau day chimg ta se tim hieu ye met so cach thfrc tan cling va !chic phuc chimg.

6.2.1. HTML injection vb Cross site scripting

Cross-Site Scripting (XSS) lit met trong nhang kg thu4t Mn cling ph6 bien nhat hien nay, dOng thai cling IA met trong nhing van de bao mat toi quan trong dOi veri cbc nhb phat tries web va ca nhang ngutri sir dung website. BAt k5r met website nio cho phep ngutri sir dung dang th8ng tin ma khong c6 sit kitm tra chit the cic doan ma nguy hiem thi deu dr the tiem An cbc loi XSS.

Cross-Site Scripting hay con duqc goi tit IA XSS (thay vi pi tat IA CSS de tranh nhAm Ian voi CSS — Cascading Style Sheet dm HTML) IA met kg thuo't tan cong bang each chen vio cbc website dOng (ASP, PEW, JSP ...) nhang the HTML hay nhCmg doan ma script nguy hiem c6 the gay nguy hal cho nhUng ngutri sir dung khk. Trong de, nhang doan ma nguy hiem duqc chen vim hau het duqc viet bang ck Client — Site Script nhu JavaScript, Jscript, DHTML va cling co the IA cac the HTML. Kg thu'ot ten

Trang 143

6.2.1.1 Hogt &Ong cua XSS

Ong XSS da nhanh cheng tra thanh mOt trong nhung 16i ph6 bien nhit cua Web Applications va mid de doa cua chiing deli vat nguai sir dung ngiy cang Ian. Ngubi chien thing trong cuOc thi eWeek OpenHack 2012 la ngutri da tim ra 2 XSS mai. Phiti chang mit nguy hiem to XSS ngay can duqc m9i ngtrtri chit y hot ?

was

ihttp://www.example.com/search.cgi?query=

Ve co ban XSS ding nhu SQL Injection hay Source Injection, n6 cling la cac yeu can request duqc giri tir cac may client toi server nhlm chen vao do cac thong tin vtrqt qua lam kiem xoat dm server. NO c6 the la mOt request duqc giri tir cac form da lieu hoc cling co the do chi li cac URL nhu:

Vi eat co the trinh duyet cua ban se hien len mOt thong bdo "XSS was found !". Cac doan ma trong the script khong he bi giai han bai chang hoan town co the thay the bing mOt file ngutin tren mOt server khdc th8ng qua thuOc tinh src da the script. Cling chinh vi le da ma chimg to chum the luting het duqc do nguy hiem cfia cac loi XSS.

6.2.1.2 Gifu phcip

Nhung neu nhu cac thuot tan cong khac co the lam thay doi duqc da lieu nguan cua web server (ma ngtain, eau true, co s6 dli lieu) thi XSS chi gay Mn hai d6i vai website 6 phia client ma nan than trqc tiep la nhCmg ngutri khach duyet site do. Tit nhien doi khi cac hacker ding sir dung ki thuat nay de deface cac website nhung d6 vin chi tin cong vao be mat cua website. That Nifty, XSS 11 nhung Client-Side Script, nhang doan ma nay se chi chay b6i trinh duyet phia client do d6 XSS khong lam anh huting den he th6ng website nim tat server. Mpc tieu tan cong cua XSS khong ai !chic chinh la nh&ng ngtrai sir dung !chic cua website, khi ho vo tinh vao cac trang co china cac doan ma nguy hiem do cac hacker de lai h9 c6 the bi chuyen tai cac website khk, cldt lai homepage, hay nang hon la mat mat khau, mat cookie tham chi may tinh ban co the se bi di dc loai virus, backdoor, worm ...

Nhu da de cap 6 tren, mOt tin cong XSS chi thqc hien duqc khi gui mOt trang web cho trinh duyet web dm nan than c6 ken.' theo ma script dOc cua ke tan cong. Vi vay nhCmg nguai phat trien web c6 the bao 4 website cua minh kh6i bi Ica dung thong qua nhung tan cong XSS nay, dam bao nhang trang phit sinh dOng kh8ng china cac tag cua script bing each 19c va xac nhan hqp ly cac dli lieu dau vao tir phia ngueri dung hodc ma hea (endcoding) va 19c dc gid tri xuat cho ngueri dung. Neu nhu ban dang sir dung PHP thi co the tan dung mOt so ham c6 sin cua PHP nhu htmlspecialchars, htmlenti ties de ma hod Ur d'Ong (enconding) hoc st rip_tags nen khong muon co HTML trong nOi dung.

Trang 144

6.2.2. SQL Injection

6.2.2.1 SQL Injection lit gi ?

Khi trien khai cac img dung web tren Internet, nhieu nguari van nghi rang viec dam bao an town, bao mat nhitm giam thieu t6i da kha nang bi tar' t ding tir cac tin tic chi dun thuan tip trung vao cac van de nhu chip he dieu hanh, he quart tri cu so du lieu, img dung nao cho may chit Web,... ma quen mat rang ngay ca ban than img dung chay tren 46 cling tiem an mOt 16 hong bao mil rat Tern. Mqt trong se) cac 16 hOng nay, d6 la SQL injection. Trong than gian vita qua, kW:mg it website tai Viet Nam da bi tan ding vi da s6 deu la 18i SQL injection. Valy SQL injection la gi ?

SQL injection la min kyr thuat cho phep nhemg ke tan ding lqi dung 16 Wing trong viec kiem tra du lieu nhap trong cac Ung dung web va cac thong bao 16i dm he quart tri cu sir du lieu de tiem vao va thi hanh cac au lenh SQL bit hop phip (khong duqc nguai phat trien img dung !Ong three). Hau qua coa no rat tai hai vi no cho phep nhcmg Ice tan cling co the thoc hien thao tic xoa, hieu chinh, ... do co town quyen tren cc sir dir lieu cern img dung, thann chi server ma img dung 46 dang chay.

he quan tri cu so du lieu nhu SQL Server, MySQL, Oracle, DB2, Sysbase

L6i nay thutmg xay ra tren cac img dung web co du lieu duerc quan 19 bang cac

6.2.2.2 Cgc dung tiro tong SQL Injection

Co b6n clang thong darting bao g6m: vuqt qua kiem tra luc dang nhap, sir dung

cau lenh SELECT, sir dung tau lenh INSERT, sir dung cac stored - procedures.

De biet cac website co bi tan c8ng SQL injection hay khong, ta sir dung cac soft

hok the c8ng et; tim kiem 161.

a. Mpg tan cling kiem tra lie ding nh$p

Veri dung tan cling nay, tin tic co the de' clang vuqt qua cac trang (Icing nhap niter

vao 16i khi dung the eau lenh SQL thao tic tren cu sir du lieu cita img dung web.

Xet mOt vi du dien hinh, thong thuerng de cho phep ngueri dung truy cap vao

cac trang web duqc bio mot, he tilting thuong xay dung trang dang nhap de yeu a'u

ngtred dung nhap th8ng tin ve ten dang nh#p hok mat khan. Sau khi ngueri dung nh#p

thong tin vac', he thong se kiem tra ten (tang nhap va mat khau co hop le hay 'thong

quyet Binh cho phep hay tir choi thut hien ti'ep. Trong truing hop nay, nguoi ta ce the ding hai trang, mOt trang HTML de' hien thi form nhap lieu va mOt trang PHP

(hthc ASP, JSP ...) dimg de xir ly th8ng tin nhap tir phia ngtrai dung.

Neu ta viet code theo each thong thuemg 6 trang xir 19 thong tin thi dtrerng nhu

Trang 145

khong china bat k9 met 18 hOng bao mat nit). Ngueri dung kh8ng the clang nhap neu

ten Clang nhap host mat khAu kh8ng hqp le. Tuy nhien, QS the doan ma nay khong

thuc str an toan va la tien de cho met lei SQL injection. Dac biet, chi; so her (neu c6)

nam o chE nhap lieu vio tir ngtrtri dung de xay dung true tiep nen cau truy Van SQL.

Chinh dieu nay cho phep nhtmg ke tan cong co the dieu khien cau truy vAn se &gm

thuc hien. Vi du, neu ngueri dung nhap chugi sau vao ca trong 2 o nhap lieu

OR " = " Lac nay cau truy vAn se

username/password cua trang HTML la:

SELECT * FROM T USERS WHERE USR NAME - " OR "=" AND USR PASSWORD= " OR "="

duqc thud hien nhu sau:

Cau truy van nay la hqp le va se tri ye tit ca da lieu cita bang T_USERS va doan ma fiep theo x6 19 ngtr6i dung ding nhap bAt hqp phap nay nhu met ngurn dung hqp le.

b. Dung tin cong sir dung cau II§nh SELECT

Vi du, to co (cid:9)

http://domain/news.php?id=123 . h4d nguan cho chile

Dung tan cong nay phi= tap hon. De thuc hien duce kieu tan cong nay, ke tat' cong phai c6 kith nang hieu va lqi dung the so her trong the thong bao lei tin he thOng de d6 tim the diem yeu kheri dAu cho viec tacit cong. Xdt met vi du rat thuong gap trong the website ve tin tiro. Thong thu?mg, se c6 met trang nhan ID cila tin can hien thj roi sau d6 truy vAn not dung dm tin c6 ID nay.

//Lay ma tin tirc bang phuong thirc $_GET (int)$news id = $ GET('id');

//Xai dung cau truy van SELECT v6i $news_id = 123 $strSQL = "SELECT * FROM T NEWS WHERE news id = $news id"; //Thuc hiOn truy van $query = mysqlquery($strSQL);

//Tra ve )(At qua return mysql_fetch_array($query);

nang nay thubrng dtrqc viet kha dun gian nhu sau:

Trong cac tinh huong thong thu&ng, doan ma nay hien thi nOi dung dm tin co ID thing veri ID da chi dinh va halt nhu khong thAy co 18i. Tuy nhien, gi6ng nhu vi du clang nhap 6 tnrac, doan ma nay de 10 so her cho met lei SQL injection khac. Ke tin cong co the thay the met ID hqp 10 bang each gin ID cho met gia tri Ichic, va tir do, kheri dau cho mot cuec tan cong bat hqp phap, vi du nth": 0' OR 1 = 1, tic la URL bay giar se tra thanh: http: //domain/news .php?id=0' or 1 = 1. Cali truy

Trang 146

van SQL kw nay se tra ve het tit ca cat tin tire tir bang T_NEWS vi no se thut hien cau truy yin:

$strSQL = "SELECT * FROM TNEWS WHERE news id = '0' OR 1 = 1'";

DROP TABLE T AUTHORS

lit nhien trong vi du not ten, throng nhu khong co gi nguy hiem, nhung hay this., Wang Wang Ice tin cong co the xoa Wan be co. set dif lieu bing cach then vao cat doan lenh nguy hiem nhu DROP TABLE. Vi do nhu:

c. Ding tin cong sir dyng (cid:9) Itinh INSERT

Thong thuang the (mg dung web cho phop ngu?ri dung clang ki met tai khoan de tham gia. Clare Ming khong the thieu la sau khi dang ki thanh tong, ngtred dung co the xem vi hieu chinh thong tin cim mirth. SQL injection cc!, the dirge dimg khi he thing khong kiem tra tinh hop le dm thong tin nhap vao.

$strSQL = INSERT INTO TABLE NAME VALUES ('Value One', 'Value Two', 'Value Three'); $query = mysql_query($strSQL);

Vi du, to co ?loan ma that hien viec INSERT dfr lieu vao nhu sau:

INSERT INTO TableName VALUES ( " +

Neu that thi ma lenh ten thi chic chin ban di mac 16i SQL injection, bed vi nen ( SELECT TOP 1 FieldName FROM

6.2.2.3 Gicii phcip phong thong SQL Injection

Ice tan tong nhap vao truing this nhat: + TableName) + ' Lac nay truy yin so (SELECT TOP 1 FieldName FROM TableName) + ", 'abc', 'def'). !Chide, hit thtrc hien lenh INSERT Mtn thi xem nhu ban da you cAu that hien them met tau lenh nita do la: SELECT TOP 1 FieldName FROM TableName.

Diem yeu SQL Injection bit ngulin tir viec xis 15, &I lieu tir nguiri Ming khong tot, do do viec xay dtmg ma nguen dim bao an ninh la cot 16i cim viec phOng chting SQL Injection. MOt vii giai phap sau day co the giam thieu fel da tan cong SQL Injection.

a. Mo hinh danh sach cho ph6p — Whitelist

M8 hinh whitelist liet ke danh sach nhUng gia hi input nao duct cho phep, chinh vi the khi xay dung no din hal ngutri phat trien phai hieu re logic nghiep vu dm *rig (long ducm thy clang. MOt se dic diem dm input ma mo hinh nay chi, y ton nhu kieu du lieu, do Mb, mien da lieu (del veri input kieu s6) hoac met se dinh clang chuin khic. Vi dy, yea clang met usemame thueng dung cho met database cong ty, thi met mitt hop le se la cat kY to gi&i han trong c6 15 kj, ttr, chi china chic cai va con se. Cac dieu kien nay pho thuOc nhi'eu vao logic nghiep vu va thoi thuo'n von ngutri sir dung.

Trang 147

Ban e6 the sir dung cac ham co sin cita NIP de thut hien viec kiEm tra der lieu tren nhu strlen, is_numeric... hok sir dung the ham bieu thirc chinh quy (regular expression).

b. M8 hinh dank sick cam — Blacklist

Mo hinh nay xay dung nen cac mau input duqc cho 11 nguy hiem vi se khong chAp nhan nhang matt nay. Mo hinh nay kern hieu qua hcm m8 hinh whitelist do s6 lugng kha ding xay ra cua met input xilu rat lern va khet cop nhAt cac mau nay.

Tuy nhien uu diem dm phuang phip nay so yea phuang phip whitelist IA viec xay dung don gian hon. Neu sir dung phuang phip nay thl ta can phai ma hod output de giam thieu nguy co rd ri thong tin ve nheng mau ma m8 hinh nay b6 set.

MOt dieu chit y hap &Si yeti viec sir dung me hinh blacklist vi whitelist, d6 la cac mau nay nen dirge xir IS, 6 phia client (thong qua javascript, jquery...). Bai trong met phien lam viec phirc tap, dieu can tranh nhAt cho ngu&i dung IA tat ca mqi thong tin da xir IS1 bi huS,, phai lim lai tir dAu do phat hien c6 dieu bit On trong input. Tuy da xir 1S, 6 client, nhung dieu d6 khong dam bao cac input de da an toan, chting ta van can phai

thgc hien lam sach da lieu 6 cac btrerc tiep theo.

6.2.3. Cross — site Request Forgery

Cross — site Request Forgery (CSRF) la met kg, thuat tan cong bang each sir dung guy& chimg thue coa ngutri quan tri website, hay neoi each khite la lgri dung quyEn cua ngtrtri quan trj website de thgc thi nhOng tic vu ma mirth mong mu6n (ngutri quart tri se khong he biet mirth hi lqi dung).

frau qua dm no kh6 co the biet dugc la nang hay nhg. Va ngtrtri thge hien tan cong nay phii la ngutri am hieu source code ctia img dung web muOn tan cong, c6 the la ngu&i lam ra n6 hay met CMS nao do hoc source code bi le, bin vi neu main tan cong theo each thirc nay thi ngutri tan cong phai nam dirge duemg link trong trang quan

6.2.3.1 Cach that tan cling

Ta see di vao cu the melt vi du de hieu re hap ve each thirc tan cong CSRF. Gia sir, trang quan trj cua chting ta ea chic nang xoa san pham vii dutmg link nhu saw

http: / /domain/ungdung/admin/delete/1. Ta hieu dual% link nay nhtr sau: !Man duqc request xoa san pham vii ma san pham II 1 sau do xac thut quyen va thgc hien xoa neu xac thgc quyan dirge thong qua. Ket qua am doing link nay la san pham vii ma sin pham la 1 se bi xoa khed khoi Ca so di: lieu.

Vay neu, tin tat biEt dtrgc dutrng link nay va Chung se gin tii email dm ngtrtri

quan tri met bite thu nac danh co nei dung nhu sau:

Trang 148

src="http://domain/ungdung/admin/delete/1 " (cid:9)

width="0"

width="0"

src="http://domain/ungdung/admin/delete/2 " (cid:9)

src="http://domain/ungdung/admin/delete/3 " (cid:9)

width="0"

Ngutri (wan tri thay email till se click vao de xem dux, va vOi nhfkng bac hinh kh6ng dugc hien thi nay, ngu&i quan tri se vo tinh ggi tgi ang dung va xoa (delete) nh&ng sin pham c6 ma san pham trong url.

Qua vi dp nay ta ding phan nao thay duqc mac dr) nguy hiem cua cich thi c tan

62.3.2 Gicii phop

ding CSRF.

De phang trinh each thac tan cong clang CSRF nay ta thutmg c6 ba

phucmg in sau:

- Dung POST thay cho GET. - Mai khi thao tic trong trang (pan tri thi phai cung cap mat khau. - Su dung *it token va kiem tra token neu hqp le thi mai xtir

//Khei tao met bien token $token = md5(unigid(rand(), true));

//Thay vi clueing link xoa nhu tren, ta se thay the nhu sau: url: http://domain/ungdung/admin/delete/1?token=$token

//Mk nay, khi xu lY viec xoa san phem ta se lam nhu sau: If($token == $_GET[Itoken'])

//Thuc hien xoa

} Else

//Token khong hqp 10.

}

Trong ba phuong An ke tren thi phutmg in thin ba se khien cho viec khai thac CSRF ter nen kho khan han, nhung dieu d6 khong thing nghia yeti viec chang ta co the phang chOng hoan town CSRF. Phuong an nay duqc thgc hien kha de dang nhu saw

Trang 149

KET LU4N

Khea lufm nay da trinh bay each de xay dung Framework thircmg mai dien ter.

Khea luan da di sau tim hieu the van de:

- Tim hieu ve he th6ng thtrong mai dien ter, - Biet dirge tong quan ve cac PHP Framework, - Ve cac mAu this& ke (Design Pattern) nlur MVC, Registry, Singleton. - Cach xay dung cac helper, library. - Sir dung Ajax trong Framwork - Cfich bao mat chung cho met img dung WEBSITE

Ket qui thu dirge sau khi thut hien khoa luan:

- Nang cao dirge cac icy rang viet tai lieu, (Lich tai lieu chuyen nganh. - Biet dirge cac Idle khan va ding th&i el cac phuong phip giai quyet eat khe

khan trong qua trinh vitt mot tai lieu chuyen

Huth% phat trien sau nay:

- Xay dung cac CMS de h6 trg viec to nhanh ra 1 Website thircmg mai dien to - Ap dung nhUng gi trong khOa luan de phat hien cac san pham ve thucmg mai

dien ter.

Li ngu&i that hien khOa luan, chung em hi vcing met ngay kh8ng xa cac kien

thee nay c6 the ap dung vao that to de dem lai Igi ieh cho ban than va xd hOi.

Met !An nth em xin than thanh cam an cac Thay, Co da tao dien kien gulp do em

hoan thanh tea khOa 1u4n tot nghiep nay.

Trang 150

TM LIEU THAM 'CHAO

• TM lieu fling Viet

[1] - Ebook tin cong vi pheng thfi website, Trung tam an ninh mang, Dai hoc Bach Khoa HI Nei, nam 2011

[2] - SQL Injection, Dai hoc Khoa hoc Tv nhien — DHQG TP.HCM, nam 2009 [3] - Giio trinh Thuvng mai then tfr ca bin, Dai hoc Ngoai Thuong, nam 2011 [4] - Slide Lep trinh Web, Dai hoc Thing Long [5] - Gil° trinh He thOng thong tin gain if, Dai hoc Thing Long [6] - Gig° trinh Cong ugh' plan mem, Dai hoc Thing Long

• Milieu tieng Auh

[1] - Michael Peacock, Packt Publishing PHP5 E-commerce Development [2] - Cristian Dade, Emilian Balanescn, Beginning PHP and MySQL E- Commerce, Second Edition

• Cie Website tham khio

[1] - http://stackoverflow.com [2] - http://www.qhonline.info/ [3] - http://www.w3programmers.cotn/singleton-design-pattern-in-php/ [6] - http://www.w3schools.com/

Trang 151