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

THIẾT KẾ VÀ XÂY DỰNG WEBSITE BÁN HÀNG BẰNG PHP

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 (4 MB, 54 trang )

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH


NGUYỄN ANH TÀI

THIẾT KẾ VÀ XÂY DỰNG
WEBSITE BÁN HÀNG BẰNG PHP

ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
(ỨNG DỤNG PHẦN MỀM)

Đà Nẵng - 12/2021


TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH


NGUYỄN ANH TÀI
K13C04A012

THIẾT KẾ VÀ XÂY DỰNG
WEBSITE BÁN HÀNG BẰNG PHP

ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
(ỨNG DỤNG PHẦN MỀM)



Giảng viên hƣớng dẫn: ThS. Ninh Khánh Chi

Đà Nẵng - 12/2021


Thiết kế và xây dựng website bán hàng bằng PHP

LỜI CẢM ƠN
Để hoàn thành báo cáo tốt nghiệp lần này trƣớc hết chúng em xin gửi đến quý
Thầy, Cô giáo trong khoa Khoa học máy tính Trƣờng Đại Học cơng nghệ thông tin và
truyền thông Việt – Hàn lời cảm ơn chân thành.
Đặc biệt, chúng em xin gửi đến cô Ninh Khánh Chi, ngƣời đã tận tình hƣớng dẫn
và giúp đỡ chúng em để hoàn thành báo cáo đồ án tốt nghiệp này lời cảm ơn sâu sắc.
Em cũng xin chân thành cảm ơn các thầy cô giáo trong trƣờng Trƣờng Đại học
Công Nghệ Thông Tin Và Truyền Thông Việt - Hàn nói chung, các thầy cơ trong Bộ
mơn Lập Trình Web nói riêng đã dạy, hƣớng dẫn cho em kiến thức về các môn đại
cƣơng cũng nhƣ các môn chuyên ngành, giúp em có đƣợc cơ sở lý thuyết vững vàng
và tạo điều kiện giúp đỡ em trong suốt quá trình học tập.
Một lần nữa, em xin cảm ơn gia đình và bạn bè, thầy cơ, … Vì sự giúp đỡ tận
tình, động viên, quan tâm, những lời góp ý chân thành, hữu ích trong suốt thời gian
học tập và thực hiện đồ án.
Cuối cùng em kính chúc quý Thầy, Cô lời chúc sức khỏe và đạt đƣợc nhiều thành
công tốt đẹp trong công việc.
Em xin chân thành cảm ơn tất cả!!
Đà Nẵng, 25 tháng 12 năm 2021
Sinh viên thực hiện

Nguyễn Anh Tài


SVTH: Nguyễn Anh Tài - K13C04A012

i


Thiết kế và xây dựng website bán hàng bằng PHP

MỤC LỤC
LỜI CẢM ƠN ...................................................................................................................i
MỤC LỤC ...................................................................................................................... ii
DANH MỤC BẢNG BIỂU ............................................................................................iv
DANH MỤC HÌNH ẢNH ............................................................................................... v
MỞ ĐẦU ......................................................................................................................... 1
CHƢƠNG I. CƠ SỞ LÝ THUYẾT .............................................................................3
1.1. TỔNG QUAN ....................................................................................................3
1.1.1. Internet là gì? .................................................................................................3
1.1.2. Website là gì? .................................................................................................4
1.2. CÁC CƠNG NGHỆ ĐƢỢC SỬ DỤNG ............................................................ 6
1.2.1. Các ngôn ngữ phần thiết kế giao diện ............................................................ 6
1.2.2. Các thƣ viện, framework ..............................................................................10
1.2.3. Tổng quan ngơn ngữ lập trình PHP ............................................................. 11
1.2.4. Hệ quản trị cơ sở dữ liệu My SQL ............................................................... 16
1.2.5. Tổng quan phần mềm XAMPP ....................................................................17
1.2.6. Tổng quan phần mềm Visual Studio Code ..................................................18
CHƢƠNG II. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ......................................21
2.1. PHÂN TÍCH U CẦU ..................................................................................21
2.1.1. Mơ tả đối tƣợng ............................................................................................ 21
2.1.2. Đặc tả chức năng chính ................................................................................21
2.2. SƠ ĐỒ, MƠ HÌNH TỔNG QUAN CỦA HỆ THỐNG ...................................23
2.2.1. Mơ hình hệ thống của admin........................................................................23

2.2.2. Mơ hình hệ thống của khách hàng ............................................................... 24
2.3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ............................................................ 25
2.3.1. Cơ sơ dữ liệu ................................................................................................ 25
2.3.2. Mối quan hệ giữa các bảng cơ sở dữ liệu .................................................... 27
2.3.3. Biểu đồ UseCase .......................................................................................... 27
2.3.4. Biểu đồ lớp ...................................................................................................30
2.3.5. Biểu đồ hoạt động ........................................................................................ 30
2.3.6. Biểu đồ tuần tự ............................................................................................. 33

SVTH: Nguyễn Anh Tài - K13C04A012

ii


Thiết kế và xây dựng website bán hàng bằng PHP

CHƢƠNG III. THIẾT KÊ VÀ XÂY DỰNG WEBSITE BÁN HÀNG BẰNG PHP
.......................................................................................................................................34
3.1. GIAO DIỆN ỨNG DỤNG CHO NGƢỜI DÙNG ...........................................34
3.2. GIAO DIỆN QUẢN LÝ CỦA ADMIN .......................................................... 38
KIẾN NGHỊ VÀ KẾT LUẬN ..................................................................................... 44
DANH MỤC TÀI LIỆU THAM KHẢO ......................................................................46

SVTH: Nguyễn Anh Tài - K13C04A012

iii


Thiết kế và xây dựng website bán hàng bằng PHP


DANH MỤC BẢNG BIỂU
Bảng 2.1. Bảng admin_info ........................................................................................... 25
Bảng 2.2. Bảng user_info .............................................................................................. 25
Bảng 2.3. Bảng product .................................................................................................25
Bảng 2.4. Bảng cart .......................................................................................................25
Bảng 2.5. Bảng order_sanpham..................................................................................... 26
Bảng 2.6. Bảng order_chitiet ......................................................................................... 26

SVTH: Nguyễn Anh Tài - K13C04A012

iv


Thiết kế và xây dựng website bán hàng bằng PHP

DANH MỤC HÌNH ẢNH
Hình 1.1. Giao diện phần mềm XAMPP .......................................................................17
Hình 1.2. Giao diện phần mềm Visual Studio Code ..................................................... 18
Hình 2.1. Mơ hình hệ thống admin................................................................................23
Hình 2.2. Mơ hình hệ thống của khách hàng.................................................................24
Hình 2.3. Mối quan hệ giữa các bảng cơ sở dữ liệu ...................................................... 27
Hình 2.4. Biểu đồ UseCase tổng quát............................................................................27
Hình 2.5. Biểu đồ UseCase admin.................................................................................28
Hình 2.6. Biểu đồ UseCase khách hàng ........................................................................28
Hình 2.7. Biểu đồ UseCase quản lý tài khoản khách hàng ...........................................28
Hình 2.8. Biểu đồ UseCase quản lý sản phẩm .............................................................. 29
Hình 2.9. Biểu đồ UseCase quản lý đơn đặt hàng ......................................................... 29
Hình 2.10. Biểu đồ UseCase thanh tốn ........................................................................29
Hình 2.11. Biểu đồ lớp ..................................................................................................30
Hình 2.12. Biểu đồ hoạt động chức năng đăng ký tài khoản ........................................30

Hình 2.13. Biểu đồ hoạt động chức năng đăng nhập..................................................... 31
Hình 2.14. Biểu đồ hoạt động chức năng đặt hàng ....................................................... 31
Hình 2.15. Biểu đồ hoạt động chức năng duyệt đơn hàng ............................................32
Hình 2.16. Biểu đồ hoạt động thống kê .........................................................................32
Hình 2.17. Biểu đồ tuần tự chức năng đăng ký ............................................................. 33
Hình 2.18. Biểu đồ tuần tự chức năng đăng nhập ......................................................... 33
Hình 3.1. Giao diện trang chủ cho ngƣời dùng ............................................................. 34
Hình 3.2. Giao diện đăng ký tài khoản ..........................................................................35
Hình 3.3. Giao diện đăng nhập tài khoản ......................................................................35
Hình 3.4. Giao diện trang sản phẩm ..............................................................................36
Hình 3.5. Giao diện trang xem chi tiết sản phẩm .......................................................... 37
Hình 3.6. Giao diện trang giỏ hàng ...............................................................................37
Hình 3.7. Giao diện trang đặt hàng................................................................................38
Hình 3.8. Giao diện trang đăng nhập vào admin ........................................................... 38
Hình 3.9. Giao diện trang chủ của trang admin ............................................................. 39
Hình 3.10. Giao diện trang danh sách tài khoản khách hàng ........................................39

SVTH: Nguyễn Anh Tài - K13C04A012

v


Thiết kế và xây dựng website bán hàng bằng PHP

Hình 3.11. Giao diện trang thêm tài khoản khách hàng ................................................40
Hình 3.12. Giao diện trang cập nhật tài khoản .............................................................. 40
Hình 3.13. Giao diện trang sửa thơng tin tài khoản....................................................... 40
Hình 3.14. Giao diện trang danh sách sản phẩm ........................................................... 41
Hình 3.15. Giao diện trang sửa thông tin sản phẩm ...................................................... 42
Hình 3.16. Giao diện trang thêm sản phẩm ...................................................................42

Hình 3.17. Giao diện trang xem đơn hàng ....................................................................43

SVTH: Nguyễn Anh Tài - K13C04A012

vi


Thiết kế và xây dựng website bán hàng bằng PHP

MỞ ĐẦU
Thời đại Công nghệ 4.0 tập trung vào sự phát triển của cơng nghệ. Tức là tất cả
những gì liên quan đến hệ thống vật lý không gian mạng Internet. Nhƣ chúng ta đều có
thể cảm nhận đƣợc, cơng nghệ đang và sẽ tạo ảnh hƣởng to lớn lên tất cả các ngành và
lĩnh vực đời sống. Kỷ nguyên khác biệt này tạo ra tốc độ phát triển sản xuất, xã hội
siêu nhanh chóng, phá bỏ các truyền thống trƣớc đây.
1. Lý do chọn đề tài
Ngày nay, ứng dụng công nghệ thơng tin và việc tin học hóa đƣợc xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức,
cũng nhƣ của các cơng ty, nó đóng vai trị hết sức quan trọng, có thể tạo ra những bƣớc
đột phá mạnh mẽ.
Trong hoạt động sản xuất, kinh doanh, giờ đây, thƣơng mại điện tử đã khẳng
định đƣợc vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một cửa
hàng hay shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng
đƣợc nhu cầu của khách hàng sẽ là cần thiết.
Ngày nay, với sự phát triển cơng nghệ thơng tin mà máy tính đã đƣợc sử dụng
rộng rãi trong các cơ quan, nhà máy, trƣờng học... giúp cho công việc đƣợc tốt hơn. Và
bn bán hàng hóa cũng đƣợc áp dụng bởi cơng nghệ. Cho dù đã có khá nhiều website
bán hàng khá đẹp mắt nhƣng vẫn chƣa đƣợc ngƣời dùng ƣa chuộng. Nên em quyết
định chọn đề tài “Thiết kế và xây dựng website bán hàng bằng PHP”. với mong
muốn giúp cho việc quản lý đƣợc dễ dàng, thuận tiện và tránh sai sót.

2. Mục đích của đề tài
Tạo ra một website bán hàng trực tuyến để khách hàng có thể tiếp cận đƣợc
những sản phẩm từ Amazon. Nhằm mang đến những món hàng chất lƣợng và giá cả
ổn định. Mọi ngƣời chỉ cần xem sản phẩm mình ƣng ý và đặt hàng là có thể có ngay
sản phẩm chất lƣợng của nƣớc Mỹ.
Các chức năng đƣợc hoàn thiện, bổ sung cho website bao gồm:
 Giao diện dễ sử dụng, có tính thẩm mỹ cao và có thể co giản phù hợp với mọi
thiết bị và trên mọi màn hình.
 Cho phép khách hàng đăng ký thành viên và đảm bảo bí mật thông tin.
 Thông tin sản phẩm phong phú, đa dạng.
 Luôn cập nhật, giới thiệu các sản phẩm mới nhất.
SVTH: Nguyễn Anh Tài - K13C04A012

1


Thiết kế và xây dựng website bán hàng bằng PHP

 Giúp ngƣời quản trị dễ dàng trong việc thay đổi, cập nhật thông tin sản phẩm,
quản lý hiệu quả khách hàng và các đơn đặt hàng, tính doanh thu hàng tháng.
 Quản lý nguyên liệu nhập trả lại, tránh nhầm lẫn và thất thoát cho nhà hàng
hàng.
3. Đối tƣợng và phạm vi nghiên cứu
 Về lý thuyết:
Tìm hiểu quá trình xem sản phẩm, đặt và mua hàng của khách hàng. Lƣu ý
những hạn chế khi thực hiện đặt hàng trực tuyến. Thống kê các loại sản phẩm tồn kho,
áp dụng những phƣơng pháp tốt nhất để dễ dàng quản lý cũng nhƣ cải tiến.
 Về ứng dụng:
Xây dựng các chức năng cơ bản cần thiết cho một website bán hàng và dựa theo
những chức năng của các website quản lý bán hàng khác hiện nay cịn đang thiếu hoặc

đã có nhƣng chƣa đƣợc tối ƣu.
4. Phƣơng pháp thực hiện
Phƣơng pháp thu thập thông tin: sử dụng những thông tin đã sẵn có từ các nguồn
sách, báo, internet khác nhau cũng nhƣ thu thập trực tiếp.
Phƣơng pháp phân tích và tổng thích hợp thuyết: tổng hợp các lý thuyết về lập
trình.
 Nắm vững kiến thức về phân tích và thiết kế hệ thống thơng tin.
 Có kiến thức vững về CSDL: Tổ chức dữ liệu, phân tích, thiết kế CSDL.
 Nắm vững và có khả năng sử dụng thành thạo PHP, HTML, CSS, Javascript,...
 Nắm vững, sử dụng kết hợp một cách hợp lý các kỹ thuật lập trình.
5. Ý nghĩa khoa học và thực tiễn
Thiết kế và xây dựng để tạo ra đƣợc website bán hàng đáp ứng và phụ vụ nhu cầu
của con ngƣời, có thể mua hàng mọi lúc, mọi nơi,.. Qua đó, có thể nâng cao kiến thức,
kỹ năng lập trình của mình, đồng thời hồn thành đồ án tốt nghiệp.
6. Cấu trúc đề tài
Ngoài phần mở đầu và kết luận thì đề tài có ba chƣơng:
– Chƣơng 1. Cơ sở lý thuyểt
– Chƣơng 2. Phân tích và thiết kế hệ thống
– Chƣơng 3. Thiết kế và xây dựng website bán hàng bằng PHP

SVTH: Nguyễn Anh Tài - K13C04A012

2


Thiết kế và xây dựng website bán hàng bằng PHP

CHƢƠNG I. CƠ SỞ LÝ THUYẾT
1.1. TỔNG QUAN
1.1.1. Internet là gì?

Internet hay Mạng là một hệ thống thơng tin tồn cầu có thể đƣợc truy nhập cơng
cộng gồm các mạng máy tính đƣợc liên kết với nhau. Hệ thống này truyền thơng tin
theo kiểu nối chuyển gói dữ liệu (packet switching) dựa trên một giao thức liên
mạng đã đƣợc chuẩn hóa (giao thức IP). Hệ thống này bao gồm hàng ngàn mạng máy
tính nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và các trƣờng đại học, của
ngƣời dùng cá nhân và các chính phủ trên tồn cầu, đƣợc liên kết bởi một loạt các
công nghệ mạng điện tử, không dây và mạng quang. Internet mang theo một loạt các
tài nguyên và dịch vụ thông tin, chẳng hạn nhƣ các tài liệu và ứng dụng siêu văn
bản đƣợc liên kết với nhau của World Wide Web (WWW), thƣ điện tử, điện
thoại và chia sẻ file.
Nguồn gốc của Internet bắt nguồn từ sự phát triển của chuyển mạch gói và
nghiên cứu do Bộ Quốc phòng Hoa Kỳ ủy quyền thực hiện vào những năm 1960 để
cho phép chia sẻ thời gian của máy tính. Mạng tiền thân chính, ARPANET, ban đầu
đóng vai trị là xƣơng sống để kết nối các mạng lƣới học thuật và quân sự khu vực
trong những năm 1970. Việc tài trợ cho Mạng lƣới Quỹ Khoa học Quốc gia nhƣ một
xƣơng sống mới trong những năm 1980, cũng nhƣ tài trợ tƣ nhân cho các phần mở
rộng thƣơng mại khác, dẫn đến sự tham gia trên tồn thế giới trong việc phát triển các
cơng nghệ mạng mới và sáp nhập nhiều mạng. Sự liên kết của các mạng thƣơng mại
và doanh nghiệp vào đầu những năm 1990 đã đánh dấu sự khởi đầu của quá trình
chuyển đổi sang Internet hiện đại, và tạo ra sự tăng trƣởng theo cấp số nhân khi các thế
hệ máy tính cá nhân, cá nhân và di động đƣợc kết nối với mạng. Mặc dù Internet đƣợc
sử dụng rộng rãi bởi các học viện trong những năm 1980, việc thƣơng mại hóa
Internet đã kết hợp các dịch vụ và cơng nghệ của nó vào hầu hết mọi khía cạnh của
cuộc sống hiện đại.
Hầu hết các phƣơng tiện truyền thông truyền thống, bao gồm điện thoại, đài phát
thanh, truyền hình, thƣ giấy và báo chí đƣợc định hình lại, xác định lại hoặc thậm chí
bỏ qua Internet, khai sinh các dịch vụ mới nhƣ email, VoIP, truyền hình Internet, âm
nhạc trực tuyến, báo kỹ thuật số và các trang web truyền phát video. Báo, sách và xuất

SVTH: Nguyễn Anh Tài - K13C04A012


3


Thiết kế và xây dựng website bán hàng bằng PHP

bản in khác đang thích ứng với cơng nghệ trang web hoặc đƣợc định hình lại
thành blog, web feed và tổng hợp tin tức trực tuyến. Internet đã cho phép và tăng tốc
các hình thức tƣơng tác cá nhân mới thơng qua tin nhắn tức thời, diễn đàn
Internet và mạng xã hội. Mua sắm trực tuyến đã tăng theo cấp số nhân cho cả các nhà
bán lẻ lớn và các doanh nghiệp nhỏ và doanh nhân, vì nó cho phép các công ty mở
rộng sự hiện diện "gạch và vữa" của họ để phục vụ thị trƣờng lớn hơn hoặc thậm
chí bán hàng hóa và dịch vụ hồn tồn trực tuyến. Các dịch vụ từ doanh nghiệp đến
doanh nghiệp và tài chính trên Internet ảnh hƣởng đến chuỗi cung ứng trên tồn bộ các
ngành cơng nghiệp.
1.1.2. Website là gì?
Website cịn gọi là trang web hoặc trang mạng, và nội dung liên quan đƣợc xác
định bằng một tên miền chung và đƣợc xuất bản trên ít nhất một máy chủ web. Các ví
dụ đáng chú ý là các website wikipedia.org, google.com và amazon.com.
Tất cả các trang web có thể truy cập cơng khai đều tạo thành World Wide Web.
Cũng có những trang web riêng tƣ chỉ có thể đƣợc truy cập trên mạng riêng, chẳng hạn
nhƣ trang web nội bộ của công ty dành cho nhân viên của công ty.
Các trang web thƣờng dành riêng cho một chủ đề hoặc mục đích cụ thể, chẳng
hạn nhƣ tin tức, giáo dục, thƣơng mại, giải trí hoặc mạng xã hội. Siêu liên kết giữa các
trang web hƣớng dẫn điều hƣớng của trang web, thƣờng bắt đầu với trang chủ.
Ngƣời dùng có thể truy cập các trang web trên nhiều loại thiết bị, bao gồm máy
tính để bàn, máy tính xách tay, máy tính bảng và điện thoại thông minh. Ứng
dụng đƣợc sử dụng trên các thiết bị này đƣợc gọi là trình duyệt web.
Các trang web có thể đƣợc sử dụng theo nhiều kiểu khác nhau: trang web cá
nhân, trang web công ty cho cơng ty, trang web chính phủ, trang web tổ chức, v.v. Các

trang web có thể là sản phẩm của một cá nhân, một doanh nghiệp hoặc tổ chức khác và
thƣờng dành riêng cho một chủ đề hoặc mục đích cụ thể. Bất kỳ trang web nào cũng
có thể chứa một siêu liên kết đến bất kỳ trang web nào khác, do đó, sự phân biệt giữa
các trang web riêng lẻ, theo nhận thức của ngƣời dùng, có thể khơng rõ ràng.
Một số trang web yêu cầu ngƣời dùng đăng nhập hoặc đăng ký để truy cập nội
dung. Ví dụ về các trang web đăng ký bao gồm nhiều trang web kinh doanh, trang web
tin tức, trang web tạp chí học thuật, trang web trò chơi, trang web chia sẻ tệp, bảng

SVTH: Nguyễn Anh Tài - K13C04A012

4


Thiết kế và xây dựng website bán hàng bằng PHP

tin , email dựa trên web, trang web mạng xã hội, trang web cung cấp dữ liệu thị trƣờng
chứng khoán theo thời gian thực, cũng nhƣ các trang web cung cấp nhiều dịch vụ
khác.
Trong khi "web site" là cách viết gốc của tiếng Anh (đơi khi đƣợc viết hoa "Web
site", vì "Web" là danh từ riêng khi đề cập đến World Wide Web), biến thể này đã trở
nên hiếm khi đƣợc sử dụng và "website" đã trở thành cách viết chuẩn.
 Website tĩnh
Trang web tĩnh là trang web có các trang web đƣợc lƣu trữ trên máy chủ ở định
dạng đƣợc gửi đến trình duyệt web của khách hàng. Nó chủ yếu đƣợc mã hóa
bằng Hypertext Markup Language (HTML); Cascading Style Sheets (CSS) đƣợc sử
dụng để kiểm sốt giao diện ngồi HTML cơ bản. Hình ảnh thƣờng đƣợc sử dụng để
tạo ra sự xuất hiện mong muốn và là một phần của nội dung chính. Âm thanh hoặc
video cũng có thể đƣợc coi là nội dung "tĩnh" nếu nó phát tự động hoặc nói chung là
khơng tƣơng tác. Loại trang web này thƣờng hiển thị cùng một thông tin cho tất cả
khách truy cập. Tƣơng tự nhƣ việc phát một tập tài liệu in cho khách hàng hoặc khách

hàng, một trang web tĩnh nói chung sẽ cung cấp thơng tin chuẩn, nhất quán trong một
khoảng thời gian dài. Mặc dù chủ sở hữu trang web có thể cập nhật định kỳ, nhƣng
đây là một quy trình thủ cơng để chỉnh sửa văn bản, ảnh và nội dung khác và có thể
yêu cầu các kỹ năng và phần mềm thiết kế trang web cơ bản. Các biểu mẫu đơn giản
hoặc ví dụ tiếp thị của trang web, chẳng hạn nhƣ trang web cổ điển, trang web năm
trang hoặc trang web tài liệu quảng cáo thƣờng là trang web tĩnh, vì chúng trình bày
thông tin tĩnh, đƣợc xác định trƣớc cho ngƣời dùng. Điều này có thể bao gồm thơng tin
về một cơng ty và các sản phẩm và dịch vụ của công ty thông qua văn bản, ảnh, ảnh
động, âm thanh/video và menu điều hƣớng.
Các trang web tĩnh vẫn có thể sử dụng Server Side Includes (SSI) nhƣ một tiện
ích chỉnh sửa, chẳng hạn nhƣ chia sẻ một thanh menu chung trên nhiều trang. Vì hành
vi của trang web đối với ngƣời đọc vẫn là tĩnh nên đây không đƣợc coi là trang web
động.
 Website động
Trang web động là trang web tự động thay đổi hoặc tùy chỉnh thƣờng xuyên và
tự động. Các trang động phía máy chủ đƣợc tạo "nhanh chóng" bởi mã máy tính tạo ra

SVTH: Nguyễn Anh Tài - K13C04A012

5


Thiết kế và xây dựng website bán hàng bằng PHP

HTML (CSS chịu trách nhiệm về giao diện và do đó, là các tệp tĩnh). Có một loạt các
hệ thống phần mềm, chẳng hạn nhƣ CGI, Java Servlet và Java Server Pages (JSP),
Active Server Pages và ColdFusion (CFML) có sẵn để tạo hệ thống web động và trang
web động. Các khung ứng dụng web và hệ thống mẫu web khác nhau có sẵn cho các
ngơn ngữ lập trình thơng dụng nhƣ Perl, PHP, Python và Ruby để giúp tạo các trang
web động phức tạp nhanh hơn và dễ dàng hơn.

Một trang web có thể hiển thị trạng thái hiện tại của cuộc đối thoại giữa những
ngƣời dùng, theo dõi tình hình thay đổi hoặc cung cấp thông tin theo một cách nào đó
đƣợc cá nhân hóa theo yêu cầu của từng ngƣời dùng. Ví dụ: khi trang đầu của một
trang tin tức đƣợc yêu cầu, mã chạy trên máy chủ web có thể kết hợp các đoạn HTML
đƣợc lƣu trữ với các tin bài đƣợc truy xuất từ cơ sở dữ liệu hoặc một trang web khác
qua RSS để tạo ra một trang bao gồm thông tin mới nhất. Các trang web động có thể
tƣơng tác bằng cách sử dụng các biểu mẫu HTML, lƣu trữ và đọc lại cookie của trình
duyệt hoặc bằng cách tạo một loạt các trang phản ánh lịch sử các lần nhấp trƣớc đó.
Một ví dụ khác về nội dung động là khi một trang web bán lẻ có cơ sở dữ liệu về
các sản phẩm truyền thông cho phép ngƣời dùng nhập một yêu cầu tìm kiếm, ví dụ
nhƣ đối với từ khóa Beatles. Đáp lại, nội dung của trang web sẽ thay đổi một cách tự
nhiên nhƣ trƣớc đây, và sau đó sẽ hiển thị danh sách các sản phẩm của Beatles nhƣ
CD, DVD và sách. HTML động sử dụng mã JavaScript để hƣớng dẫn trình duyệt web
cách sửa đổi nội dung trang một cách tƣơng tác. Một cách khác để mô phỏng một loại
trang web động nhất định trong khi tránh mất hiệu suất khi khởi chạy động cơ trên cơ
sở mỗi ngƣời dùng hoặc mỗi kết nối là việc tự động tạo lại một loạt lớn các trang tĩnh
theo định kỳ.
1.2. CÁC CƠNG NGHỆ ĐƢỢC SỬ DỤNG
Website đƣợc sử dụng các ngơn ngữ chuẩn cho 1 trang web nhƣ: HTML, CSS,
Javascript, PHP; các thƣ viện, framework nhƣ: jQuey, Bootstrap và Hệ quản trị CSDL
MySQL. Kèm theo đó là sử dụng Xampp làm môi trƣờng WebServer hỗ trợ sẵn
Apache và MySQL.
1.2.1. Các ngôn ngữ phần thiết kế giao diện
 HTML (HyperText Markup Language – Ngôn ngữ đánh dấu siêu văn bản)

SVTH: Nguyễn Anh Tài - K13C04A012

6



Thiết kế và xây dựng website bán hàng bằng PHP

HTML (HyperText Markup Language – Ngôn ngữ đánh dấu siêu văn bản) là một
ngôn ngữ đánh dấu đƣợc thiết kế ra để tạo nên các trang web với các mẩu thông tin
đƣợc trình bày trên World Wide Web. Cùng với CSS và JavaScript, HTML tạo ra bộ
ba nền tảng kỹ thuật cho các website. Các trình duyệt web nhận tài liệu HTML từ
một web server hoặc một kho lƣu trữ cục bộ và render tài liệu đó thành các trang web
đa phƣơng tiện. HTML mô tả cấu trúc của một trang web về mặt ngữ nghĩa và các dấu
hiệu ban đầu đƣợc bao gồm cho sự xuất hiện của tài liệu.
Các phần tử HTML là các khối xây dựng của các trang HTML. Với cấu trúc
HTML, hình ảnh và các đối tƣợng khác nhƣ biểu mẫu tƣơng tác có thể đƣợc nhúng
vào trang đƣợc hiển thị. HTML cung cấp một phƣơng tiện để tạo tài liệu có cấu trúc
bằng cách biểu thị ngữ nghĩa cấu trúc cho văn bản nhƣ headings, paragraphs,
lists, links, quotes và các mục khác. Các phần tử HTML đƣợc phân định bằng các tags,
đƣợc viết bằng dấu ngoặc nhọn. Các tags nhƣ <img /> và <input /> giới thiệu trực tiếp
nội dung vào trang. Các tags khác nhƣ

bao quanh và cung cấp thông tin về văn
bản tài liệu và có thể bao gồm các thẻ khác làm phần tử phụ. Các trình duyệt khơng
hiển thị các thẻ HTML, nhƣng sử dụng chúng để diễn giải nội dung của trang.
HTML là một ngôn ngữ đánh dấu mà các trình duyệt web sử dụng để giải thích
và soạn văn bản, hình ảnh và các tài liệu khác thành các trang web trực quan hoặc
nghe đƣợc. Các đặc điểm mặc định cho mọi mục của đánh dấu HTML đƣợc xác định
trong trình duyệt và các đặc điểm này có thể đƣợc thay đổi hoặc nâng cao bằng cách
sử dụng thêm CSS của nhà thiết kế trang web. Nhiều thành phần văn bản đƣợc tìm
thấy trong báo cáo kỹ thuật 1988 ISO TR 9537 Techniques for using SGML, lần lƣợt
đề cập đến các tính năng của các ngơn ngữ định dạng văn bản ban đầu, chẳng hạn nhƣ
đƣợc sử dụng bởi lệnh RUNOFF đƣợc phát triển vào đầu những năm 1960 cho hệ điều
hành CTSS (Compatible Time-Sharing System): các lệnh định dạng này bắt nguồn từ
các lệnh đƣợc sử dụng bởi các bộ sắp chữ để định dạng tài liệu theo cách thủ công.
Tuy nhiên, khái niệm SGML về đánh dấu tổng quát dựa trên các phần tử (các phạm vi
đƣợc chú thích lồng nhau với các thuộc tính) chứ không chỉ đơn thuần là các hiệu ứng


in, với sự phân tách của cấu trúc và đánh dấu, HTML đã đƣợc chuyển dần theo hƣớng
này với CSS.
Cấu trúc cơ bản của một file HTML:

SVTH: Nguyễn Anh Tài - K13C04A012

7


Thiết kế và xây dựng website bán hàng bằng PHP

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<H1>Tiêu đề</H1>
...
</BODY>
</HTML>
 CSS (Cascading Style Sheets)
CSS là viết tắt của Cascading Style Sheets. Ngơn ngữ lập trình này chỉ ra cách
các yếu tố HTML của trang web thực sự sẽ xuất hiện trên giao diện của trang. Nếu
HTML cung cấp các công cụ thô cần thiết để cấu trúc nội dung trên một trang web thì
CSS sẽ giúp định hình kiểu nội dung này để trang web xuất hiện trƣớc ngƣời dùng
theo một cách đẹp hơn. Bạn có thể hiểu là nếu HTML là tƣờng gạch thơ thì CSS là sơn
để tran g trí cho tƣờng gạch đó. Các ngơn ngữ này đƣợc giữ riêng biệt để đảm bảo các
trang web đƣợc xây dựng chính xác trƣớc khi chúng đƣợc định dạng lại.
 JavaScript
JavaScript theo phiên bản hiện hành, là một ngơn ngữ lập trình thơng dịch đƣợc

phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này đƣợc dùng rộng rãi cho các trang
web (phía ngƣời dùng) cũng nhƣ phía máy chủ (với Nodejs). Nó vốn đƣợc phát triển
bởi Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau
đó đổi tên thành LiveScript, và cuối cùng thành JavaScript. Giống Java, JavaScript
có cú pháp tƣơng tự C, nhƣng nó gần với Self hơn Java. .js là phần mở rộng thƣờng
đƣợc dùng cho tập tin mã nguồn JavaScript.
Phiên bản mới nhất của JavaScript là ECMAScript 7. ECMAScript là phiên bản
chuẩn hóa của JavaScript. Trình duyệt Mozilla phiên bản 1.8 beta 1 có hỗ trợ khơng
đầy đủ cho E4X - phần mở rộng cho JavaScript hỗ trợ làm việc với XML, đƣợc chuẩn
hóa trong ECMA-357.
Cùng thời điểm Netscape bắt đầu sử dụng Java trên trình duyệt Netscape,
LiveScript đã đƣợc đổi tên thành JavaScript để đƣợc chú ý hơn bởi ngôn ngữ lập

SVTH: Nguyễn Anh Tài - K13C04A012

8


Thiết kế và xây dựng website bán hàng bằng PHP

trình Java lúc đó đang đƣợc coi là một hiện tƣợng. JavaScript đƣợc bổ sung vào trình
duyệt Netscape bắt đầu từ phiên bản 2.0b3 của trình duyệt này vào tháng 12 năm 1995.
Trên thực tế, JavaScript không đƣợc phát triển dựa từ Java. Do đó JavaScript chỉ dựa
trên các cách đặt tên của Java. Java Script gồm 2 mảng là client-server thực hiện lệnh
trên máy của end-user và web-server. Sau thành công của JavaScript, Microsoft bắt
đầu phát triển JScript, một ngôn ngữ có cùng ứng dụng và tƣơng thích với JavaScript.
JScript đƣợc bổ sung vào trình duyệt Internet Explorer bắt đầu từ Internet Explorer
phiên bản 3.0 đƣợc phát hành tháng 8 năm 1996.
DOM (Document Object Model), một khái niệm thƣờng đƣợc nhắc đến với
JavaScript trên thực tế không phải là một phần của chuẩn ECMAScript, DOM là một

chuẩn riêng biệt có liên quan chặt chẽ với XML.
Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web
động và một số hiệu ứng hình ảnh thơng qua DOM. JavaScript đƣợc dùng để thực hiện
một số tác vụ không thể thực hiện đƣợc với chỉ HTML nhƣ kiểm tra thơng tin nhập
vào, tự động thay đổi hình ảnh,... Ở Việt Nam, JavaScript còn đƣợc ứng dụng để
làm bộ gõ tiếng Việt giống nhƣ bộ gõ hiện đang sử dụng trên trang Wikipedia tiếng
Việt. Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo
chuẩn W3C DOM, do đó trong rất nhiều trƣờng hợp lập trình viên phải viết nhiều
phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt.
Một số công nghệ nổi bật dùng JavaScript để tƣơng tác với DOM bao gồm DHTML,
Ajax và SPA.
Bên ngồi trình duyệt, JavaScript có thể đƣợc sử dụng trong tập tin PDF của
Adobe Acrobat và Adobe Reader. Điều khiển Dashboard trên hệ điều hành Mac OS X
phiên bản 10.4 cũng có sử dụng JavaScript. Công nghệ kịch bản linh động (active
scripting) của Microsoft có hỗ trợ ngơn ngữ JScript làm một ngơn ngữ kịch bản dùng
cho hệ điều hành. JScript.NET là một ngôn ngữ tƣơng thích với CLI gần giống JScript
nhƣng có thêm nhiều tính năng lập trình hƣớng đối tƣợng.
Từ khi Nodejs ra đời vào năm 2009, Javascript đƣợc biết đến nhiều hơn là một
ngơn ngữ đa nền tảng khi có thể chạy trên cả môi trƣờng máy chủ cũng nhƣ môi
trƣờng nhúng.

SVTH: Nguyễn Anh Tài - K13C04A012

9


Thiết kế và xây dựng website bán hàng bằng PHP

Mỗi ứng dụng này đều cung cấp mơ hình đối tƣợng riêng cho phép tƣơng tác với
môi trƣờng chủ, với phần lõi là ngơn ngữ lập trình JavaScript gần nhƣ giống nhau.

1.2.2. Các thƣ viện, framework
 jQuery
jQuery là thƣ viện đƣợc viết từ Javascript, jQuery giúp xây dựng các chức năng
bằng Javascript dễ dàng, nhanh và giàu tính năng hơn. jQuery đƣợc sử dụng đến 99%
trên tổng số website trên thế giới hiện nay.Website kinh doanh giày online 7. Khi bạn
đã có kiến thức javascript căn bản thì học jQuery sẽ rất nhanh, bởi chúng ta chỉ học
cách sử dụng các thƣ viện jQuery API. còn cấu trúc và cú pháp lập trình thì khơng
khác gì Javascript. jQuery khơng phải là một ngơn ngữ lập trình riêng biệt mà hoạt
động liên kết với JavaScript. Với jQuery, bạn có thể làm đƣợc nhiều việc hơn mà lại
tốn ít cơng sức hơn. jQuery cung cấp các API giúp việc duyệt tài liệu HTML, hoạt
ảnh, xử lý sự kiện và thao tác AJAX đơn giản hơn. jQuery hoạt động tốt trên nhiều
loại trình duyệt khác nhau. Một trong những đối thủ nặng ký của jQuery đó là JS
Framework. jQuery đƣợc phát hành vào tháng 1 năm 2006 bởi John Resig tại
BarCamp NYC. Nó đƣợc duy trì và phát triển bởi một nhóm các nhà phát triển
của Google đứng đầu là Timmy Wilson.
jQuery đơn giản hóa việc duyệt tài liệu HTML, xử lý sự kiện, hoạt ảnh và tƣơng
tác Ajax để phát triển web nhanh chóng. Các phân tích web đã chỉ ra rằng, jQuery là
thƣ viện JavaScript đƣợc triển khai rộng rãi nhất.
jQuery là một bộ công cụ JavaScript đƣợc thiết kế để đơn giản hóa các tác vụ
khác nhau bằng cách viết ít code hơn. Dƣới đây liệt kê một số tính năng tối quan trọng
đƣợc hỗ trợ bởi jQuery:
– Thao tác DOM − jQuery giúp dễ dàng lựa chọn các phần tử DOM để traverse
(duyệt) một cách dễ dàng nhƣ sử dụng CSS, và chỉnh sửa nội dung của chúng bởi sử
dụng phƣơng tiện Selector mã nguồn mở, mà đƣợc gọi là Sizzle.
– Xử lý sự kiện − jQuery giúp tƣơng tác với ngƣời dùng tốt hơn bằng việc xử lý
các sự kiện đa dạng mà không làm cho HTML code rối tung lên với các Event
Handler.
– Hỗ trợ AJAX − jQuery giúp bạn rất nhiều để phát triển một site giàu tính năng
và phản hồi tốt bởi sử dụng cơng nghệ AJAX.


SVTH: Nguyễn Anh Tài - K13C04A012

10


Thiết kế và xây dựng website bán hàng bằng PHP

– Hiệu ứng động − jQuery đi kèm với rất nhiều hiệu ứng động đẹp mà bạn có thể
sử dụng cho các website của mình.
– Gọn nhẹ − jQuery là thƣ viện gọn nhẹ - nó chỉ có kích cỡ khoảng 19KB
(gzipped).
– Đƣợc hỗ trợ hầu hết bởi các trình duyệt hiện đại − jQuery đƣợc hỗ trợ hầu hết
bởi các trình duyệt hiện đại, và làm việc tốt trên IE 6.0+, FF 2.0+, Safari 3.0+, Chrome
và Opera 9.0+.
– Cập nhật và hỗ trợ các công nghệ mới nhất − jQuery hỗ trợ CSS3 Selector và cú
pháp XPath cơ bản.
 Bootstrap
Bootstrap là một framework bao gồm các HTML, CSS và JavaScript template
dùng để phát triển website chuẩn responsive. Bootstrap cho phép q trình thiết kế
website diễn ra nhanh chóng và dễ dàng hơn dựa trên những thành tố cơ bản sẵn có
nhƣ typography, forms, buttons, tables, grids, navigation, image carousels… Bootstrap
là một bộ sƣu tập miễn phí của các mã nguồn mở và công cụ dùng để tạo ra một mẫu
webiste hồn chỉnh. Với các thuộc tính về giao diện đƣợc quy định sẵn nhƣ kích
thƣớc, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản phẩm mới
mẻ nhƣng vẫn tiết kiệm thời gian khi làm việc với framework này trong quá trình thiết
kế giao diện website.
1.2.3. Tổng quan ngơn ngữ lập trình PHP
PHP thƣờng đƣợc viết tắt thành PHP là một ngơn ngữ lập trình kịch bản hay một
loại mã lệnh chủ yếu đƣợc dùng để phát triển các ứng dụng viết cho máy chủ, mã
nguồn mở, dùng cho mục đích tổng qt. Nó rất thích hợp với web và có thể dễ dàng

nhúng vào trang HTML. Do đƣợc tối ƣu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ
gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tƣơng đối ngắn
hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngơn ngữ lập
trình web phổ biến nhất thế giới.
Ngôn ngữ, các thƣ viện, tài liệu gốc của PHP đƣợc xây dựng bởi cộng đồng và có
sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập
nên nhằm tạo ra một môi trƣờng chuyên nghiệp để đƣa PHP phát triển ở quy mô doanh
nghiệp.

SVTH: Nguyễn Anh Tài - K13C04A012

11


Thiết kế và xây dựng website bán hàng bằng PHP

Nó đƣợc đƣợc chạy ở phía server nhằm sinh ra mã html trên client. Nhờ vậy mà
nó tạo ra các ứng dụng web chạy trên máy chủ. Mã lệnh PHP có thể đƣợc chúng vào
trong HTML nhờ sử dụng cặp thẻ PHP <?php ?>.
 PHP/FI
PHP đƣợc phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdorf tạo ra năm 1994, ban đầu đƣợc xem nhƣ là một tập con đơn giản của các mã
kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ơng trên mạng.
Ơng đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến
các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể
truy vấn tới các cơ sở dữ liệu và giúp cho ngƣời sử dụng phát triển các ứng dụng web
đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi ngƣời xem,
sử dụng cũng nhƣ sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các
chức năng cơ bản cho PHP nhƣ ta đã biết đến chúng ngày nay. Nó có các biến kiểu

nhƣ Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này
giống nhƣ của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút đƣợc
hàng ngàn ngƣời sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã đƣợc ghi
nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có
tới hàng nghìn ngƣời tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì
vào thời đó nó vẫn chủ yếu chỉ là dự án của một ngƣời.
PHP/FI 2.0 đƣợc chính thức công bố vào tháng 11 năm 1997, sau một thời gian
khá dài chỉ đƣợc công bố dƣới dạng các bản beta. Nhƣng khơng lâu sau đó, nó đã đƣợc
thay thế bởi các bản alpha đầu tiên của PHP 3.0.
 PHP 3
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các
phiên bản PHP mà chúng ta đƣợc biết ngày nay. Nó đã đƣợc Andi Gutmans và Zeev
Suraski tạo ra năm 1997 sau khi viết lại hồn tồn bộ mã nguồn trƣớc đó. Lý do chính
mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong
việc phát triển các ứng dụng thƣơng mại điện tử mà họ đang xúc tiến trong một dự án
của trƣờng đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở

SVTH: Nguyễn Anh Tài - K13C04A012

12


Thiết kế và xây dựng website bán hàng bằng PHP

ngƣời dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công
bố PHP 3.0 nhƣ là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển
PHP/FI 2.0.
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh
mẽ của nó. Ngồi khả năng cung cấp cho ngƣời dùng cuối một cơ sở hạ tầng chặt chẽ

dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của
PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mơ đun mở rộng
mới. Hồn tồn có thể kết luận đƣợc rằng đây chính là điểm mấu chốt dẫn đến thành
cơng vang dội của PHP 3.0. Các tính năng khác đƣợc giới thiệu trong PHP 3.0 gồm có
hỗ trợ cú pháp hƣớng đối tƣợng và nhiều cú pháp ngơn ngữ nhất qn khác.
Ngơn ngữ hồn tồn mới đã đƣợc cơng bố dƣới một cái tên mới, xóa bỏ mối liên
hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó
đã đƣợc đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của "PHP: Hypertext
Preprocessor".
Vào cuối năm 1998, PHP đã phát triển đƣợc con số cài đặt lên tới hàng chục
ngàn ngƣời sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh
cao, PHP 3.0 đã đƣợc cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet.
PHP 3.0 đã chính thức đƣợc cơng bố vào tháng 6 năm 1998, sau thời gian 9
tháng đƣợc cộng đồng kiểm nghiệm.
 PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức đƣợc cơng bố, Andi
Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục
đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mơ
đun của cơ sở mã PHP. Những ứng dụng nhƣ vậy đã chạy đƣợc trên PHP 3.0 dựa trên
các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba,
nhƣng PHP 3.0 đã không đƣợc thiết kế để xử lý các ứng dụng phức tạp nhƣ thế này
một cách có hiệu quả.
Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev
và Andi), đã đáp ứng đƣợc các nhu cầu thiết kế này một cách thành công, và lần đầu
tiên đƣợc giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm với
hàng loạt các tính năng mới bổ sung, đã chính thức đƣợc cơng bố vào tháng 5

SVTH: Nguyễn Anh Tài - K13C04A012

13



Thiết kế và xây dựng website bán hàng bằng PHP

năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý đƣợc cải thiện rất
nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ
Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý
thông tin ngƣời sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn
ngữ mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu
site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn ngƣời và nhiều nghìn
ngƣời khác tham gia vào các dự án có liên quan đến PHP nhƣ PEAR, PECL và tài liệu
kĩ thuật cho PHP.
 PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã khơng làm cho nhóm phát triển
PHP tự mãn. Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kém của
PHP 4 đặc biệt với khả năng hỗ trợ lập trình hƣớng đối tƣợng (OOP), xử lý XML,
không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web
yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của
PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt
đầu vào thời điểm tháng 12 năm 2002 nhƣng những bài phỏng vấn Zeev liên quan đến
phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002.
Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức đƣợc cơng bố để cộng đồng
kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2
sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất đƣợc
chờ đợi: Iterators, Reflection nhƣng namespaces một tính năng gây tranh cãi khác đã
bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã đƣợc công bố để
kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các
hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP năm

bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản
kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất
đầu tiên nhƣng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP.
Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 đƣợc PHP Team cơng bố đánh dấu
sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một

SVTH: Nguyễn Anh Tài - K13C04A012

14


Thiết kế và xây dựng website bán hàng bằng PHP

hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy
vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong
nhân Zend Engine 2, nâng cấp mơ đun PCRE lên bản PCRE 5.0 cùng những tính năng
và cải tiến mới trong SOAP, streams và SPL.
 PHP 6
Phiên bản PHP 6 đƣợc kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên
bản hiện tại, ví dụ: hỗ trợ namespace; hỗ trợ Unicode; sử dụng PDO làm API chuẩn
cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đƣa ra thành thƣ viện PECL... Phiên
bản 6 này chỉ dùng ở việc nghiên cứu và thử nghiệm. Sau này PHP bỏ hẳn phiên bản 6
và lên 7.
 PHP 7
Với việc sử dụng bộ nhân Zend Engine mới PHPNG cho tốc độ nhanh gấp 2 lần.
Ngồi ra ở phiên bản này cịn thêm vào rất nhiều cú pháp, tính năng mới giúp cho PHP
trở nên mạnh mẽ hơn. Những tính năng mới quan trọng có thể kể đến nhƣ:
– Khai báo kiểu dữ liệu cho biến.
– Xác định kiểu dữ liệu sẽ trả về cho 1 hàm.
– Thêm các toán tử mới (??, <=>,...).

 Cú pháp
PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó. Bất cứ mã
nào nằm ngồi những dấu giới hạn đều đƣợc xuất ra trực tiếp không thông qua xử lý
bởi PHP. Các dấu giới hạn thƣờng dùng nhất là <?php và ?>, tƣơng ứng với dấu giới
hạn mở và đóng. Các dấu giới hạn <script language="php"> và </script> cũng đôi khi
đƣợc sử dụng. Cách viết dấu giới hạn dạng thẻ ngắn cũng có thể đƣợc dùng để thông
báo bắt đầu đoạn mã PHP, là các xâu ký tự hay biến) với thẻ thông báo kết thúc đoạn mã PHP là ?>. Những thẻ này
thƣờng xuyên đƣợc sử dụng, tuy nhiên giống với những thẻ kiểu ASP ( <% hay <%=
và %>), chúng khơng có tính di động cao bởi có thể bị vơ hiệu khi cấu hình PHP. Bởi
vậy, việc dùng các thẻ dạng ngăn hay các thẻ kiểu ASP khơng đƣợc khuyến khích.
Mục đích của những dấu giới hạn này là ngăn cách mã PHP với những đoạn mã thuộc
ngôn ngữ khác, gồm cả HTML. Mọi đoạn mã bên ngoài các dấu này đều bị hệ thống
phân tích bỏ qua và đƣợc xuất ra một cách trực tiếp.

SVTH: Nguyễn Anh Tài - K13C04A012

15


Thiết kế và xây dựng website bán hàng bằng PHP

Các biến đƣợc xác định bằng cách thêm vào trƣớc một dấu đô la ($) và không
cần xác định trƣớc kiểu dữ liệu. Không giống với tên hàm và lớp, tên biến là trƣờng
hợp nhạy cảm. Cả dấu ngoặc kép ("") và ký hiệu đánh dấu văn bản (<<đều có thể dùng để truyền xâu và giá trị biến.[4] PHP coi xuống dòng nhƣ một khoảng
trắng theo kiểu nhƣ một ngơn ngữ dạng tự do (free-form language) (trừ khi nó nằm
trong trích dẫn xâu), và các phát biểu đƣợc kết thúc bởi một dấu chấm phẩy. PHP có
ba kiểu cú pháp chú thích: /* */ cho phép một đoạn chú thích tùy ý, trong khi đó // và #
cho phép chú thích trong phạm vi một dịng. Phát biểu echo là một trong những lệnh

của PHP cho phép xuất văn bản (vd. ra một trình duyệt web).
 Các hàm có sẳn thông dụng
– Hàm include(): đƣa nội dung của một file chỉ định vào nội dung của file gọi nó.
– Hàm strlen(): Đƣợc sử dụng để trả lại chiều dài của một chuỗi.
– Hàm strpos (): đƣợc sử dụng để tìm kiếm một nhân vật / văn bản trong một
chuỗi.
– Hàm phpinfo(): hiển thị chi tiết cấu hình PHP trên máy chủ.
– Hàm date(): Hiển thị ngày tháng theo quy tắc đã thiết lập.
– Hàm substr(): Tách một phần trong chuỗi.
– Hàm str_word_count(): Dùng để đếm có bao nhiêu từ trong chuỗi.
– Hàm str_split(): Cắt các ký tự trong chuỗi và chuyển thành dạng mảng.
– Hàm echo(): In dữ liệu chuỗi ra màn hình.
1.2.4. Hệ quản trị cơ sở dữ liệu My SQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và
đƣợc các nhà phát triển rất ƣa chuộng trong quá trình phát triển ứng dụng. Vì MySQL
là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy
cập CSDL trên internet. Ngƣời dùng có thể tải về MySQL miễn phí từ trang chủ.
MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các
hệ điều hành dòng Windows, Linux, MacOS X, Unix, FreeBSD, NetBSD, Novell
NetWare, SGI Irix, Solaris, SunOS,..

SVTH: Nguyễn Anh Tài - K13C04A012

16


Thiết kế và xây dựng website bán hàng bằng PHP


MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngơn ngữ truy vấn có cấu trúc (SQL).
MySQL đƣợc sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ
khác, làm nơi lƣu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay
Perl,...
1.2.5. Tổng quan phần mềm XAMPP

Hình 1.1. Giao diện phần mềm XAMPP
Là phần mềm web server thuộc bản quyền của GNU General Public Licence,
XAMPP do Apache Friends phân phối và phát triển. Đây là chƣơng trình tạo máy chủ
Web (Web Server) đƣợc tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server
và các công cụ nhƣ phpMyAdmin.
Web Server (máy phục vụ Web) là máy tính cài đặt phần mềm phục vụ Web. Đơi
khi ngƣời ta cũng gọi chính phần mềm đó là Web Server.
Hiểu đơn giản, XAMPP là ứng dụng dùng để tạo và điều hành máy chủ nội bộ
(localhost). Đƣợc ghép của 2 chữ “local” (địa phƣơng, ý chỉ máy tính của bạn) và
“host” (máy chủ), localhost là thuật ngữ chỉ máy chủ chạy trên máy tính cá nhân.
Phần mềm XAMPP là một loại ứng dụng phần mềm khá phổ biến. XAMPP
thƣờng hay đƣợc các lập trình viên sử dụng để xây dựng và phát triển các dựa án
website theo ngôn ngữ PHP.

SVTH: Nguyễn Anh Tài - K13C04A012

17


×