Tải bản đầy đủ (.pdf) (84 trang)

Xây dựng website bán máy tính và linh kiện máy tính qua mạng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.98 MB, 84 trang )

TRNG I HC M TP. H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN





KHÓA LUN TT NGHIP




XÂY DNG WEBSITE BÁN MÁY TÍNH VÀ LINH
KIN MÁY TÍNH QUA MNG




Ngành: Công Ngh Thông Tin

Hng chuyên ngành: Qun Tr Mng

Khóa: 2007 - 2011




Ging viên hng dn: TS. LÊ XUÂN TRNG
Sinh viên thc hin:
LÂM HOÀNG THIN MSSV: 10701131









TP. H Chí Minh, tháng 9 nm 2011


LI CM N

 hoàn thành tt khóa lun tt nghip này, trc tiên em xin gi li cm n đn
thy Lê Xuân Trng ngi đã tn tình hng dn và giúp đ em trong sut thi gian
làm khóa lun.
Em xin chân thành cm n quý thy, cô trng i Hc M Thành ph H Chí
Minh đã tn tình dìu dt, ging dy và truyn đt nhng kin thc quý báo trong sut
thi gian em hc ti trng.
Em xin cám n gia đ
ình, bn bè và nhng ngi luôn luôn đng viên và giúp đ
em trong sut thi gian qua.
Mc dù em đã c gng bng tt c s nhit tình và nng lc ca mình nhng do
trình đ còn hn ch và thi gian hn hp nên chc chn s còn nhiu thiu sót. Rt
mong nhn đc s đóng góp ý kin ca quý thy cô và ban lãnh đo đ đ tài này
hoàn chnh và mang tính thc tin hn.


NHN XÉT CA GING VIÊN HNG DN


























NHN XÉT CA GING VIÊN PHN BIN

























Trang i

MC LC

DANH MC CÁC BNG iv
DANH MC S  VÀ HÌNH v
DANH MC T VIT TT VÀ TING ANH vii
CHNG 1: TNG QUAN 1
1.1. Gii thiu: 1
1.2. Phm vi đ tài: 2
1.2.1. Thit k c s d liu: 2
1.2.2. Xây dng ng dng buôn bán và qun lý máy tính, linh kin máy tính: 2

1.2.3. Xây dng ng dng h thng website: 3
1.3. Phng pháp nghiên cu: 4
1.4. B cc: 5
CHNG 2: C S LÝ THUYT 6
2.1. Gii thiu Web Server 6
2.2. Gii thiu PHP (Hypertext PreProcesor) 6
2.2.1. Phn mm mã ngun m: 7
2.2.2. Lp trình hng đi tng 7
2.2.3. Tính bo mt 8
2.3. Thông dch trang PHP 8
2.4. Cách thc hot đng ca trang HTML và PHP: 9
2.5. Kiu d liu, hng s và bin trong PHP 10
2.5.1. Kiu d liu: 10
2.5.2. Hng s: 11
2.5.3. Bin 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. Gii thiu MySQL: 14
2.8.2. Các hàm c bn làm vic vi c s d liu MySQL 14
2.9. Session và Cookie: 17
2.9.1. Session: 17
2.9.2. Cookie: 18
CHNG 3: PHÂN TÍCH H THNG. 20
3.1. Phân tích yêu cu. 20
Trang ii

3.1.1. Xác đnh yêu cu: 20
3.1.2. Phân tích yêu cu: 21
3.2. S đ phân tích các chc nng ngi dùng ca h thng. 23

3.2.1. Khách hàng: 23
3.2.2. Thành viên: 24
3.2.3. Nhân viên nhp hàng 27
3.2.4. Administrator. 28
3.3. Cu trúc h thng (hình 3.1): 33
3.4. Quy trình thc hin giao dch ca h thng 33
3.4.1. Các công vic thc hin trong tng giai đon (hình 3.6). 33
3.4.2. Trên c s quy trình thc hin giao dch, mô hình d liu ca h thng đc thit k nh
sau (hình 3.7): 35
3.5. Thit k c s d liu ca website: 36
3.5.1. Mô hình thc th kt hp (Entity – Relationship): 36
3.5.2. Mô t chi tit các thc th 37
3.5.3. Mô hình d liu quan h (hình 3.9): 40
3.5.4. Cu trúc các bng d liu: 40
CHNG 4: HIN THC CHNG TRÌNH. 44
4.1. Giao din website bán máy tính – linh kin máy tính. 44
4.1.1. Trang ch website. 44
4.1.2. Phn header. 44
4.1.3. Phn footer. 45
4.1.4. Phn left menu. 45
4.1.5. Phn right menu. 46
4.1.6. Phn content: 46
4.2. ng kí và đng nhp ca h thng website . 47
4.2.1. ng kí. 47
4.2.2. ng nhp: 48
4.3. Qun lý thông tin cá nhân. 49
4.3.1. Cp nht thông tin cá nhân: 49
4.3.2. Thay đi mt khu: 50
4.3.3. Các đn hàng đã đt: 50
4.4. Các chc nng thc hin giao dch ca website: 50

4.4.1. Mua hàng: 50
4.4.2. To gi hàng: 52
Trang iii

4.4.3. To đn đt hàng. 52
4.4.4. Thanh toán trc tuyn. 55
4.5. Các chc nng qun tr ca website. 59
4.5.1. Chc nng nhp hàng. 60
4.5.2. Qun lý hàng tn kho. 61
4.5.3. Qun lý máy b HT. 61
4.5.4. Qun lý đn đt hàng – xut hàng. 63
4.5.5. Qun lý nhà cung cp. 64
4.5.6. Qun lý loi sn phm. 65
4.5.7. Qun lý ngi dùng ca h thng website 66
4.5.8. Thng kê hàng nhp. 68
4.5.9. Thng kê hàng xut. 69
CHNG 5: KT LUN 70
5.1. Các chc nng đã làm đc. 70
5.2. Kin ngh. 70
TÀI LIU THAM KHO 73



Trang iv

DANH MC CÁC BNG
Bng 2.1. Bng kiu s nguyên 10
Bng 2.2. Bng kiu s thc 11
Bng 2.3. Bng các loi toán t trong PHP 13
Bng 3.1. Bng nhà cung cp 40

Bng 3.2. Bng khách hàng 41
Bng 3.3. Bng hóa đn 41
Bng 3.4. Bng chi tit hóa đn 42
Bng 3.6. Bng linh kin máy b ráp 42
Bng 3.7. Bng sn phm 42
Bng 3.8. Bng phiu nhp 43
Bng 3.9. Bng chi tit phiu nhp 43
Bng 3.10. Bng phng thc thanh toán 43
Bng 3.11. Bng phng thc giao hàng 43
Trang v

DANH MC S  VÀ HÌNH
Hình 2.1. Quá trình thông dch trang PHP 8
Hình 2.2. Cách thc hot đng ca trang HTML. 9
Hình 2.3. Cách thc hot đng ca trang PHP 10
Hình 3.2. Mô hình chc nng khách hàng. 23
Hình 3.3. Mô hình chc nng thành viên. 25
Hình 3.4. Mô hình chc nng nhân viên nhp hàng. 27
Hình 3.5. Mô hình chc nng administrator 29
Hình 3.1. Cu trúc h thng website 33
Hình 3.6. Quy trình thc hin giao dch ca h thng. 34
Hình 3.7. Mô hình d liu ca h thng. 35
Hình 3.8. Mô hình thc th k hp (ER). 36
Hình 3.9. Mô hình d liu quan h 40
Hình 4.1. Trang ch ca website. 44
Hình 4.2. Phn header ca website. 45
Hình 4.3. Phn footer ca website. 45
Hình 4.4. Phn left menu ca website. 46
Hình 4.5. Phn right menu ca website. 46
Hình 4.6. Phn content ca website. 47

Hình 4.7. Trang đng kí ca website. 47
Hình 4.8. Trang đng nhp ca website. 48
Hình 4.9. ng nhp vi tài khon b khóa. 48
Hình 4.10. Trang giao din các chc nng qun lý thông tin cá nhân. 49
Hình 4.11. Trang cp nht thông tin khách hàng. 49
Hình 4.12. Trang thay đi mt khu khách hàng. 50
Hình 4.13. Trang chi tit sn phm. 51
Hình 4.14. Chc nng xem nhiu nh ca sn phm. 51
Hình 4.15. Trang gi hàng ca khách hàng. 52
Hình 4.16. Trang cung cp thông tin đn hàng. 53
Hình 4.17. Trang to đn hàng online vi thanh toán tin mt. 54
Hình 4.18. Thông báo đt hàng thành công. 54
Hình 4.19. Trang to đn hàng online vi thanh toán trc tuyn. 54
Hình 4.20. Trang to các tài khon o trên Paypal Sandbox. 56
Hình 4.21. Trang đng nhp tài khon thanh toán 57
Trang vi

Hình 4.22. Trang thanh toán trên server ca Paypal. 57
Hình 4.23. Trang đã thanh toán hoàn tt. 58
Hình 4.24. Trang đng nhp vi tài khon ca ca hàng. 58
Hình 4.25. Trang kim tra thanh toán ca khách hàng 59
Hình 4.26. Trang giao din các chc nng ca nhà qun tr 59
Hình 4.27. Trang nhp hàng vào website (khi cha nhp sn phm). 60
Hình 4.28. Trang nhp sn phm mi hoc c. 60
Hình 4.29. Trang nhp hàng vào website (khi đã nhp sn phm). 60
Hình 4.30. Trang qun lý hàng tn kho. 61
Hình 4.31. Trang qun máy b HT. 61
Hình 4.32. Trang thêm máy b HT. 62
Hình 4.33. Trang chnh sa máy b HT. 62
Hình 4.34. Trang giao qun lý đn đt hàng. 63

Hình 4.35. Trang chi tit đn đt hàng. 64
Hình 4.36. Trang qun lý nhà cung cp. 64
Hình 4.37. Trang thêm nhà cung cp mi. 64
Hình 4.38. Trang chnh sa nhà cung cp. 65
Hình 4.39. Trang qun lý loi sn phm. 65
Hình 4.40. Trang thêm loi sn phm mi. 65
Hình 4.41. Trang chnh sa loi sn phm. 66
Hình 4.42. Trang qun lý ngi dùng khi tài khon đng nhp là nhà qun tr. 66
Hình 4.43. Thng báo khóa tài khon. 67
Hình 4.44. Thông báo không đc khóa tài khon admin, hoc systemadmin. 67
Hình 4.45. Trang qun lý ngi dùng khi tài khon đng nhp là nhà qun tr cp cao. 68
Hình 4.46. Trang thng kê hàng nhp ban đu. 68
Hình 4.47. Thng kê hàng nhp. 68
Hình 4.48. Trang thng kê hàng xut ban đu. 69
Hình 4.49. Thng kê hàng xut. 69

Trang vii

DANH MC T VIT TT VÀ TING ANH
API Application Programming Interface
Banner Biu ng
CNTT Công ngh thông tin
Control iu khin
Content Ni dung
CSDL C s d liu
Database C s d liu
Form Mu
HTML Hypertext Markup Language
Language Ngôn ng
Left Bên trái

List Danh sách
Logic Lp lun hp lý
Logo Biu tng, hình nh đi din
Main Chính
Password Mt khu
PHP Hypertext Preprocessor
Right Bên phi
Server Máy phc v, máy ch
Site Ch, v trí
Submit Trình, đ trình
Username Tên ngi s dng
View Tm nhìn, quang c
nh
Web World Wide Web
Website Là tp hp nhiu trang web
Window Ca s


Trang 1

CHNG 1: TNG QUAN
1.1. Gii thiu:
Nn khoa hc ca th gii đang trong giai đon phát trin nhanh và có trình đ cao,
mt trong nhng ngành phát trin nht có th nói là công ngh thông tin, ngành công
ngh thông tin hin nay đã có ng dng vào hu ht tt c các lnh vc t giáo dc,
kinh doanh, gii trí, …. cho đn mua bán, đc bit là mua bán qua mng và còn gi là
thng mi đin t (ecommerce).
Thng mi đin t đ cp đ
n mt quá trình mua bán mà ngi mua và ngi
nhn không cn trc tip mua bán vi nhau mà thông qua mt thit b máy tính, mà

môi trng ph bin nht đó là Internet.
Thc t  nc ta hin nay do c s h tng còn thp, trình đ dân trí cha cao và
nhng hiu bit ca mi ngi v thng mi đin t còn khá m h nên ít có nhng
cá nhân, doanh nghip,… quan tâm đn thng mi đ
in t. Cùng vi tc đ đô th
hóa ngày càng tng nhanh, cuc sng con ngi ngày càng phát trin, chúng ta cng
dn mt đi thi gian rãnh ri ca mình cho các công vic thit yu ca cuc sng nh:
mua sm đ dùng gia đình, qun áo, đin thoi, máy tính, …. Do đó đ giúp cho các
công vic mua sm này ngày càng tr nên nhanh chóng và tn ít thi gian hn chúng
ta có th ng dng hình thc mua bán thông qua mng Internet.
Bên cnh
đó các doanh nghip, cá nhân khi có nhu cu qun bá thng hiu, sn
phm trc tip vi nhiu khách hàng hoc tìm c hi kinh doanh vi nhiu doanh
nghip, cá nhân khác nhng li mun gim chi phí nhân công, mt bng kinh doanh,
hay đn gin là ch gi xe cho khách hàng. Khi đó vic mua bán qua mng có th đáp
ng tt các nhu cu này.
Mua bán qua mng s gim bt các khó khn cho các doanh nghip, cá nhân và
tng cng áp dng nhng tin b khoa h
c k thut vào vic qun lý, tn dng ngun
lc mnh m t Internet đ phát trin kinh doanh.
Mua bán qua mng s thay th cách thc buôn bán và gii thiu sn phm truyn
thng phc tp, mt thi gian và hiu qu thp.
Trang 2

T nhng nhn đnh trên cùng vi vic đáp ng nhu cu ngày càng cao và đa dng
ca khách hàng do đó cn thit phi có mt h thng buôn bán đin t mà trong đó
mt phn không nh là h thng bán các thit b máy tính qua mng.
1.2. Phm vi đ tài:
Thc hin vic nghiên cu bán hàng qua mng. Nghiên cu các mô hình và cách
thc hot đng ca mt website bán hàng qua mng chun, và qua đó s áp dng thc

t vào ng dng.
 tài nhm mc đích phc v công vic buôn bán và qun lý kinh doanh trên
Internet bao gm buôn bán các thit b máy tính, linh kin máy tính, và đ tài bao gm
nhng ni dung:
1.2.1. Thit k c s d liu:
Xây dng mt h thng c
 s d liu MySQL phù hp vi nhu cu h tr công
vic buôn bán và qun lý kinh doanh trên Internet cho website và các giao dch qua
mng Internet.
1.2.2. Xây dng ng dng buôn bán và qun lý máy tính, linh kin máy tính:
Chng trình x lý d liu MySQL đ xây dng ng dng và kt hp vi ngôn
ng lp trình PHP (Hypertext Preprocessor) đ phát trin ng dng, và chng trình
cho phép thc hin các chc nng:
• Giao din:
S dng công c Rapid PHP 2010 đ thit k giao din cho chng trình.
• H thng:
S dng chng trình VertrigoServ là chng trình to máy ch PHP và
MySQL, chng trình bao gm [Apache server + MySQL].
S dng chng trình Navicat Premium đ qun lý và thit lp kt ni c s d
liu đn Server VertrigoServ.
H thng phân quyn cho phép ngi dùng truy cp vào các chc nng ca h
thng.


Trang 3

• Danh mc chc nng:
H thng danh mc giúp ngi qun tr có th chn la nhanh chóng các chc
nng qun lý ca chng trình.
Qun lý thêm, chnh sa các danh mc: SN PHM, KHÁCH HÀNG, NHÀ

QUN TR , NHÀ CUNG CP, LOI SN PHM.
Xem xét và thay đi trng thái các danh mc: N T HÀNG, NHP
HÀNG, XUT HÀNG.
Thng kê các danh mc: THNG KÊ HÀNG NHP, HÀNG XUT. Cho phép
trng bày hoc không trng bày các sn phm đc hin th lên website.
Cho phép khóa tài kho
n đng nhp ca các thành viên hoc nhà qun tr ca h
thng website (ch đc phép khóa khi có cp bc cao hn).
• Nghip v:
To và qun lý các hóa đn: mua, bán, nhp, xut, vi các mã sinh t đng và t
đng ly các thông tin nh giá bán,… đã đc qui đnh trc. Nhà qun tr cng
có th sa đi các thông tin này.
Qun lý hàng tn kho và thng kê hàng hóa. Thc hin công tác kim kê, điu
chnh hàng tn kho khi có sai lch vi thc t.
1.2.3. Xây dng ng dng h thng website:
Thc hin công vic gii thiu, qu
ng bá, mua bán sn phm qua mng. Nhm h
tr cho vic m rng phm vi kinh doanh. Gm các thành phn và yêu cu chính:
• Gii thiu v sn phm, dch v:
Cung cp cho khách hàng nhng thông tin cn thit v các sn phm, dch v.
Chúng đc chia theo danh mc, mi danh mc có nhiu sn phm đc trình
bày di dng danh sách các thành phn bao gm hình nh, mô t và giá thành.
• Phn đt hàng, gi hàng:
Bao gm các chc nng to gi hàng, ly thông tin giao hàng, to đn hàng
online. Các chc nng đc chia ra tng trang đ khách hàng d dàng theo dõi
quá trình to đn hàng.

Trang 4

• Thanh toán trc tip vi khách hàng:

Bao gm vic đt hàng, chn phng thc thanh toán là trc tip và hoàn tt đn
đt hàng, khi đó nhà qun tr s xem xét đn hàng và liên h khách hàng đ giao
hàng.
• Thanh toán trc tuyn:
H thng h tr khách hàng thanh toán trc tuyn thông qua server ca Paypal,
nhm mc đích đ to thun li cho khách hàng trong quá trình mua hàng và
thanh toán qua mng Internet.
• Phn qun tr:
Qun lý thêm, xóa, chnh sa các sn phm, đn đt hàng, khách hàng, nhà cung
cp, ….
• Tìm kim:
Cho phép tìm các thông tin trên website theo loi sn phm, nhà cung cp, giá
t, giá đn ca sn phm mt cách nhanh chóng.
1.3. Phng pháp nghiên cu:
 thc hin đ tài buôn bán qua mng này, em đã tin hành tìm hiu, nghiên cu,
thc t vic bán hàng qua mng ca các website bán hàng qua mng chun nh:
www.thegioididong.com, www.pcgamesupply.com, …. Và bên cnh đó em cng đã tìm
hiu các phn mm đ phát trin ng dng nh: Rapid PHP 2010, Navicat Premium,
VertrigoServ, … Và cùng vi nhng phng pháp khác nh:
• Phng pháp tng hp kin thc:
H thng hóa các kin thc đã thu thp t đó phân tích, đánh giá tng ni dung
ca vic bán hàng qua mng.
• Phng pháp nghiên cu tài liu:
Tham kho các tài liu, ebooks, sách báo có liên quan đn vic xây dng và
qun lý bán hàng qua mng.


Trang 5

1.4. B cc:

Chng 1: Tng quan
Gii thiu lý do chn đ tài, mc đích và phm vi ca đ tài.
Chng 2: C s lý thuyt
Trình bày c s lý thuyt đ phát trin đ tài.
Chng 3: Phân tích h thng
Nêu lên các bc phân tích và đa ra các mô hình đ xây dng đ tài.
Chng 4: Hin thc
Trình bày chi tit các chc nng ca đ tài.
Chng 5: Kt lun
Tóm tt các chc nng chính đã làm đ
c, và đ xut hng phát trin ca
đ tài trong tng lai.
Trang 6

CHNG 2: C S LÝ THUYT
2.1. Gii thiu Web Server
Chc nng ca Web Server là chy trên nn ca h điu hành, lng nghe các yêu
cu ai đó trên web gi đn, sau đó Web Server s tr li nhng yêu cu này và cp
phát nhng trang web thích ng. Thc t nhim v ca Web Server là phi cung cp
tính n đnh cho môi trng web.
APACHE là mt kiu mu Web Server rt ph bin. Ging nh Linux, PHP,
MySQL, Apache cng là mt d án ngun m. Và do đó Apache đ
c h tr rt tt
trên môi trng Unix, nhng ch khá tt trong Windows
Apache là ngun m nên bt kì ai có kh nng đu có th vit chng trình m
rng tính nng ca Apache. PHP hot đng vi t cách là mt phn m rng ca
Apache (module ca Apache).
Apache có tính n đnh và tc đ khá nhanh. Tuy nhiên Apache không h tr công
c đ ha trc quan do đó khi phi thc hin các thay đi đ
i vi Apache chúng ta

phi s dng dòng lnh.
Apache đc phát trin và duy trì bi mt cng đng mã ngun m di s bo tr
ca Apache Software Foundation. Apache đc phát hành vi giy phép Apache
License và là mt phn mm t do và min phí.
2.2. Gii thiu PHP (Hypertext PreProcesor)
Tên đy đ ca PHP ban đu đc vit tt bi cm t Personal Home Page, và
đc phát trin t nm 1994 bi Rasmus Lerdorf. Lúc đu PHP đc dùng đ lu du
vt ngi dùng trên các trang web, sau đó phát trin lên nh là mt máy đc t
(scripting engine). Vào nm 1997 PHP không còn là mt d án cá nhân ca Rasmus
Lerdorf mà tr thành mt công ngh web quan trng, và sau đó đã có nhiu phiên bn
PHP ra đi. T phiên bn PHP4, PHP có phn m rng là (*.php), và đc g
i là PHP
Hypertext PreProcesor.
PHP là ngôn ng script chy trên phía server (trên nn PHP Engine) nh các server
script khác (jsp, asp, …). Cùng vi ng dng webserver đ qun lý chúng.
PHP cho phép xây dng các ng dng web trên mng Internet hay Intranet tng
tác vi mi c s d liu nh: MySQL, Oracle, SQL Server, …
Trang 7

PHP có th chy trên các nn tng các h điu hành khác nhau nh: Windows,
Linux, Unix, …. Và có th đem mã PHP vit trên máy này chy trên các máy có h
điu hành khác mà không cn phi sa li mã.
Do có các u đim là ngôn ng mã ngun m, min phí, uyn chuyn, tc đ
nhanh, nh gn, cú pháp ging vi C và Java, d hc, thi gian xây dng ng dng
tng đi ngn hn so vi các ngôn ng lp trình web khác do đó, PHP
đã nhanh
chóng tr thành mt trong nhng ngôn ng lp trình web ph bin nht hin nay.
2.2.1. Phn mm mã ngun m:
Phn mm có mã ngun m là nhng phn mm đc cung cp di c dng mã
và ngun không ch là min phí v giá mua mà ch yu là min phí v bn quyn bao

gm: có quyn sa đi, ci tin, phát trin, nâng cp nhng phi theo mt s
 nguyên
tc chung qui đnh trong giy phép phn mm mã ngun m mà không cn phi xin
phép ai, đây là điu mà không đc phép đi vi các phn mm có mã ngun đóng.
PHP cng là mt sn phm mã ngun m nên vic cài đt và tùy bin PHP là min
phí và t do. Và vì có u đim là mã ngun m nên PHP có th đc cài đt trên hu
ht các web server thông dng hin nay nh: Apache, IIS, …
Là mt ngôn ng mã ngun m
cùng vi s ph bin hin nay ca PHP thì cng
đng PHP đc coi là khá ln, do đó vic cp nht các bn vá li ca các phiên bn
khá nhanh chóng, vì th khin PHP tr nên rt linh hot trong vic hoàn thin chính
mình. Cng đng h tr và chia s kinh nghim ca PHP cng rt ln, vi rt nhiu
din đàn, blog trong và ngoài nc, do đó đã khin cho quá trình tìm hiu và tip cn
PHP tr nên r
t nhanh chóng và hiu qu.
Bên cnh đó PHP còn đc cung cp mt h thng th vin khá phong phú: do
ngay t đu PHP đc thit k nhm mc đích xây dng và phát trin các ng dng
trên web nên PHP cung cp rt nhiu hàm xây dng sn giúp thc hin nhanh chóng
các công vic: gi nhn mail, làm vic vi cookie, … rt d dàng.
Và cùng vi th vin code phong phú nên vic hc tp và ng dng PHP tr nên
r
t d dàng và đây cng là mt đc đim khin cho càng nhiu ngi s dng PHP đ
phát trin các ng dng web.
2.2.2. Lp trình hng đi tng
Trang 8

Ngày nay, khái nim lp trình hng đi tng đã không còn xa l vi lp trình
viên, vi li ích ca mô hình lp trình này mang li nên nhiu ngôn ng đã trin khai
đ h tr.
T phiên bn PHP5, PHP đã có kh nng h tr hu ht các đc đim ni bt ca

lp trình hng đi tng nh là: Inheritance (tha k), Abstraction, Interface, …
Vi vic ngày càng có nhiu Framework và ng dng PHP vi
t bng mô hình
OOP( Object Oriented Programming) nên vic lp trình viên tip cn và m rng các
ng dng này tr nên d dàng và nhanh chóng.
2.2.3. Tính bo mt
PHP là mã ngun m và vi cng đng phát trin PHP rt tích cc nên có th nói
PHP là khá an toàn.
PHP cng cung cp nhiu c ch cho phép trin khai tính bo mt vào ng dng
nh Session, các k thut ép kiu, th vin PDO (PHP Data Object), … đ tng tác
vi c s d liu
đc an toàn hn.
2.3. Thông dch trang PHP
Khi ngi s dng yêu cu mt trang PHP, lúc này yêu cu s đc chuyn đn
Web Server và Web Server này s gi PHP Engine đ thông dch trang PHP và tr v
kt qu v cho ngi s dng.


Hình 2.1. Quá trình thông dch trang PHP
Trang 9

2.4. Cách thc hot đng ca trang HTML và PHP:
Vi các trang HTML:
Khi có yêu cu ti mt trang web t phía ngi dùng (browser). Web server thc
hin 3 bc sau:
- c yêu cu t phía browser.
- Tìm trang web trên server.
- Gi trang web đó li cho browser (nu tìm thy) qua mng Internet hay mng
Intranet.


Hình 2.2. Cách thc hot đng ca trang HTML.
Vi các trang PHP:
Khác vi các trang HTML, khi mt trang PHP đc yêu cu, web server phân tích
và thi hành các đon mã PHP đ to ra trang HTML. c th hin qua 4 bc sau:
- c yêu cu t phía browser.
- Tìm trang web trên server.
- Thc hin các đon mã PHP trên trang web đó đ sa đi ni dung ca trang.
- Gi tr li ni dung cho browser.
Trang 10


Hình 2.3. Cách thc hot đng ca trang PHP
S khác nhau gia HTML và PHP là HTML không đc thc hin trên máy ch
Web server còn các trang *.php vit bng các đon mã PHP đc thc hin trên máy
ch Web server do đó các trang PHP linh đng và mm do hn.
2.5. Kiu d liu, hng s và bin trong PHP
2.5.1. Kiu d liu:
PHP có 3 kiu d liu c bn: kiu s nguyên, kiu s thc và kiu chui. Ngoài ra
còn có các kiu d liu khác nh: arrays, objects,…
• Kiu s nguyên:
Bng 2.1. Bng kiu s nguyên

• Kiu s thc:



Trang 11

Bng 2.2. Bng kiu s thc


• Kiu chui (string):
Cha các giá tr bao gm các kí t và con s vi chiu dài vô hn.
• Arrays:
Cha các kiu d liu mng.
• Objects:
Cha các kiu d liu đi tng.
2.5.2. Hng s:
Hng s là giá tr không đi k t sau khi khai báo, các giá tr hng s thng dùng
đ lu các giá tr không đi trong sut chng trình nh: hng s pi (3.14), các giá tr
thi gian (ngày, tháng, nm), …
• Khai báo hng s:
Dùng hàm define() đ khai báo hng s.
Ví d:
define(“YELLOW”, “FFFF00”); //khai báo hng s YELLOW ng vi màu vàng
• Kim tra hng s:
Dùng hàm defined() dùng k kim tra xem mt hng nào đó đã đc khai báo
hay cha.
Ví d:
if(defined(“YELLOW”)){
// YELLOW đã đc khai báo ri
}
else{
// YELLOW cha đc khai báo
}
2.5.3. Bin s.
Trang 12

Khi thc hin khai báo bin trong PHP thì không cn phi tuân th quy đnh khai
báo kiu d liu trc tên bin và có giá tr khi đu nh trong C mà ch cn s dng
tin t $ trc tên bin.

Ví d:
$a = 1; //$a là mt bin kiu interger
$a = 1.1; //$a là mt bin kiu double
$a = “Hello”; //$a là mt bin kiu string
$a = arrays(“one”, “two”, “three”); //$a là mt bin kiu arrays
Có th thay đi kiu giá tr ca mt bin bng cách ép kiu.
$a = 1.1; // $a là mt bin kiu double
$a = (int)$a; //$a đc ép kiu sang int và có giá tr là: 1
$a = (double)$a; //$a đc ép kiu sang double và có giá tr là: 1.0
$b = (string)$a; //$a đc ép kiu sang string và gán giá tr cho $b: “1”

• Tm vc ca bin:
Tm vc ca bin ph thuc vào ni khai báo bin, nu bin khai báo bên ngoài
hàm thì s có tm vc trong trang PHP, ngc li nu bin ch đc khai báo
bên trong hàm thì s có tm vc trong hàm đó.
Ngoài ra đ s dng bin toàn cc trong hàm cn phi khai báo t khóa global
trc bin, và khi đó bin toàn cc s có hiu lc bên trong hàm.
• Mt s hàm làm vic vi bin:
- Gettype(): Hàm này tr v kiu ca mt bin nào đó, và giá tr tr v có th
là: interger, double, string, array, …
- Settype(): Hàm này ép kiu cho mt bin nào đó, và giá tr tr v là 1 nu ép
kiu thành công, 0 nu tht bi.
- Isset(): Hàm kim tra mt bin đã đc gán giá tr hay cha, và giá tr tr v
1 nu bin đã đc gán giá tr, 0 nu cha đc gán.
- Unset(): Hàm s gii phóng b
 nh cho mt bin nào đó.
- Empty(): Hàm tr v là 1 nu bin rng, 0 nu bin không rng. i vi bin
kiu interger giá tr 0 đc coi là rng, đi vi bin kiu string là rng khi
khai báo là chui rng ($string = “”).
2.6. Toán t trong PHP

Trang 13

Khi lp trình trên ngôn ng PHP là s dng các cú pháp ca ngôn ng C, C++. Và
cng nh bt k ngôn ng lp trình nào khác trong PHP cng có các toán t đ thc
hin các phép toán trên s hc hay trên chui.
Bng 2.3. Bng các loi toán t trong PHP
Loi toán t Toán t Din gii Ví d
Toán hc
+ Phép cng $x + $y
- Phép tr $x - $y
* Phép nhân $x * $y
/ Phép chia $x / $y
% Phép chi ly phn d $x % $y
So sánh
> So sánh ln hn $x > $y
< So sánh nh hn $x < $y
>= Ln hn hoc bng $x >= $y
<= Nh hn hoc bng $x <= $y
!= So sánh khác $x != $y
== So sánh bng $x == $y
Logic
! NOT !$x
&& AND $x && $y
|| OR $x || $y
Kt hp
++ Bng vi $x = $x + 1 $x++
Bng vi $x = $x - 1 $x
+= Bng vi $x = $x + $y $x += $y
-= Bng vi $x = $x - $y $x -= $y
*= Bng vi $x = $x * $y $x *= $y

/= Bng vi $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
Mt trong nhng ng dng quan trng ca PHP là giúp tng tác x lý d liu trên
form ca ngi s dng. Nhm mc đích giúp cp nht thông tin mt cách linh đng
Trang 14

và d dàng. Tuy nhiên PHP yêu cu form phi đáp ng mt s quy đnh chung đã đc
đt ra
<form name=”Tên form” action=”Link x lý” method=”Phng thc”>
Mt form trong PHP phi bao gm:
- Tên form: đ d dàng tách bit vi các giá tr ca chúng.
- Action: hành đng chuyn tip đn link x lý.
- Method: là phng thc truyn bao gm POST và GET.
2.8. Các hàm API trong PHP
2.8.1. Gii thiu MySQL:
MySQL là h thng c s d liu quan h. Ý ngha c bn ca MySQL là có th
lu tr các thông tin trên nhng vùng khác nhau và liên kt chúng li vi nhau.
MySQL cho phép to nhng thông tin riêng l trên bng hoc nhng khu vc cha
thông tin thích hp. Trong MySQL mi bng bao gm nhng trng d liu (field)
riêng l.
PHP h tr mt s lng ln các hàm làm vic vi các c s
 d liu nh: MySQL,
Oracle, SQL Server, v.v…Thông qua chun ODBC (Open Database Connectivity),
bng cách s dng các hàm API (Application Programming Interface) mà PHP có th
làm vic vi nhiu h qun tr c s d liu nh vy.
2.8.2. Các hàm c bn làm vic vi c s d liu MySQL
• Các hàm kt ni đn MySQL Server:
PHP cung cp hai hàm kt ni đn c s d liu MySQL là: mysql_connect() và

mysql_pconnect().
1. Mysql_connect():
- Hàm này s to ra mt liên kt ti 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 liu, ni trang web cha c s d liu,
giá tr ngm đnh là “localhost”.
- Port: a ch cng ni c s d liu lng nghe yêu cu, giá tr ngm đnh
là “3306”.
- Username: Tên ca ngi dùng đc phép kt ni vào c s d liu.

×