TRNG I HC M TP. H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN
KHÓA LUN TT NGHIP
XÂY DNG WEBSITE BÁN MÁY TÍNH VÀ LINH
KIN MÁY TÍNH QUA MNG
Ngành: Công Ngh Thông Tin
Hng chuyên ngành: Qun Tr Mng
Khóa: 2007 - 2011
Ging viên hng dn: TS. LÊ XUÂN TRNG
Sinh viên thc hin:
LÂM HOÀNG THIN MSSV: 10701131
TP. H Chí Minh, tháng 9 nm 2011
LI CM N
hoàn thành tt khóa lun tt nghip này, trc tiên em xin gi li cm n đn
thy Lê Xuân Trng ngi đã tn tình hng dn và giúp đ em trong sut thi gian
làm khóa lun.
Em xin chân thành cm n quý thy, cô trng i Hc M Thành ph H Chí
Minh đã tn tình dìu dt, ging dy và truyn đt nhng kin thc quý báo trong sut
thi gian em hc ti trng.
Em xin cám n gia đ
ình, bn bè và nhng ngi luôn luôn đng viên và giúp đ
em trong sut thi gian qua.
Mc dù em đã c gng bng tt c s nhit tình và nng lc ca mình nhng do
trình đ còn hn ch và thi gian hn hp nên chc chn s còn nhiu thiu sót. Rt
mong nhn đc s đóng góp ý kin ca quý thy cô và ban lãnh đo đ đ tài này
hoàn chnh và mang tính thc tin hn.
NHN XÉT CA GING VIÊN HNG DN
NHN XÉT CA GING VIÊN PHN BIN
Trang i
MC LC
DANH MC CÁC BNG iv
DANH MC S VÀ HÌNH v
DANH MC T VIT TT VÀ TING ANH vii
CHNG 1: TNG QUAN 1
1.1. Gii thiu: 1
1.2. Phm vi đ tài: 2
1.2.1. Thit k c s d liu: 2
1.2.2. Xây dng ng dng buôn bán và qun lý máy tính, linh kin máy tính: 2
1.2.3. Xây dng ng dng h thng website: 3
1.3. Phng pháp nghiên cu: 4
1.4. B cc: 5
CHNG 2: C S LÝ THUYT 6
2.1. Gii thiu Web Server 6
2.2. Gii thiu PHP (Hypertext PreProcesor) 6
2.2.1. Phn mm mã ngun m: 7
2.2.2. Lp trình hng đi tng 7
2.2.3. Tính bo mt 8
2.3. Thông dch trang PHP 8
2.4. Cách thc hot đng ca trang HTML và PHP: 9
2.5. Kiu d liu, hng s và bin trong PHP 10
2.5.1. Kiu d liu: 10
2.5.2. Hng s: 11
2.5.3. Bin s. 11
2.6. Toán t trong PHP 12
2.7. X lý giá tr form trong PHP 13
2.8. Các hàm API trong PHP 14
2.8.1. Gii thiu MySQL: 14
2.8.2. Các hàm c bn làm vic vi c s d liu MySQL 14
2.9. Session và Cookie: 17
2.9.1. Session: 17
2.9.2. Cookie: 18
CHNG 3: PHÂN TÍCH H THNG. 20
3.1. Phân tích yêu cu. 20
Trang ii
3.1.1. Xác đnh yêu cu: 20
3.1.2. Phân tích yêu cu: 21
3.2. S đ phân tích các chc nng ngi dùng ca h thng. 23
3.2.1. Khách hàng: 23
3.2.2. Thành viên: 24
3.2.3. Nhân viên nhp hàng 27
3.2.4. Administrator. 28
3.3. Cu trúc h thng (hình 3.1): 33
3.4. Quy trình thc hin giao dch ca h thng 33
3.4.1. Các công vic thc hin trong tng giai đon (hình 3.6). 33
3.4.2. Trên c s quy trình thc hin giao dch, mô hình d liu ca h thng đc thit k nh
sau (hình 3.7): 35
3.5. Thit k c s d liu ca website: 36
3.5.1. Mô hình thc th kt hp (Entity – Relationship): 36
3.5.2. Mô t chi tit các thc th 37
3.5.3. Mô hình d liu quan h (hình 3.9): 40
3.5.4. Cu trúc các bng d liu: 40
CHNG 4: HIN THC CHNG TRÌNH. 44
4.1. Giao din website bán máy tính – linh kin máy tính. 44
4.1.1. Trang ch website. 44
4.1.2. Phn header. 44
4.1.3. Phn footer. 45
4.1.4. Phn left menu. 45
4.1.5. Phn right menu. 46
4.1.6. Phn content: 46
4.2. ng kí và đng nhp ca h thng website . 47
4.2.1. ng kí. 47
4.2.2. ng nhp: 48
4.3. Qun lý thông tin cá nhân. 49
4.3.1. Cp nht thông tin cá nhân: 49
4.3.2. Thay đi mt khu: 50
4.3.3. Các đn hàng đã đt: 50
4.4. Các chc nng thc hin giao dch ca website: 50
4.4.1. Mua hàng: 50
4.4.2. To gi hàng: 52
Trang iii
4.4.3. To đn đt hàng. 52
4.4.4. Thanh toán trc tuyn. 55
4.5. Các chc nng qun tr ca website. 59
4.5.1. Chc nng nhp hàng. 60
4.5.2. Qun lý hàng tn kho. 61
4.5.3. Qun lý máy b HT. 61
4.5.4. Qun lý đn đt hàng – xut hàng. 63
4.5.5. Qun lý nhà cung cp. 64
4.5.6. Qun lý loi sn phm. 65
4.5.7. Qun lý ngi dùng ca h thng website 66
4.5.8. Thng kê hàng nhp. 68
4.5.9. Thng kê hàng xut. 69
CHNG 5: KT LUN 70
5.1. Các chc nng đã làm đc. 70
5.2. Kin ngh. 70
TÀI LIU THAM KHO 73
Trang iv
DANH MC CÁC BNG
Bng 2.1. Bng kiu s nguyên 10
Bng 2.2. Bng kiu s thc 11
Bng 2.3. Bng các loi toán t trong PHP 13
Bng 3.1. Bng nhà cung cp 40
Bng 3.2. Bng khách hàng 41
Bng 3.3. Bng hóa đn 41
Bng 3.4. Bng chi tit hóa đn 42
Bng 3.6. Bng linh kin máy b ráp 42
Bng 3.7. Bng sn phm 42
Bng 3.8. Bng phiu nhp 43
Bng 3.9. Bng chi tit phiu nhp 43
Bng 3.10. Bng phng thc thanh toán 43
Bng 3.11. Bng phng thc giao hàng 43
Trang v
DANH MC S VÀ HÌNH
Hình 2.1. Quá trình thông dch trang PHP 8
Hình 2.2. Cách thc hot đng ca trang HTML. 9
Hình 2.3. Cách thc hot đng ca trang PHP 10
Hình 3.2. Mô hình chc nng khách hàng. 23
Hình 3.3. Mô hình chc nng thành viên. 25
Hình 3.4. Mô hình chc nng nhân viên nhp hàng. 27
Hình 3.5. Mô hình chc nng administrator 29
Hình 3.1. Cu trúc h thng website 33
Hình 3.6. Quy trình thc hin giao dch ca h thng. 34
Hình 3.7. Mô hình d liu ca h thng. 35
Hình 3.8. Mô hình thc th k hp (ER). 36
Hình 3.9. Mô hình d liu quan h 40
Hình 4.1. Trang ch ca website. 44
Hình 4.2. Phn header ca website. 45
Hình 4.3. Phn footer ca website. 45
Hình 4.4. Phn left menu ca website. 46
Hình 4.5. Phn right menu ca website. 46
Hình 4.6. Phn content ca website. 47
Hình 4.7. Trang đng kí ca website. 47
Hình 4.8. Trang đng nhp ca website. 48
Hình 4.9. ng nhp vi tài khon b khóa. 48
Hình 4.10. Trang giao din các chc nng qun lý thông tin cá nhân. 49
Hình 4.11. Trang cp nht thông tin khách hàng. 49
Hình 4.12. Trang thay đi mt khu khách hàng. 50
Hình 4.13. Trang chi tit sn phm. 51
Hình 4.14. Chc nng xem nhiu nh ca sn phm. 51
Hình 4.15. Trang gi hàng ca khách hàng. 52
Hình 4.16. Trang cung cp thông tin đn hàng. 53
Hình 4.17. Trang to đn hàng online vi thanh toán tin mt. 54
Hình 4.18. Thông báo đt hàng thành công. 54
Hình 4.19. Trang to đn hàng online vi thanh toán trc tuyn. 54
Hình 4.20. Trang to các tài khon o trên Paypal Sandbox. 56
Hình 4.21. Trang đng nhp tài khon thanh toán 57
Trang vi
Hình 4.22. Trang thanh toán trên server ca Paypal. 57
Hình 4.23. Trang đã thanh toán hoàn tt. 58
Hình 4.24. Trang đng nhp vi tài khon ca ca hàng. 58
Hình 4.25. Trang kim tra thanh toán ca khách hàng 59
Hình 4.26. Trang giao din các chc nng ca nhà qun tr 59
Hình 4.27. Trang nhp hàng vào website (khi cha nhp sn phm). 60
Hình 4.28. Trang nhp sn phm mi hoc c. 60
Hình 4.29. Trang nhp hàng vào website (khi đã nhp sn phm). 60
Hình 4.30. Trang qun lý hàng tn kho. 61
Hình 4.31. Trang qun máy b HT. 61
Hình 4.32. Trang thêm máy b HT. 62
Hình 4.33. Trang chnh sa máy b HT. 62
Hình 4.34. Trang giao qun lý đn đt hàng. 63
Hình 4.35. Trang chi tit đn đt hàng. 64
Hình 4.36. Trang qun lý nhà cung cp. 64
Hình 4.37. Trang thêm nhà cung cp mi. 64
Hình 4.38. Trang chnh sa nhà cung cp. 65
Hình 4.39. Trang qun lý loi sn phm. 65
Hình 4.40. Trang thêm loi sn phm mi. 65
Hình 4.41. Trang chnh sa loi sn phm. 66
Hình 4.42. Trang qun lý ngi dùng khi tài khon đng nhp là nhà qun tr. 66
Hình 4.43. Thng báo khóa tài khon. 67
Hình 4.44. Thông báo không đc khóa tài khon admin, hoc systemadmin. 67
Hình 4.45. Trang qun lý ngi dùng khi tài khon đng nhp là nhà qun tr cp cao. 68
Hình 4.46. Trang thng kê hàng nhp ban đu. 68
Hình 4.47. Thng kê hàng nhp. 68
Hình 4.48. Trang thng kê hàng xut ban đu. 69
Hình 4.49. Thng kê hàng xut. 69
Trang vii
DANH MC T VIT TT VÀ TING ANH
API Application Programming Interface
Banner Biu ng
CNTT Công ngh thông tin
Control iu khin
Content Ni dung
CSDL C s d liu
Database C s d liu
Form Mu
HTML Hypertext Markup Language
Language Ngôn ng
Left Bên trái
List Danh sách
Logic Lp lun hp lý
Logo Biu tng, hình nh đi din
Main Chính
Password Mt khu
PHP Hypertext Preprocessor
Right Bên phi
Server Máy phc v, máy ch
Site Ch, v trí
Submit Trình, đ trình
Username Tên ngi s dng
View Tm nhìn, quang c
nh
Web World Wide Web
Website Là tp hp nhiu trang web
Window Ca s
Trang 1
CHNG 1: TNG QUAN
1.1. Gii thiu:
Nn khoa hc ca th gii đang trong giai đon phát trin nhanh và có trình đ cao,
mt trong nhng ngành phát trin nht có th nói là công ngh thông tin, ngành công
ngh thông tin hin nay đã có ng dng vào hu ht tt c các lnh vc t giáo dc,
kinh doanh, gii trí, …. cho đn mua bán, đc bit là mua bán qua mng và còn gi là
thng mi đin t (ecommerce).
Thng mi đin t đ cp đ
n mt quá trình mua bán mà ngi mua và ngi
nhn không cn trc tip mua bán vi nhau mà thông qua mt thit b máy tính, mà
môi trng ph bin nht đó là Internet.
Thc t nc ta hin nay do c s h tng còn thp, trình đ dân trí cha cao và
nhng hiu bit ca mi ngi v thng mi đin t còn khá m h nên ít có nhng
cá nhân, doanh nghip,… quan tâm đn thng mi đ
in t. Cùng vi tc đ đô th
hóa ngày càng tng nhanh, cuc sng con ngi ngày càng phát trin, chúng ta cng
dn mt đi thi gian rãnh ri ca mình cho các công vic thit yu ca cuc sng nh:
mua sm đ dùng gia đình, qun áo, đin thoi, máy tính, …. Do đó đ giúp cho các
công vic mua sm này ngày càng tr nên nhanh chóng và tn ít thi gian hn chúng
ta có th ng dng hình thc mua bán thông qua mng Internet.
Bên cnh
đó các doanh nghip, cá nhân khi có nhu cu qun bá thng hiu, sn
phm trc tip vi nhiu khách hàng hoc tìm c hi kinh doanh vi nhiu doanh
nghip, cá nhân khác nhng li mun gim chi phí nhân công, mt bng kinh doanh,
hay đn gin là ch gi xe cho khách hàng. Khi đó vic mua bán qua mng có th đáp
ng tt các nhu cu này.
Mua bán qua mng s gim bt các khó khn cho các doanh nghip, cá nhân và
tng cng áp dng nhng tin b khoa h
c k thut vào vic qun lý, tn dng ngun
lc mnh m t Internet đ phát trin kinh doanh.
Mua bán qua mng s thay th cách thc buôn bán và gii thiu sn phm truyn
thng phc tp, mt thi gian và hiu qu thp.
Trang 2
T nhng nhn đnh trên cùng vi vic đáp ng nhu cu ngày càng cao và đa dng
ca khách hàng do đó cn thit phi có mt h thng buôn bán đin t mà trong đó
mt phn không nh là h thng bán các thit b máy tính qua mng.
1.2. Phm vi đ tài:
Thc hin vic nghiên cu bán hàng qua mng. Nghiên cu các mô hình và cách
thc hot đng ca mt website bán hàng qua mng chun, và qua đó s áp dng thc
t vào ng dng.
tài nhm mc đích phc v công vic buôn bán và qun lý kinh doanh trên
Internet bao gm buôn bán các thit b máy tính, linh kin máy tính, và đ tài bao gm
nhng ni dung:
1.2.1. Thit k c s d liu:
Xây dng mt h thng c
s d liu MySQL phù hp vi nhu cu h tr công
vic buôn bán và qun lý kinh doanh trên Internet cho website và các giao dch qua
mng Internet.
1.2.2. Xây dng ng dng buôn bán và qun lý máy tính, linh kin máy tính:
Chng trình x lý d liu MySQL đ xây dng ng dng và kt hp vi ngôn
ng lp trình PHP (Hypertext Preprocessor) đ phát trin ng dng, và chng trình
cho phép thc hin các chc nng:
• Giao din:
S dng công c Rapid PHP 2010 đ thit k giao din cho chng trình.
• H thng:
S dng chng trình VertrigoServ là chng trình to máy ch PHP và
MySQL, chng trình bao gm [Apache server + MySQL].
S dng chng trình Navicat Premium đ qun lý và thit lp kt ni c s d
liu đn Server VertrigoServ.
H thng phân quyn cho phép ngi dùng truy cp vào các chc nng ca h
thng.
Trang 3
• Danh mc chc nng:
H thng danh mc giúp ngi qun tr có th chn la nhanh chóng các chc
nng qun lý ca chng trình.
Qun lý thêm, chnh sa các danh mc: SN PHM, KHÁCH HÀNG, NHÀ
QUN TR , NHÀ CUNG CP, LOI SN PHM.
Xem xét và thay đi trng thái các danh mc: N T HÀNG, NHP
HÀNG, XUT HÀNG.
Thng kê các danh mc: THNG KÊ HÀNG NHP, HÀNG XUT. Cho phép
trng bày hoc không trng bày các sn phm đc hin th lên website.
Cho phép khóa tài kho
n đng nhp ca các thành viên hoc nhà qun tr ca h
thng website (ch đc phép khóa khi có cp bc cao hn).
• Nghip v:
To và qun lý các hóa đn: mua, bán, nhp, xut, vi các mã sinh t đng và t
đng ly các thông tin nh giá bán,… đã đc qui đnh trc. Nhà qun tr cng
có th sa đi các thông tin này.
Qun lý hàng tn kho và thng kê hàng hóa. Thc hin công tác kim kê, điu
chnh hàng tn kho khi có sai lch vi thc t.
1.2.3. Xây dng ng dng h thng website:
Thc hin công vic gii thiu, qu
ng bá, mua bán sn phm qua mng. Nhm h
tr cho vic m rng phm vi kinh doanh. Gm các thành phn và yêu cu chính:
• Gii thiu v sn phm, dch v:
Cung cp cho khách hàng nhng thông tin cn thit v các sn phm, dch v.
Chúng đc chia theo danh mc, mi danh mc có nhiu sn phm đc trình
bày di dng danh sách các thành phn bao gm hình nh, mô t và giá thành.
• Phn đt hàng, gi hàng:
Bao gm các chc nng to gi hàng, ly thông tin giao hàng, to đn hàng
online. Các chc nng đc chia ra tng trang đ khách hàng d dàng theo dõi
quá trình to đn hàng.
Trang 4
• Thanh toán trc tip vi khách hàng:
Bao gm vic đt hàng, chn phng thc thanh toán là trc tip và hoàn tt đn
đt hàng, khi đó nhà qun tr s xem xét đn hàng và liên h khách hàng đ giao
hàng.
• Thanh toán trc tuyn:
H thng h tr khách hàng thanh toán trc tuyn thông qua server ca Paypal,
nhm mc đích đ to thun li cho khách hàng trong quá trình mua hàng và
thanh toán qua mng Internet.
• Phn qun tr:
Qun lý thêm, xóa, chnh sa các sn phm, đn đt hàng, khách hàng, nhà cung
cp, ….
• Tìm kim:
Cho phép tìm các thông tin trên website theo loi sn phm, nhà cung cp, giá
t, giá đn ca sn phm mt cách nhanh chóng.
1.3. Phng pháp nghiên cu:
thc hin đ tài buôn bán qua mng này, em đã tin hành tìm hiu, nghiên cu,
thc t vic bán hàng qua mng ca các website bán hàng qua mng chun nh:
www.thegioididong.com, www.pcgamesupply.com, …. Và bên cnh đó em cng đã tìm
hiu các phn mm đ phát trin ng dng nh: Rapid PHP 2010, Navicat Premium,
VertrigoServ, … Và cùng vi nhng phng pháp khác nh:
• Phng pháp tng hp kin thc:
H thng hóa các kin thc đã thu thp t đó phân tích, đánh giá tng ni dung
ca vic bán hàng qua mng.
• Phng pháp nghiên cu tài liu:
Tham kho các tài liu, ebooks, sách báo có liên quan đn vic xây dng và
qun lý bán hàng qua mng.
Trang 5
1.4. B cc:
Chng 1: Tng quan
Gii thiu lý do chn đ tài, mc đích và phm vi ca đ tài.
Chng 2: C s lý thuyt
Trình bày c s lý thuyt đ phát trin đ tài.
Chng 3: Phân tích h thng
Nêu lên các bc phân tích và đa ra các mô hình đ xây dng đ tài.
Chng 4: Hin thc
Trình bày chi tit các chc nng ca đ tài.
Chng 5: Kt lun
Tóm tt các chc nng chính đã làm đ
c, và đ xut hng phát trin ca
đ tài trong tng lai.
Trang 6
CHNG 2: C S LÝ THUYT
2.1. Gii thiu Web Server
Chc nng ca Web Server là chy trên nn ca h điu hành, lng nghe các yêu
cu ai đó trên web gi đn, sau đó Web Server s tr li nhng yêu cu này và cp
phát nhng trang web thích ng. Thc t nhim v ca Web Server là phi cung cp
tính n đnh cho môi trng web.
APACHE là mt kiu mu Web Server rt ph bin. Ging nh Linux, PHP,
MySQL, Apache cng là mt d án ngun m. Và do đó Apache đ
c h tr rt tt
trên môi trng Unix, nhng ch khá tt trong Windows
Apache là ngun m nên bt kì ai có kh nng đu có th vit chng trình m
rng tính nng ca Apache. PHP hot đng vi t cách là mt phn m rng ca
Apache (module ca Apache).
Apache có tính n đnh và tc đ khá nhanh. Tuy nhiên Apache không h tr công
c đ ha trc quan do đó khi phi thc hin các thay đi đ
i vi Apache chúng ta
phi s dng dòng lnh.
Apache đc phát trin và duy trì bi mt cng đng mã ngun m di s bo tr
ca Apache Software Foundation. Apache đc phát hành vi giy phép Apache
License và là mt phn mm t do và min phí.
2.2. Gii thiu PHP (Hypertext PreProcesor)
Tên đy đ ca PHP ban đu đc vit tt bi cm t Personal Home Page, và
đc phát trin t nm 1994 bi Rasmus Lerdorf. Lúc đu PHP đc dùng đ lu du
vt ngi dùng trên các trang web, sau đó phát trin lên nh là mt máy đc t
(scripting engine). Vào nm 1997 PHP không còn là mt d án cá nhân ca Rasmus
Lerdorf mà tr thành mt công ngh web quan trng, và sau đó đã có nhiu phiên bn
PHP ra đi. T phiên bn PHP4, PHP có phn m rng là (*.php), và đc g
i là PHP
Hypertext PreProcesor.
PHP là ngôn ng script chy trên phía server (trên nn PHP Engine) nh các server
script khác (jsp, asp, …). Cùng vi ng dng webserver đ qun lý chúng.
PHP cho phép xây dng các ng dng web trên mng Internet hay Intranet tng
tác vi mi c s d liu nh: MySQL, Oracle, SQL Server, …
Trang 7
PHP có th chy trên các nn tng các h điu hành khác nhau nh: Windows,
Linux, Unix, …. Và có th đem mã PHP vit trên máy này chy trên các máy có h
điu hành khác mà không cn phi sa li mã.
Do có các u đim là ngôn ng mã ngun m, min phí, uyn chuyn, tc đ
nhanh, nh gn, cú pháp ging vi C và Java, d hc, thi gian xây dng ng dng
tng đi ngn hn so vi các ngôn ng lp trình web khác do đó, PHP
đã nhanh
chóng tr thành mt trong nhng ngôn ng lp trình web ph bin nht hin nay.
2.2.1. Phn mm mã ngun m:
Phn mm có mã ngun m là nhng phn mm đc cung cp di c dng mã
và ngun không ch là min phí v giá mua mà ch yu là min phí v bn quyn bao
gm: có quyn sa đi, ci tin, phát trin, nâng cp nhng phi theo mt s
nguyên
tc chung qui đnh trong giy phép phn mm mã ngun m mà không cn phi xin
phép ai, đây là điu mà không đc phép đi vi các phn mm có mã ngun đóng.
PHP cng là mt sn phm mã ngun m nên vic cài đt và tùy bin PHP là min
phí và t do. Và vì có u đim là mã ngun m nên PHP có th đc cài đt trên hu
ht các web server thông dng hin nay nh: Apache, IIS, …
Là mt ngôn ng mã ngun m
cùng vi s ph bin hin nay ca PHP thì cng
đng PHP đc coi là khá ln, do đó vic cp nht các bn vá li ca các phiên bn
khá nhanh chóng, vì th khin PHP tr nên rt linh hot trong vic hoàn thin chính
mình. Cng đng h tr và chia s kinh nghim ca PHP cng rt ln, vi rt nhiu
din đàn, blog trong và ngoài nc, do đó đã khin cho quá trình tìm hiu và tip cn
PHP tr nên r
t nhanh chóng và hiu qu.
Bên cnh đó PHP còn đc cung cp mt h thng th vin khá phong phú: do
ngay t đu PHP đc thit k nhm mc đích xây dng và phát trin các ng dng
trên web nên PHP cung cp rt nhiu hàm xây dng sn giúp thc hin nhanh chóng
các công vic: gi nhn mail, làm vic vi cookie, … rt d dàng.
Và cùng vi th vin code phong phú nên vic hc tp và ng dng PHP tr nên
r
t d dàng và đây cng là mt đc đim khin cho càng nhiu ngi s dng PHP đ
phát trin các ng dng web.
2.2.2. Lp trình hng đi tng
Trang 8
Ngày nay, khái nim lp trình hng đi tng đã không còn xa l vi lp trình
viên, vi li ích ca mô hình lp trình này mang li nên nhiu ngôn ng đã trin khai
đ h tr.
T phiên bn PHP5, PHP đã có kh nng h tr hu ht các đc đim ni bt ca
lp trình hng đi tng nh là: Inheritance (tha k), Abstraction, Interface, …
Vi vic ngày càng có nhiu Framework và ng dng PHP vi
t bng mô hình
OOP( Object Oriented Programming) nên vic lp trình viên tip cn và m rng các
ng dng này tr nên d dàng và nhanh chóng.
2.2.3. Tính bo mt
PHP là mã ngun m và vi cng đng phát trin PHP rt tích cc nên có th nói
PHP là khá an toàn.
PHP cng cung cp nhiu c ch cho phép trin khai tính bo mt vào ng dng
nh Session, các k thut ép kiu, th vin PDO (PHP Data Object), … đ tng tác
vi c s d liu
đc an toàn hn.
2.3. Thông dch trang PHP
Khi ngi s dng yêu cu mt trang PHP, lúc này yêu cu s đc chuyn đn
Web Server và Web Server này s gi PHP Engine đ thông dch trang PHP và tr v
kt qu v cho ngi s dng.
Hình 2.1. Quá trình thông dch trang PHP
Trang 9
2.4. Cách thc hot đng ca trang HTML và PHP:
Vi các trang HTML:
Khi có yêu cu ti mt trang web t phía ngi dùng (browser). Web server thc
hin 3 bc sau:
- c yêu cu t phía browser.
- Tìm trang web trên server.
- Gi trang web đó li cho browser (nu tìm thy) qua mng Internet hay mng
Intranet.
Hình 2.2. Cách thc hot đng ca trang HTML.
Vi các trang PHP:
Khác vi các trang HTML, khi mt trang PHP đc yêu cu, web server phân tích
và thi hành các đon mã PHP đ to ra trang HTML. c th hin qua 4 bc sau:
- c yêu cu t phía browser.
- Tìm trang web trên server.
- Thc hin các đon mã PHP trên trang web đó đ sa đi ni dung ca trang.
- Gi tr li ni dung cho browser.
Trang 10
Hình 2.3. Cách thc hot đng ca trang PHP
S khác nhau gia HTML và PHP là HTML không đc thc hin trên máy ch
Web server còn các trang *.php vit bng các đon mã PHP đc thc hin trên máy
ch Web server do đó các trang PHP linh đng và mm do hn.
2.5. Kiu d liu, hng s và bin trong PHP
2.5.1. Kiu d liu:
PHP có 3 kiu d liu c bn: kiu s nguyên, kiu s thc và kiu chui. Ngoài ra
còn có các kiu d liu khác nh: arrays, objects,…
• Kiu s nguyên:
Bng 2.1. Bng kiu s nguyên
• Kiu s thc:
Trang 11
Bng 2.2. Bng kiu s thc
• Kiu chui (string):
Cha các giá tr bao gm các kí t và con s vi chiu dài vô hn.
• Arrays:
Cha các kiu d liu mng.
• Objects:
Cha các kiu d liu đi tng.
2.5.2. Hng s:
Hng s là giá tr không đi k t sau khi khai báo, các giá tr hng s thng dùng
đ lu các giá tr không đi trong sut chng trình nh: hng s pi (3.14), các giá tr
thi gian (ngày, tháng, nm), …
• Khai báo hng s:
Dùng hàm define() đ khai báo hng s.
Ví d:
define(“YELLOW”, “FFFF00”); //khai báo hng s YELLOW ng vi màu vàng
• Kim tra hng s:
Dùng hàm defined() dùng k kim tra xem mt hng nào đó đã đc khai báo
hay cha.
Ví d:
if(defined(“YELLOW”)){
// YELLOW đã đc khai báo ri
}
else{
// YELLOW cha đc khai báo
}
2.5.3. Bin s.
Trang 12
Khi thc hin khai báo bin trong PHP thì không cn phi tuân th quy đnh khai
báo kiu d liu trc tên bin và có giá tr khi đu nh trong C mà ch cn s dng
tin t $ trc tên bin.
Ví d:
$a = 1; //$a là mt bin kiu interger
$a = 1.1; //$a là mt bin kiu double
$a = “Hello”; //$a là mt bin kiu string
$a = arrays(“one”, “two”, “three”); //$a là mt bin kiu arrays
Có th thay đi kiu giá tr ca mt bin bng cách ép kiu.
$a = 1.1; // $a là mt bin kiu double
$a = (int)$a; //$a đc ép kiu sang int và có giá tr là: 1
$a = (double)$a; //$a đc ép kiu sang double và có giá tr là: 1.0
$b = (string)$a; //$a đc ép kiu sang string và gán giá tr cho $b: “1”
• Tm vc ca bin:
Tm vc ca bin ph thuc vào ni khai báo bin, nu bin khai báo bên ngoài
hàm thì s có tm vc trong trang PHP, ngc li nu bin ch đc khai báo
bên trong hàm thì s có tm vc trong hàm đó.
Ngoài ra đ s dng bin toàn cc trong hàm cn phi khai báo t khóa global
trc bin, và khi đó bin toàn cc s có hiu lc bên trong hàm.
• Mt s hàm làm vic vi bin:
- Gettype(): Hàm này tr v kiu ca mt bin nào đó, và giá tr tr v có th
là: interger, double, string, array, …
- Settype(): Hàm này ép kiu cho mt bin nào đó, và giá tr tr v là 1 nu ép
kiu thành công, 0 nu tht bi.
- Isset(): Hàm kim tra mt bin đã đc gán giá tr hay cha, và giá tr tr v
1 nu bin đã đc gán giá tr, 0 nu cha đc gán.
- Unset(): Hàm s gii phóng b
nh cho mt bin nào đó.
- Empty(): Hàm tr v là 1 nu bin rng, 0 nu bin không rng. i vi bin
kiu interger giá tr 0 đc coi là rng, đi vi bin kiu string là rng khi
khai báo là chui rng ($string = “”).
2.6. Toán t trong PHP
Trang 13
Khi lp trình trên ngôn ng PHP là s dng các cú pháp ca ngôn ng C, C++. Và
cng nh bt k ngôn ng lp trình nào khác trong PHP cng có các toán t đ thc
hin các phép toán trên s hc hay trên chui.
Bng 2.3. Bng các loi toán t trong PHP
Loi toán t Toán t Din gii Ví d
Toán hc
+ Phép cng $x + $y
- Phép tr $x - $y
* Phép nhân $x * $y
/ Phép chia $x / $y
% Phép chi ly phn d $x % $y
So sánh
> So sánh ln hn $x > $y
< So sánh nh hn $x < $y
>= Ln hn hoc bng $x >= $y
<= Nh hn hoc bng $x <= $y
!= So sánh khác $x != $y
== So sánh bng $x == $y
Logic
! NOT !$x
&& AND $x && $y
|| OR $x || $y
Kt hp
++ Bng vi $x = $x + 1 $x++
Bng vi $x = $x - 1 $x
+= Bng vi $x = $x + $y $x += $y
-= Bng vi $x = $x - $y $x -= $y
*= Bng vi $x = $x * $y $x *= $y
/= Bng vi $x = $x / $y $x /= $y
Gán
= Gán giá tr “abc” cho $x $x = “abc”
2.7. X lý giá tr form trong PHP
Mt trong nhng ng dng quan trng ca PHP là giúp tng tác x lý d liu trên
form ca ngi s dng. Nhm mc đích giúp cp nht thông tin mt cách linh đng
Trang 14
và d dàng. Tuy nhiên PHP yêu cu form phi đáp ng mt s quy đnh chung đã đc
đt ra
<form name=”Tên form” action=”Link x lý” method=”Phng thc”>
Mt form trong PHP phi bao gm:
- Tên form: đ d dàng tách bit vi các giá tr ca chúng.
- Action: hành đng chuyn tip đn link x lý.
- Method: là phng thc truyn bao gm POST và GET.
2.8. Các hàm API trong PHP
2.8.1. Gii thiu MySQL:
MySQL là h thng c s d liu quan h. Ý ngha c bn ca MySQL là có th
lu tr các thông tin trên nhng vùng khác nhau và liên kt chúng li vi nhau.
MySQL cho phép to nhng thông tin riêng l trên bng hoc nhng khu vc cha
thông tin thích hp. Trong MySQL mi bng bao gm nhng trng d liu (field)
riêng l.
PHP h tr mt s lng ln các hàm làm vic vi các c s
d liu nh: MySQL,
Oracle, SQL Server, v.v…Thông qua chun ODBC (Open Database Connectivity),
bng cách s dng các hàm API (Application Programming Interface) mà PHP có th
làm vic vi nhiu h qun tr c s d liu nh vy.
2.8.2. Các hàm c bn làm vic vi c s d liu MySQL
• Các hàm kt ni đn MySQL Server:
PHP cung cp hai hàm kt ni đn c s d liu MySQL là: mysql_connect() và
mysql_pconnect().
1. Mysql_connect():
- Hàm này s to ra mt liên kt ti máy ch MySQL.
- Cú pháp:
int mysql_connect(string[hostname[:port][:/path_to_socket]],
string[username], string[password]);
- Hostname: Tên máy ch c s d liu, ni trang web cha c s d liu,
giá tr ngm đnh là “localhost”.
- Port: a ch cng ni c s d liu lng nghe yêu cu, giá tr ngm đnh
là “3306”.
- Username: Tên ca ngi dùng đc phép kt ni vào c s d liu.