H CHÍ MINH KHOA CÔNG NGH THÔNG TIN... Các hàm API trong PHP .... Nhân viên nh p hàng.... Quá trình thông d ch trang PHP ..... Trang thêm máy b HT.. PHP là ngôn ng script ch y trên phía s
Trang 1TR NG I H C M TP H CHÍ MINH KHOA CÔNG NGH THÔNG TIN
Trang 2L 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
Trang 3NH N XÉT C A GI NG VIÊN H NG D N
Trang 4
NH N XÉT C A GI NG VIÊN PH N BI N
Trang 5
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 63.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 74.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 8DANH 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 9DANH 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 10Hì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 11Website Là t p h p nhi u trang web
Window C a s
Trang 12CH NG 1: T NG QUAN
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à
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 13T 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
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 14Th 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 15• 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
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 :
hi u các ph n m m đ phát tri n ng d ng nh : Rapid PHP 2010, Navicat Premium,
Trang 17CH 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 18PHP 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
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 19Ngà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
Trang 202.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 22H 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
Trang 23Khi 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
Trang 24Khi 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 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 25và 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
Trang 26- Tham s và tr tr v c a hàm này c ng gi ng nh hàm mysql_connect(),
nh ng s khác bi t c a hàm mysql_pconnect() là s không b đóng l i khi
g i hàm mysql_close() ho c khi k t thúc đo n script PHP
- M c đích c a vi c này là luôn luôn duy trì k t n i đ n máy ch MySQL
do luôn luôn có s yêu c u t i máy ch
• Các hàm thao tác trên c s d li u MySQL:
- Hàm mysql_query() g i câu l nh sql t i máy ch MySQL
- Cú pháp: int mysql_query(string query, [int masonhandang]);
- String query là câu l nh sql c n g i đ n máy ch MySQL Mã s nh n
d ng đ c th c hi n trong hàm mysql_select_db()
5 Mysql_fetch_row():
- Hàm mysql_fetch_row() tr v 1 m ng giá tr c a 1 b ng ghi hi n t i V i
ch s là s th t các tr ng (b t đ u t 0)
Trang 27- Sau đó hàm s tr t i b ng ghi ti p theo cho t i khi g p b ng ghi cu i cùng hàm s tr v giá tr là false
- Cú pháp: array mysql_fetch_row(int masotrave);
- Mã s tr v c a hàm mysql_query()
- Sau đây là ví d v k t n i CSDL t server localhost v i username =
“root”, password = “vertrigo” và s d ng hàm mysql_fetch_row() đ truy
mysql_select_db($DATABASE, $conn); //$conn mã s nh n d ng
$sql_skh = "select makh, tenkh from khachhang";
$query_skh = mysql_query($sql_skh) or die (mysql_error());
while($row_skh = mysql_fetch_row ($query_skh)){
- Cú pháp: array mysql_fetch_array(int masotrave);
- truy xu t các thành ph n c a c t: tên_m ng[“tên tr ng”]
Trang 28- Cú pháp: int mysql_num_rows(int masotrave);
- Ví d v ki m tra m t mã khách hàng đã t n t i trong c s d li u hay
ch a b ng cách l y k t qu tr v t hàm mysql_num_rows()
<?php
…
$sql_skh = "select * from khachhang where makh = 'ABC' ";
$query_skh = mysql_query($sql_skh) or die (mysql_error());
HTTP là giao th c không đ c xây d ng đ có th l u gi đ c tr ng thái gi a 2
l n giao d ch Khi m t ng i dùng yêu c u truy c p m t trang web, r i sau đó ng i dùng yêu c u m t trang web khác thì HTTP không th bi t r ng đây là yêu c u t m t
ng i dùng Do đó ý t ng c a vi c đi u khi n phiên làm vi c (session) là có th l u
v t c a m t ng i dùng trong su t m t phiên làm vi c
Session trong PHP đ c đi u khi n b i m t giá tr ID duy nh t đ c g i là
“sessionID”, giá tr này s đ c t đ ng sinh ra và mã hóa, sessionID đ c sinh ra b i PHP và đ c l u tr phía client tron su t m t phiên giao d ch
M t session đ c b t đ u khi ng i dùng truy c p vào ng d ng l n đ u tiên và k t thúc khi ng i dùng thoát kh i ng d ng
Trang 29Session_destroy() đ h y toàn b session đã đ c đ ng kí
Session_unset() đ h y toàn b giá tr c a session đã đ c đ ng kí
2.9.2 Cookie:
Cookie là nh ng m u tin nh mà website có th ch a trên các máy client Nó đ c trình duy t g i ng c lên server m i khi trình duy t t i m t trang web t server
Nh ng thông tin đ c l u trong cookie hoàn toàn ph thu c vào t ng website đ c
l u trên server, m i website có th l u tr nh ng thông tin khác nhau trên cookie Khi trình duy t k t n i t i m t đ a ch nào đó, tr c tiên nó ki m tra các cookie đã
đ c l u tr trong máy N u có b t kì cookie nào liên quan đ n đ a ch v a đ c k t
n i thì chúng s đ c chuy n tr l i cho server
• Thi t l p cookie:
S d ng cú pháp: setcookie(“tên cookie”, “giá tr ”, “th i gian s ng”)
Tên cookie: Là tên đ c đ t cho phiên làm vi c
Giá tr : Là giá tr c a tên cookie
Ví d :
setcookie(“username”, “user”, “time() + 3600);
Cookie ph i đ c đ t trên m i giá tr k c th HTML
• S d ng cookie:
s d ng l i cookie v a thi t l p s d ng cú pháp $_COOKIE[“tên cookie”],
v i “tên cookie” là tên cookie đã đ c set trong hàm setcookie()
Ví d :
setcookie(“name”, “Thien”, time() + 3600);
echo $_COOKIE[“name”];
• H y cookie:
Trang 30S d ng m t trong hai cú pháp sau:
Setcookie(“tên cookie”);
Setcookie(“tên cookie”, “giá tr ”, “th i đi m trong quá kh ”), dùng th i gian s ng
c a cookie là th i đi m trong quá kh
Ví d :
setcooke(“name”, “Thien”, time() – 3600);
Trang 31- ng nh p và đ ng xu t, thay đ i thông tin cá nhân:
Ng i dùng s dùng ch c n ng này đ vào h th ng và s d ng các ch c
n ng t ng ng v i quy n h n c a mình Ngoài ra, có th thay đ i thông tin
cá nhân, xem l i các đ n hàng c ng nh m t kh u
- Qu n lý nhân viên, khách hàng, nhà cung c p, s n ph m, đ n hàng,…:
Ng i qu n lý h th ng website s dùng các ch c n ng này đ qu n lý thông tin c ng nh th c hi n các thao tác thêm xóa s a nhà cung c p, s n ph m,
Trang 32Khi mu n s d ng m t ch c n ng nào đó c a h th ng, ng i dùng (Ban qu n
lý, Nhân viên ) đòi h i ph i đ c ng i qu n tr c p m t tài kho n đ ng nh p
Trang 33cho mình Sau đó ng i dùng đ ng nh p vào Username và Password đ vào h
• L p phi u nh p kho:
Khi m t lô hàng m i đ c nh p vào kho thì Nhân viên l p phi u nh p kho s
th c hi n ch c n ng này đ t o phi u nh p kho đ ti n cho vi c qu n lý hàng hóa đ c nh p vào kho
• Tra c u hàng hóa:
Nhân viên bán hàng hay b t k nhân viên nào c ng nh khách hàng mu n xem thông tin hàng hoá đ u có th s d ng ch c n ng này
• Tra c u thông tin nhân viên, khách hàng, nhà cung c p:
Khi nhà qu n tr mu n xem l i thông tin c a mình thì s d ng ch c n ng này
Ho c nhà qu n tr mu n xem thông tin khách hàng, nhân viên thì c ng s d ng
ch c n ng này
• Các ch c n ng báo cáo, th ng kê:
Cho phép ch n theo môt ngày nào đó đ l p các báo cáo, th ng kê nh báo cáo
t n kho, xu t kho, nh p kho …
Qu n bá h th ng mua bán máy tính
• Phân quy n ng i dùng:
Trang 34N u ng i dùng mu n tác đ ng vào h th ng qu n bá thì c n ph i có m t tài kho n thu c nhóm nhà qu n tr Quy n h n c a tài kho n này s do ng i qu n
tr h th ng (system admin) quy đ nh Ng i dùng có th đ ng ký tài kho n trên
h th ng website khi mu n đ t hàng
• ng nh p và đ ng xu t:
Khi mu n s d ng m t ch c n ng nào đó c a h th ng, ng i dùng (Ban qu n
lý, Nhân viên, hay khách hàng) đòi h i ph i có m t tài kho n đ ng nh p cho mình Sau đó đ ng nh p v i Username và Password đ vào h th ng
• Danh m c hàng hóa:
Khách hàng có th nhìn th y các thông tin v các m t hàng hi n có c a h th ng website đ ti n cho vi c ch n l a m t hàng phù h p
• L p đ n đ t hàng:
Khi khách hàng ch n đ c nh ng m t hàng phù h p s dùng tài kho n đ ng
nh p c a mình ti n hành đ t hàng v i h th ng website, h th ng s t o đ n đ t hàng v i các m t hàng mà khách hàng đã ch n
Trang 35Là ch c n ng cho phép khách hàng đ ng kí m t tài kho n trên h th ng website
đ tr thành thành viên c a website Khách hàng khi đ ng kí tài kho n ph i cung
c p đ y đ các thông tin v mình nh : h và tên, gi i tính, email, s đi n tho i,
đ a ch n i , tên đ ng nh p, m t kh u đ ng nh p(ít nh t 5 kí t ) vào m c đ ng
kí c a h th ngwebiste
Sau cùng khi khách hàng đi n đ y đ thông tin đ ng kí, khi đó khách hàng ch
c n b m vào nút đ ng kí h th ng s t đ ng ki m tra các thông tin đ ng kí N u không có l i x y ra ch ng trình s hi n thông báo đ ng kí thành công, và
ng c l i n u đ ng kí không thành công thì h th ng s hi n th các l i đ ng kí cho khách hàng nh n bi t Và sau khi đã đ ng kí thành công khách hàng có th
s d ng các ch c n ng thành thành viên c a website
2 Tìm ki m s n ph m:
Khách hàng khi truy c p vào h th ng website s đ c cung c p ch c n ng tìm
ki m các s n ph m trong website: tìm ki m theo các lo i s n ph m, hãng s n
ph m, giá t , giá đ n c a s n ph m
3 Xem s n ph m:
Ch c n ng cho phép khách hàng có th xem b t c thông tin v s n ph m đ c
tr ng bày trong webstie: thông tin v giá c , hãng s n xu t, chi ti t tính n ng v
t t c các s n ph m có trên website
4 T o gi hàng:
Là m t ch c n ng r t quan tr ng trong m t h th ng website bán hàng qua
m ng, t o gi hàng giúp cho khách hàng có th qu n lý m t cách d dàng các
s n ph m đ t mua c a mình trên h th ng website trong m t l n giao d ch Ch c
n ng này cho phép t t c các khách hàng khi truy c p vào h th ng website đ u
có th s d ng Gi hàng cung c p ch c n ng: thêm, xóa, ch nh s a s l ng c a các s n ph m có trong gi hàng Nh m đ ph c v t t h n cho vi c mua bán qua
m ng
3.2.2 Thành viên:
Bao g m t t c các ng i dùng truy c p vào h th ng website và đã đ ng kí tr thành thành viên c a webiste (ph i đ ng nh p)
Trang 36• Mô hình ch c n ng thành viên (hình 3.3):
Hình 3.3 Mô hình ch c n ng thành viên
Ghi chú:
: Quan h ph thu c : Quan h m r ng
• Mô t chi ti t các ch c n ng thành viên:
1 ng nh p:
Là ch c n ng đ ng nh p vào h th ng website v i tài kho n đã t o khi đ ng kí thành viên Sau khi đã đ ng nh p thành công khách hàng có th s d ng các
Trang 37ch c n ng thành viên c a website Khách hàng khi đ ng nh p ph i nh p chính xác các thông tin c a mình: tên đ ng nh p và m t kh u vào m c đ ng nh p c a
h th ng website
Sau khi đã cung c p đ y đ các thông tin, lúc này khách hàng ph i b m vào nút
đ ng nh p đ th c hi n vi c đ ng nh p Lúc này h th ng website s ki m tra thông tin đ ng nh p n u thông tin h p l thì h th ng s thông báo thành công,
ng c l i n u thông tin v tài kho n không h p l thì h th ng s hi n th thông báo l i đ cho khách hàng nh n bi t
2 Qu n lý thông tin cá nhân:
Ch c n ng này ch đ c s d ng khi khách hàng đã đ ng nh p thành công vào
h th ng website, ch c n ng cho phép ch nh s a l i thông tin cá nhân, xem l i các đ n hàng ho c thay đ i m t kh u c a các thành viên có trong h th ng c a website Khi thành viên ch n ch nh s a thông tin cá nhân lúc này h th ng s t
đ ng đ a lên t t c các thông tin hi n t i c a thành viên đó nh : h và tên, gi i tính, email, s đi n tho i, đ a ch n i Lúc này thành viên s d a vào các thông tin hi n t i đó đ có th d dàng th c hi n ch nh s a, và sau khi đã ch nh s a thành công thông tin cá nhân, thành viên s b m vào nút ch nh s a đ h th ng
th c hi n vi c ch nh s a này N u các thông tin h p l thì h th ng s c p nh t thông tin m i này cho thành viên Và n u các thông tin không h p l h th ng s
hi n th thông báo đ c nh báo cho thành viên nh n bi t
Ch c n ng reset th c hi n vi c h y các m c thông tin hi n t i, và n p l i các thông tin ban đ u (lúc ch a ch nh s a) Ch c n ng thay đ i m t kh u bao g m
ph i cung c p đ y đ và chính xác các thông tin: m t kh u hi n t i, m t kh u
m i, m t kh u m i (l p l i) Và sau đó b m vào nút thay đ i đ th c hi n thay
đ i Lúc này h th ng website c ng s ki m tra các thông tin trên tr c khi th c
hi n thay đ i
3 Xem l i các đ n hàng:
Bao g m ch c n ng xem l i t t c các đ n hàng (đ n hàng h p l ) trong quá kh
c a khách hàng Ch c n ng cho phép các thành viên có th xem l i đ n hàng theo mã đ n hàng ho c theo ngày đ t hàng Khi khách hàng ch n m t ngày ho c
m t mã hóa đ n nào đó và b m vào nút xem, thì lúc này h th ng s hi n th
Trang 38thông tin v tr ng thái c a hóa đ n và li t kê chi ti t v t t c s n ph m c a hóa
đ n đó
4 T o đ n hàng:
Ch c n ng cho phép các thành viên c a website có th t o đ n đ t hàng các s n
ph m có trong h th ng website Ch c n ng này ch đ c s d ng khi có ít nh t
m t món hàng trong gi hàng, và khi đã có hàng trong gi hàng lúc này khách hàng ch b m vào nút thanh toán đ th c hi n vi c t o đ n hàng Khi t o đ n hàng khách hàng ph i cung c p đ y đ t t c các thông tin đ t hàng nh : thông tin khách hàng (h và tên, gi i tính, email, s đi n tho i, đ a ch n i , đ a ch giao hàng), ph ng th c giao hàng (giao hàng t n n i ho c qua b u đi n),
ph ng th c thanh toán (tr c ti p ho c thanh toán tr c tuy n qua Paypal) Và sau khi đã cung c p đ y đ thông tin khách hàng ph i b m vào nút ti p t c đ
ti p t c vi c t o đ n hàng, lúc này h th ng s t o ra m t đ n đ t hàng online,
v i các thông tin d a theo các thông tin mà khách hàng cung c p b c cung
c p thông tin
N u đ n hàng đ a ra đúng v i thông tin c a khách hàng thì lúc này khách hàng
ph i b m vào nút hoàn t t đ hoàn t t quá trình đ t hàng qua m ng Ng c l i
n u đ n hàng đ a ra không đúng thì khách hàng ch c n b m vào nút tr v đ
th c hi n l i quá trình đ t hàng
3.2.3 Nhân viên nh p hàng
Bao g m nh ng ng i đ ng nh p vào website v i tài kho n nhân viên nh p hàng
Và khi đã đ ng nh p thành công thì nhân viên có th s d ng ch c n ng nh p hàng vào website
• Mô hình ch c n ng nhân viên nh p hàng (hình 3.4):
Hình 3.4 Mô hình ch c n ng nhân viên nh p hàng
Trang 39• Mô t chi ti t ch c n ng nhân viên:
Khi nh p s n ph m c s bao g m các thông tin: ch n s n ph m c n nh p, s
l ng nh p, đ n giá nh p.Và sau khi đã đi n đ y đ thông tin v s n ph m nhân viên ch c n b m nút thêm s n ph m và lúc này h th ng s ki m tra các thông tin v s n ph m nh p n u vi c ki m tra thành công h th ng s chuy n t i trang phi u nh p đ cho nhân viên ti p t c quá trình nh p hàng và ng c l i n u thông tin nh p không đúng h th ng s hi n th thông báo đ c nh báo cho nhân viên
Trang 40Hình 3.5 Mô hình ch c n ng administrator
Ghi chú:
: Quan h ph thu c : Quan h m r ng