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. S 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. a. So sinh ma hinh MVC yeti ma Mall 3 lap 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. 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 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. vai chAng. phong chOng XXS, SQL Injection hoc CRSF. the Models, Libraries, Helpers, ...c6 lien quan. Cbc hook dirge khai boo trong tap tin application/config/hooks.php, ce ); 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:
';I Controller I
HTTP Request
update(request data)
(cid:9)0
show() (cid:9)
I
getData0
HTTP Response
2.3.3. Deic diem ctia me kink MVC
MVC mtblecture
Bu tn.?
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
2. Rooting: Qua trinh diau &rang gifip xac OM the you eau va Man xir 19 dOi
3. Security: DI lieu truok khi dirge chuyen den cac Controller se dirge luc de
4. Application Controller: Controller xir 19 du lieu nhOn dirge bang each ggi den
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;
2 mau sau:
Shook['controller'] = array(
'class'
'function'
'filename'
'filepath'
'MyClass',
'Myfunction',
'Myclass.php',
'hooks',
'params'
array('beer', 'wine', 'snacks')
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:
-
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
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:
. ______
(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
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
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
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. Hit 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. 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. 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) .. Trinh duyet phii he trq Javascript. 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 ¤ (cid:9) IT 7 1 th (cid:9) % (cid:9) It 2 (cid:9) Trang 127 Ten tac qie tcic gia Them (cid:9) 9 4. Uflu 11.1 can co chic chin moan sof 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 • 11 No Primary key Int Author_id 255 No Author name Unique Nvarchar 255 No Author_seo Nvarchar (cid:9) Trang 129 Chirc nAng nay cho phep khich hang c6 the xem Itrqng truy cap
hang ngity, hang thing, va tong truy cap hien tai , ...SIM Khach hang
Pli y Khong ca. , Ca so du Rill se dtrqc thay deli. 11, in, h
cthig ' HAl'
'diet'
hien Tinh trang he thong se khong thay deli. 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 Trinh duyet phai 116 trq Javascript. 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 Trang 130 ., (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 . No 150 Varchar Primary key Session_id No Date Time No 11 Int Day No Int II Month No 11 Int Year en %
. -, (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. . a Base 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. 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. httr(s) trans t
auarr 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•) Hinh 6.2. Twang tcic tiling bQ trong zing Ming web truAn thong va di b6 trong zing
dung 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. 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) mit ithir - 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 P1Mr=l1 - 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. 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 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 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 (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 $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. 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 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 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 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 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 151ITLI P1111%1..04.1,
42 mkt...13w
due tor.
54;444.
Lei
C#p nhat tic gii
Luling ski. (cid:9)
n phit sinh/Kich bin phit sinh
Cic yen cin cl#c bi#t khic
...
iiith hqa
-
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)
6 (cid:9)
Phan TI. (cid:9)
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)
U
% (cid:9)
1 (cid:9)
Chri a NO (cid:9)
94,"A, (cid:9)
% (cid:9)
*
Giao dien vain 45 tic gib
Imo tan 'Quahog cho bit
a
b. Tir (lien der lieu
Bang ec author
._
1' (cid:9)
hi-
ern
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)
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.
5.3.2. Thong ke truy cgp
a. D#c ti chirc nAng
THONG ICE TRUY CAP
DO phtic
tap:
M8 a
Tic
HMS
Tian dial' hien Truy cap vao website cua citing ty sich Thing Long
RAC TA CHUG NANG
Luling ay: kken chinh/Kich bin chinh
Luang air 14On phit sinh/Kjch b_ in phit Sint',
Clic yen cilitiRic Iblet Mee
Giao dien minh hqa
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
b. Tir dien du lieu
Bang ec useronline
Bang ec counter
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)
, (cid:9)
P (cid:9)
.
Statics.php
..ithitvng
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
V
gab mite PIK
4101Ses.
OMSK Wks. ,
__s INICV Maws
server-side systens
Set Sr MIS
server-side systems
Nu w* appiallon model (asyndwonots)
"'a (cid:9)
----- -
c. Nhuvc diem cull AJAX
d. Vi dg
BANG Kt
Ten ding nbigx
Email
Hinh 6.3. AJAX — Form dang kik
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
Hinh 6.4. AJAX — Hien thi
b. Ca the cis Paypal
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 ?
6.2.2.2 Cgc dung tiro tong SQL Injection
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
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:
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.
6.2.3.1 Cach that tan cling
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.
KET LU4N
TM LIEU THAM 'CHAO