TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VIỆT-HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
WEBSITE ĐĂNG KÝ HỌC ONLINE
Sinh viên thực hiện
Mã sinh viên
GVHD
Lớp
: Nguyễn Đăng Nghĩa
: 191C900028
: Ths Dương Thị Mai Nga
: 19I1
Đà Nẵng, tháng 11 năm 2021
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VIỆT-HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
WEBSITE ĐĂNG KÝ HỌC ONLINE
Sinh viên thực hiện : Nguyễn Đăng Nghĩa
Mã sinh viên
: 191C900028
GVHD
: Ths Dương Thị Mai Nga
Lớp
: 19I1
Đà Nẵng, tháng 11 năm 2021
1
MỞ ĐẦU
Kính thưa q thầy cơ,
Ngày nay khoa học kỹ thuật trên thế giới nói chung, ở Việt Nam nói riêng đang
trên đà phát triển mạnh mẽ và không ngừng nâng cao phát triển về mọi mặt. Đặc biệt
là ngành công nghệ thông tin. Để đáp ứng nhu cầu ngày càng cao của con người thì
hàng loạt các cơng ty về máy tính được ra đời và các ứng dụng công nghệ thông tin
đang được áp dụng ngày một nhều hơn.Với cơng nghệ hiện đại như ngày nay thì con
người dần dần được giải phóng bởi những cơng việc nặng nhọc và thay vào đó là những
ứng dụng của cơng nghệ thông tin ngày một hiện đại và kỹ xảo như các robot, máy tự
động, các phần mềm quản lý và rất nhiều các ứng dụng đang được áp dụng ngồi thực
tiễn. Nhưng bên cạnh đó cũng cịn rất nhiều vấn đề hạn chế liên quan đến việc bảo trì
hoặc lập trình những trang web mới mang xu hướng thời đại theo từng năm tháng.
Chính vì những hạn chế nêu trên em đã tự xây dựng cho mình một website mà em tự
cho là cần thiết trong những năm tháng bệnh dịch này, đó là một trang web giúp các
bạn học sinh, sinh viên đăng ký được những môn mà mình muốn học online khi khơng
thể nào đến lớp do chính sách hạn chế vì COVID của nhà nước.
Với kinh nghiệm non nớt của mình trong mảng lập trình nếu có sai sót gì mong
q thầy cơ chỉ bảo giúp em để em được hoàn thiện thêm khả năng lập trình của mình.
Em xin chân thành cảm ơn!
2
LỜI CẢM ƠN
Để hoàn thành bài báo cáo này, trước hết, em xin cảm ơn các thầy cô giáo khoa
KHOA HỌC MÁY TÍNH Trường Đại học CNTT và Truyền Thơng Việt - Hàn, em đã
nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô cùng bạn bè. Em cũng xin
gửi lời cảm ơn đến ban giám hiệu nhà trường đã tạo điều kiện tốt nhất cho em củng như
các bạn trong suốt thời gian học tập và làm đồ án tốt nghiệp.
Em xin chân thành cảm ơn Cô Dương Thị Mai Nga đã trang bị cho em những kiến
thức chuyên môn trong thời gian vừa qua, và giúp em hiểu rỏ hơn cái lĩnh vực đã nghiên
cứu để hoàn thành đề tại được giao.
Với điều kiện thời gian có hạn, kiến thức cịn hạn chế, bài báo cáo này khơng thể
tránh được những sai sót. Em rất mong nhận được ý kiến đóng góp của các quý thầy cơ
và nhà trường để em có thêm kinh nghiệm và bổ sung kiến thức bản thân, và tiếp tục
phát triển đồ án của mình.
Em xin chân thành cảm ơn!
3
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
…………………………………………………………………………………………………
……………………………………………………………………..…………………………..
…………………………………………………………………………………………………
…………………………………………..……………………………………………………..
…………………………………………………………………………………………………
………………..………………………………………………………………………………..
………………………………………………………………………………………..………..
…………………………………………………………………………………………………
……………………………………………………………..…………………………………..
…………………………………………………………………………………………………
…………………………………..……………………………………………………………..
…………………………………………………………………………………………………
………..………………………………………………………………………………………..
………………………………………………………………………………..………………..
…………………………………………………………………………………………………
……………………………………………………..…………………………………………...
………………………………………………………………………………………………….
…………………………..……………………………………………………………………..
………………………………………………………………………………………………….
.…………………………………………………………………………………………………
……………………………………………………………………..…………………………...
…………………………………………………………………………………………………
……………………………………………..…………………………………………………..
…………………………………………………………………………………………………
…………………..……………………………………………………………………………..
…………………………………………………………………………………………..……..
…………………………………………………………………………………………………
………………………………………………………………..………………………………..
4
MỤC LỤC
LỜI CẢM ƠN ...................................................................................................................... 3
DANH MỤC CÁC TỪ VIẾT TẮT ...................................................................................... 7
DANH MỤC BẢNG BIỂU .................................................................................................. 8
DANH MỤC HÌNH ẢNH.................................................................................................... 9
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI .......................................................................... 10
1.1. Giới thiệu ............................................................................................................... 10
1.2.
Mục tiêu................................................................................................................. 10
1.3.
Nội dung và kế hoạch thực hiện ............................................................................. 11
1.4.
Tên đề tài ............................................................................................................... 11
1.5.
Lý do chọn đề tài ................................................................................................... 11
1.6.
Nhiệm vụ ............................................................................................................... 11
1.7.
Mục đích nghiên cứu ............................................................................................. 11
1.8.
Định hướng giải quyết ........................................................................................... 12
1.9.
Ý nghĩa thực tiễn với bản thân ............................................................................... 12
CHƯƠNG 2. CÔNG CỤ CÔNG NGHỆ SỬ DỤNG .......................................................... 13
2.1. Giới thiệu về PHP .................................................................................................. 13
2.1.1. PHP là gì? ......................................................................................................... 13
2.1.2. Lịch sử phát triển của PHP................................................................................ 14
2.2. Giới thiệu về MySQL .............................................................................................. 17
2.2.1. MySQL là gì? .................................................................................................... 17
2.2.2. Đặt điểm của hệ quản trị cơ sở dữ liệu MySQL .................................................. 18
2.2.3. Những lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL .............................. 18
2.2.4. Javascript ............................................................................................................ 22
2.2.5. Xampp ............................................................................................................... 23
2.2.6
Sublime Text 3 ................................................................................................ 23
2.2.7 Hyper Text Markup Languages (HTML) ............................................................. 24
2.2.8 Cascading Style Sheet (CSS) ............................................................................... 24
2.2.9 JQuery ................................................................................................................. 25
CHƯƠNG 3. PHÂN TÍCH MƠ HÌNH HỆ THỐNG .......................................................... 27
3.1. Phân tích u cầu ...................................................................................................... 27
3.1.1. Yêu cầu về chức năng hệ thống........................................................................... 27
5
3.1.2.Yêu cầu về hình thức ........................................................................................... 27
3.1.3.Yêu cầu về bảo mật: ............................................................................................ 27
3.2. Sơ đồ chức năng quản lý admin ................................................................................ 28
3.3. Sơ đồ chức năng người dùng ..................................................................................... 29
3.4 sơ đồ use case ............................................................................................................ 30
3.4.1. Biểu đồ use case tổng quát .................................................................................. 30
3.4.3.
Biểu đồ use case quản lý tài khoản .................................................................. 31
3.4.2
Biểu đồ quản lý khoá học đã được đăng ký của admin .................................... 32
3.4.6
Biểu đồ use case quản lý khoá học đã đăng ký của người dung ....................... 33
3.4.7
Biểu đồ use case quản lí khố học ................................................................... 34
3.5
Hệ thống database .................................................................................................. 34
CHƯƠNG 4. KẾT QUẢ ĐẠT ĐƯỢC ............................................................................... 35
4.1. Giao diện chung ........................................................................................................ 35
4.1.1. Giao diện trang chủ............................................................................................. 35
4.1.2. Giao diện chi tiết khóa học ................................................................................. 36
4.1.3. Giao diện trang admin......................................................................................... 37
4.1.4. Giao diện trang đăng nhập .................................................................................. 39
4.1.5. Giao diện trang lấy mật khẩu .............................................................................. 40
4.1.6. Giao diện trang giới thiệu ................................................................................... 41
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..................................................... 42
5.1. Kết quả đạt được ....................................................................................................... 42
5.1.1. Về phía người quản trị ........................................................................................ 42
5.1.2. Về phía người dùng ............................................................................................ 42
5.1.3. Về phía bản thân ................................................................................................. 42
5.2. Những hạn chế và thiếu sót ....................................................................................... 42
5.3. Hướng phát triển ....................................................................................................... 42
TÀI LIỆU THAM KHẢO ................................................................................................ 44
6
DANH MỤC CÁC TỪ VIẾT TẮT
VIẾT TẮT
NỘI DUNG
CSDL
Cơ sở dữ liệu
HTML
Hypertext Markup Language
IDE
Integrated Development Environment
IoC
Inversion of Control
MIT
Massachusetts Institute of Technology
MVC
Model-View-Controller
OOP
Object Oriented Programming
ODBC
Open Database Connectivity
7
DANH MỤC BẢNG BIỂU
Bảng 1: Bảng nội dung và kế hoạch thực hiện. .................................................................... 11
8
DANH MỤC HÌNH ẢNH
Hình 2. 1. Giao diện php. .................................................................................................... 13
Hình 2. 2. Giao diện MySQL .............................................................................................. 18
Hình 2. 3. Giao diện bootstrap............................................................................................. 21
Hình 2. 4. Giao diện javascript. ........................................................................................... 22
Hình 2. 5. Giao diện xampp. ............................................................................................... 23
Hình 2. 6. Giao diện sublime text 3. .................................................................................... 23
Hình 3. 1. Sơ đồ chức năng quản lý admin .......................................................................... 28
Hình 3. 2. Sơ đồ chức năng người dung. ............................................................................. 29
Hình 3. 3. Biểu đồ usecase mức tổng quát. .......................................................................... 30
Hình 3. 5. Biểu đồ use case quản lý tài khoản. .................................................................... 31
Hình 3. 6. Biểu đồ use case quản lý khoá học đã đăng ký của admin. .................................. 32
Hình 3. 7. Biểu đồ use case quản lý danh mục của admin. ................................................... 33
Hình 3. 8.Biểu đồ use case quản lý khố học đã đăng ký của người dùng. ........................... 33
Hình 3. 9. Biểu đồ quản lí khố học. ................................................................................... 34
Hình 3. 10. Giao diện databases. ......................................................................................... 34
Hình 4. 1.Giao diện trang chủ. ............................................................................................ 35
Hình 4. 2.Giao diện chi tiết khố học. ................................................................................. 36
Hình 4. 3.Giao diện trang admin. ........................................................................................ 39
Hình 4. 4. Giao diện trang đăng nhập .................................................................................. 39
Hình 4. 5. Lấy lại mật khẩu. ................................................................................................ 40
Hình 4. 6. Liên hệ ............................................................................................................... 41
Hình 4. 7. Vị trí. .................................................................................................................. 41
9
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu
1.1.
Trong những năm gần đây dịch bệnh do COVID 19 ngày càng phức tạp. Việc học tập
theo phương thức truyền thống đang không phát huy được điểm mạnh do dịch bệnh, cũng
chính vì thế việc học tập bằng phương thức trực tuyến đang là 1 giải pháp tốt nhất. Chính vì
thế trang web này được tạo ra giúp mọi người có thể tham khảo và đăng ký những khóa học
mà mình ưa thích nhất chỉ với vài cú nhấp chuột
Việc học tập đối với chúng ta không bao giờ là đủ cả nhưng vì dịch bệnh nên cách tốt
nhất vẫn là học tập online. Với tình hình bệnh dịch cịn kéo dài thì khơng thể đến lớp thì những
bài tập cũng như cách giảng dạy của giáo viên trên nền tảng trang web của chúng tơi sẽ khơng
khiến bạn thất vọng ngồi ra đây cũng tồn là những giảng viên có chun mơn cao và có
chứng nhận tốt trong lĩnh vực của mình
Với những nhu cầu đã nêu trên, chúng ta cần những website giúp học sinh, sinh viên,
những người muốn cải thiện khả năng của bản thân có mơi trường cũng như cách thức học tập
mới hơn so với cách thức truyền thống là học tập tại lớp.
1.2.
-
Mục tiêu
Xây dựng 1 website đầy đủ chức năng, hoàn chỉnh của 1 website đăng ký học trực
tuyến.
-
Website có nội dung hấp dẫn, đầy đủ, phù hợp, chính xác với mọi đối tượng sử dụng.
-
Website có bố cục hợp lý cùng với giao diện ưa nhìn, nội dung phù hợp, thân thiện với
người dùng.
10
Nội dung và kế hoạch thực hiện
1.3.
Thời gian
Nội dung thực hiện
Từ ngày 6/8/2021 đến 12/9/2021
Xác định vấn đề cần giải quyết
Từ ngày 13/9/2021 đến 26/9/2021
Phân tích hiện trạng
Từ ngày 27/9/2021 đến 11/10/2021
Tìm kiếm giải pháp
Từ ngày 12/10/2021 đến 8/11/2021
Thiết kế và thực hiện nội dung
Từ ngày 9/11/2021 đến 29/11/2021
Vận hành thử nghiệm và đánh giá kết quả
Bảng 1: Bảng nội dung và kế hoạch thực hiện.
Tên đề tài
1.4.
Tên đề tài: Thiết kế website đăng ký học online.
Lý do chọn đề tài
1.5.
Ngày nay, trong tình hình dịch bệnh COVID-19 đang diễn biến rất phức tạp với nhiều
biến chủng mới gây hại cho con người và rất dê lây lan từ người này sang người khác. Chính
vì thế việc học tập và giảng dạy trực tiếp theo xu hướng truyền thống không tạo được nhiều
thế mạnh hay có thể gọi là khó có thể thực hiện được. Ngồi ra việc phát triển của mạng
internet đã giúp cho con người chúng ta dê dàng liên lạc với nhau dù có cách xa nhau hàng
trăm km.
Cũng vì những lý do trên, em đã quyết định xây dựng một trang web giúp các bạn học
viên khác đăng ký những mơn học mà mình mong muốn, giúp các bạn có thể dễ dàng học tập
hơn trong tình hình dịch bệnh và giúp các bạn bảo vệ sức khoẻ của bản thân cũng như giảm
nguy cơ lây lan của bệnh dịch.
Nhiệm vụ
1.6.
Xây dựng 1 website đăng ký học online và giới thiệu về các môn học cần thiết, đăng ký
học theo yêu cầu với thời gian và giá cả hợp lý nhất
Mục đích nghiên cứu
1.7.
-
Xây dựng một website cung cấp cho học viên những thông tin chi tiết về các khố học,
thơng tin liên hệ cũng như các khoá học mới được cập nhật thường xuyên
-
Học viên có thể đăng ký những khố học mà mình u thích
11
-
Xây dựng một website giúp người quản trị quản lý thông tin một cách dễ dàng hơn
-
Củng cố và bổ sung kiến thức các mơn đã học. Qua đó, rèn luyện kỹ năng làm việc độc
-
Từ đề tài này có thể mở rộng ra và ứng dụng cho các đề tài khác có liên quan.
lập.
Định hướng giải quyết
1.8.
Từ các yêu cầu đặt ra của đề tài tiến hành phân tích và đưa ra hướng giải quyết theo các
bước sau:
-
Tìm hiểu về các website tương tự để xây dựng các chức năng sao cho phù hợp với đa
phần thị hiếu của người sử dụng hiện nay.
-
Tiến hành tìm hiểu về các khái niệm có liên quan và từ các thơng tin khảo sát được sẽ
tiến hành phân tích các chức năng dự định đưa vào website.
-
Tìm hiểu về các nội dung cần có của một trang web đăng ký học online, từ đó đưa ra
các giải pháp để tiến hành xây dựng.
-
Lựa chọn và cài đặt các công cụ, phần mềm phù hợp cho việc thiết kế website.
-
Bắt tay vào việc xây dựng website.
-
Tiến hành kiểm tra và chạy thử.
-
Thay đổi, bổ sung, khắc phục các lỗi để website hoàn chỉnh hơn.
1.9.
Ý nghĩa thực tiễn với bản thân
Ý nghĩa với doanh nghiệp, cá nhân của website:
-
Website được xây dựng nhằm giúp quảng bá thông tin sản phẩm, dịch vụ của hệ thống
ra ngồi thị trường một cách rộng rãi. Qua đó giúp tăng số lượng khách hàng sử dụng trang
web và tăng doanh thu. Bên cạnh đó, cịn giúp cho doanh nghiệp, cá nhân giảm được chi phí.
Ý nghĩa đối với khách hàng:
-
Giúp cho người sử dụng có thể nhanh chóng lựa chọn những mơn học mà mình muốn
đặt mà khơng cần đến lớp học
Ý nghĩa đối với cá nhân sinh viên:
- Qua đề tài này, em có thể xây dựng một website để ứng dụng vào thực tế với giao diện
thân thiện, dễ dàng sử dụng trong quá trình xem thông tin và dễ quản lý.
12
CHƯƠNG 2. CÔNG CỤ CÔNG NGHỆ SỬ DỤNG
2.1.
Giới thiệu về PHP
2.1.1. PHP là gì?
PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngơn ngữ lập trình kịch bản
được chạy ở phía server nhằm sinh ra mã html trên client. PHP đã trải qua rất nhiều phiên bản
và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ học nên
PHP đã trở thành một ngơn ngữ lập trình web rất phổ biến và được ưa chuộng.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ
liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP).
Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người
dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL
server...) đóng vai trị là nơi lưu trữ và truy vấn dữ liệu.
Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver. Thông
thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux,
Hình 2. 1. Giao diện php.
13
2.1.2. Lịch sử phát triển của PHP
PHP như nó được biết đến ngày nay thực sự là sự kế thừa của một sản phẩm có tên là
PHP / FI. Được tạo ra vào năm 1994 bởi Rasmus Lerdorf, phiên bản đầu tiên của PHP là một
bộ mã nhị phân Common Gateway Interface (CGI) đơn giản được viết bằng ngôn ngữ lập
trình C. Ban đầu được sử dụng để theo dõi lượt truy cập vào sơ yếu lý lịch trực tuyến của
mình, anh ấy đặt tên cho bộ tập lệnh là "Công cụ Trang chủ Cá nhân", thường được gọi là
"Công cụ PHP". Theo thời gian, nhiều chức năng hơn được mong muốn và Rasmus đã viết lại
các Công cụ PHP, tạo ra một triển khai lớn hơn và phong phú hơn nhiều. Mơ hình mới này có
khả năng tương tác với cơ sở dữ liệu và hơn thế nữa, cung cấp một khn khổ để người dùng
có thể phát triển các ứng dụng web động đơn giản như sổ lưu bút. Vào tháng 6 năm 1995,
Rasmus »phát hành mã nguồn của Công cụ PHP cho công chúng, cho phép các nhà phát triển
sử dụng nó khi họ thấy phù hợp. Điều này cũng cho phép - và được khuyến khích - người
dùng cung cấp các bản sửa lỗi cho mã và thường cải thiện nó.
Vào tháng 9 năm đó, Rasmus mở rộng sang PHP và - trong một thời gian ngắn - đã thực
sự bỏ tên PHP. Bây giờ đề cập đến các công cụ là FI (viết tắt của "Forms Interpreter"), việc
triển khai mới bao gồm một số chức năng cơ bản của PHP như chúng ta biết ngày nay. Nó có
các biến giống Perl, giải thích tự động các biến biểu mẫu và cú pháp nhúng HTML. Bản thân
cú pháp tương tự như cú pháp của Perl, mặc dù hạn chế hơn nhiều, đơn giản và hơi mâu thuẫn.
Trên thực tế, để nhúng mã vào một tệp HTML, các nhà phát triển đã phải sử dụng các chú
thích HTML. Mặc dù phương pháp này khơng hồn tồn được đón nhận, FI vẫn tiếp tục phát
triển và được chấp nhận như một công cụ CGI --- nhưng vẫn chưa hồn tồn là một ngơn ngữ.
Tuy nhiên, điều này bắt đầu thay đổi vào tháng sau; vào tháng 10 năm 1995, Rasmus đã phát
hành một đoạn mã viết lại hoàn chỉnh. Mang tên PHP trở lại, bây giờ (ngắn gọn) nó được đặt
tên là "Bộ cơng cụ xây dựng trang chủ cá nhân", và là bản phát hành đầu tiên tự hào về những
gì, vào thời điểm đó, được coi là một giao diện kịch bản tiên tiến. Ngôn ngữ này được cố ý
thiết kế để giống với C về cấu trúc, khiến nó trở nên dễ dàng áp dụng cho các nhà phát triển
quen thuộc với C, Perl và các ngơn ngữ tương tự. Cho đến nay vẫn cịn hạn chế đối với các hệ
thống tương thích với UNIX và POSIX, tiềm năng triển khai Windows NT đang được khám
phá. Ngôn ngữ này được cố ý thiết kế để giống với C về cấu trúc, khiến nó trở nên dễ dàng áp
dụng cho các nhà phát triển quen thuộc với C, Perl và các ngôn ngữ tương tự. Cho đến nay
14
vẫn còn hạn chế đối với các hệ thống tương thích với UNIX và POSIX, tiềm năng triển khai
Windows NT đang được khám phá. Ngôn ngữ này được cố ý thiết kế để giống với C về cấu
trúc, khiến nó trở nên dễ dàng áp dụng cho các nhà phát triển quen thuộc với C, Perl và các
ngôn ngữ tương tự. Cho đến nay vẫn còn hạn chế đối với các hệ thống tương thích với UNIX
và POSIX, tiềm năng triển khai Windows NT đang được khám phá.Mã này có một sự thay
đổi hoàn toàn khác, và vào tháng 4 năm 1996, kết hợp tên của các bản phát hành trước đây,
Rasmus đã giới thiệu PHP / FI. Việc triển khai thế hệ thứ hai này bắt đầu thực sự phát triển
PHP từ một bộ công cụ thành một ngôn ngữ lập trình theo đúng nghĩa của nó. Nó bao gồm hỗ
trợ tích hợp cho cơ sở dữ liệu DBM, mSQL và Postgres95, cookie, hỗ trợ chức năng do người
dùng xác định và hơn thế nữa. Tháng 6 năm đó, PHP / FI đã có trạng thái phiên bản 2.0. Tuy
nhiên, một sự thật thú vị về điều này là chỉ có một phiên bản đầy đủ duy nhất của PHP 2.0.
Cuối cùng khi nó chuyển sang trạng thái beta vào tháng 11 năm 1997, cơng cụ phân tích cú
pháp bên dưới đã được viết lại hoàn toàn. Mặc dù nó tồn tại trong một thời gian phát triển
ngắn, nó vẫn tiếp tục ngày càng phổ biến trong thế giới phát triển web vẫn còn non trẻ. Vào
năm 1997 và 1998, PHP / FI có hàng nghìn người dùng trên khắp thế giới. Một cuộc khảo sát
của Netcraft tính đến tháng 5 năm 1998, chỉ ra rằng gần 60.000 tên miền được báo cáo có tiêu
đề chứa "PHP", cho thấy rằng máy chủ lưu trữ thực sự đã cài đặt nó. Con số này tương đương
với khoảng 1% tất cả các tên miền trên Internet vào thời điểm đó. Bất chấp những con số ấn
tượng này, sự trưởng thành của PHP / FI bị hạn chế bởi những hạn chế; trong khi có một số
người đóng góp nhỏ, nó vẫn chủ yếu được phát triển bởi một cá nhân.
Ví dụ về mã PHP/FI
<! - include /text/header.html ->
<! - getenv HTTP_USER_AGENT ->
<! - ifsubstr $ execute_result Mozilla ->
Này, bạn đang sử dụng Netscape!
<! - endif ->
<! - sql database select * from table where user = '$ username' ->
<! - ifless $ numentries 1 ->
Xin lỗi, bản ghi đó khơng tồn tại
<! - endif exit ->
Chào mừng bạn <! - $ user ->!
15
Bạn cịn <! - $ index: 0 -> tín dụng trong tài khoản của mình.
2.1.3. Tại sao nên sử dụng PHP
2.1.3.1. Thiết kế website bằng PHP là xu hướng hiện nay
Hiện nay thiết kế web bằng ngôn ngữ lập trình PHP đang là xu hướng chính, chủ đạo
trong giới thiết kế website doanh nghiệp hay website tin tức,…. Những công ty thiết kế website
lớn hoặc các dịch vụ freelancer Việt Nam thường chọn PHP để thiết kế web cho khách hàng,
vì khi thiết kế website xong khách hàng rất dễ sử dụng và quản trị trang web. Do webste hiển
thị đơn giản, bảng quản trị dễ nhìn, đọc qua một lần là biết cách quản trị trang web, quan trọng
hơn cả độ bảo mật của những website ngôn ngữ lập trình PHP khá cao, chính vì thế mà nó
được tin dùng bởi nhiều cơng ty lập trình, những cái tên có thể kể đến như Monamedia,
Webmini, Inkulal đều sử dụng ngôn ngữ này để làm website.
2.1.3.2. Ngôn ngữ lập trình PHP đơn giản dễ sử dụng
Ngơn ngữ lập trình PHP rất dễ sử dụng cho lập trình viên thiết kế web và cả khách hàng,
giao diện website được thiết kế khá thân thiện, có thể tương thích với tất cả các trình duyệt
web hiện nay, chẳng hạn như trình duyệt web chrome, trình duyệt web cốc cốc, trình duyệt
web firefox, trình duyệt web yandex,.. Đây là một tiêu chí quan trọng khi thiết kế website,
nhiều khách muốn tiết kiệm chút tiền nên thường chọn thiết kế website rẻ, nhưng họ khơng
biết rằng trang web sẽ có nhiều hạn chế hơn.
Chẳng hạn như trang web khơng tương thích với một số trình duyệt, có một vài thành
phần khơng thể hiện thị đến khách truy cập, như vậy sẽ mang đến trải nghiệm xấu với người
dùng. Nếu bạn làm website kinh doanh mà khách hàng không thể truy cập được, không xem
được thì việc thiết kế trang web chẳng mang đến hiệu quả, lợi ích gì.
2.1.3.3. Thiết kế web bằng PHP sẽ giúp tối ưu tốc độ load web và xử lý dữ liệu
Một lý do nữa để bạn chọn thiết kế web bằng PHP đó chính là ngơn ngữ lập trình này có
tốc độ rất nhanh. Một website bán hàng tầm trung cần chịu tải khoảng vài ngàn, đến vài chục
ngàn khách truy cập mỗi ngày, với PHP thì mỗi thứ đơn giản hơn, vì nó cịn có thể cho phép
hàng triệu khách khách truy cập trang web mỗi ngày. Ngồi ra việc thiết kế bằng PHP cịn
giúp kết nối đến các cơ sở dữ liệu một cách nhanh chóng hiệu quả, điển hình là sự kết hợp
cùng hệ quản trị dữ liệu mySQL cho tốc độ truy xuất cao, nhanh chóng, tất nhiên để làm được
điều này thì cách xây dựng database cũng rất quan trọng, bạn có thể tham khảo thêm về cách
16
tạo một cơ sơ dữ liệu chuẩn bằng ngôn ngữ SQL tại sqladvice.com nếu quan tâm. Đây cũng
chính là một trong những lý do mà các công ty thiết kế web lựa chọn PHP làm ngôn ngữ thiết
kế chủ đạo trong số các ngôn ngữ khác.
2.1.3.4. Dễ dàng tùy biến khi thiết kế web bằng PHP
Nhiều khách hàng rất lo lắng khi thuê một công ty thiết kế website sẽ khơng giao source
code cho mình, hoặc source code khơng thể chỉnh sửa được. Thực tế thì thiết kế web PHP bạn
có thể tùy chỉnh dễ dàng, vì nó là mã nguồn mở nên việc chỉnh sửa trang web không gặp nhiều
rắc rối. Bạn có thể u cầu cơng ty thiết kế website hoặc một đơn vị mới tiếp tục chỉnh sửa,
mở rộng các tính năng, thêm các trang, form, banner, danh mục, trang dịch vụ,… Ví dụ bạn
là một website nhà hàng nên rất thường xuyên cần cập nhật menu thì đơn vị thiết kế website
sẽ có giải pháp hoặc tranning hướng dẫn bạn và nhân viên sử dụng.Bên cạnh đó, PHP cũng
cung cấp thư viện dữ liệu đa dạng, đây là những dữ liệu để xây dựng các ứng dụng quan trọng
trên website như gửi mail cho khách hàng, thu thập cookie của khách truy cập để phân tích,
phát triển trang web.
2.1.3.5. Cộng đồng thiết kế web bằng PHP rất đơng đảo
Lợi ích cuối cùng khi thiết kế web PHP đó chính là có cộng đồng hỗ trợ đơng đảo. Nếu
bạn đang cần website để kinh doanh hoặc làm trang web giới thiệu thì cứ mạnh dạn chọn ngơn
ngữ PHP để thiết kế website. Đơn giản là cộng đồng sử dụng PHP rất đơng đảo, nên nếu có
bất kỳ vấn đề nào phát sinh trong quá trình làm web, bạn có thể đăng đàn, đặt câu hỏi và nhờ
sự trợ giúp từ mọi người
2.2. Giới thiệu về MySQL
2.2.1. MySQL là gì?
Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản lý hệ
thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ
ràng, phân lớp ngăn nắp. Nó giúp bạn có thể truy cập dữ liệu một cách thuận lợi và nhanh
chóng nhất. Vì hỗ trợ đa số các ngơn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữ
liệu tự do nguồn mở phổ biến nhất trên thế giới. Hiện MySQL đang được các nhà phát triển
rất ưa chuộng trong quá trình phát triển ứng dụng.
MySQL là cơ sở dữ liệu tốc độ cao, ổn định 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. Đặc biệt, hệ quản trị cơ sở dữ liệu MySQL hoàn
17
tồn miễn phí nên người dùng có thể thoải mái tải về từ trang chủ. Nó có rất nhiều những
phiên bản cho các hệ điều hành khác nhau. MySQL được sử dụng cho việc bỗ trợ PHP, Perl
và nhiều ngôn ngữ khác. Là nơi lưu trữ những thông tin trên các trang web viết bằng
framework PHP hay Perl
Hình 2. 2. Giao diện MySQL
2.2.2. Đặt điểm của hệ quản trị cơ sở dữ liệu MySQL
-
Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị CSDL
dạng server based, hệ gần giống với SQL server of Microsoft.
-
MySQL là phần mềm quản lý dữ liệu thông qua CSDL. Và mỗi một CSDL đều có bảng
quan hệ chứa dữ liệu riêng biệt.
-
MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể quản
lý cùng lúc một hay nhiều CSDL khác nhau. Và mỗi người dùng đều có 1 username và
password để truy nhập và truy xuất đến CSDL. Khi truy vấn đến CSDL của MySQL, bạn phải
cung cấp tài khoản và mật khẩu có quyền sử dụng cơ sở dữ liệu đó.
-
MySQL tương thích tốt với mơi trường PHP, giúp hệ thống hoạt động mạnh mẽ. Bạn
có thể viết hoặc chỉnh sửa code MySQL trên các IDE dành cho PHP, một số cơng cụ hỗ trợ
mà bạn có thể tham khảo thêm tại
2.2.3. Những lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL
2.2.3.1. Hiệu năng sử dụng cao
Hầu hết, hệ quản trị cơ sở dữ liệu MySQL đang đượ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à họ đánh giá rất cao ở hiệu năng sử dụng của MySQL.
18
Với kiến trúc storage-engine, MySQL đặc trưng cho các ứng dụng chuyên biệt, đặc biệt là đối
với những trang web có dung lượng lớn, phục vụ hàng triệu khách hàng. Hoặc đối với những
hệ thống xử lý giao dịch tốc độ cao thì MySQL đều cùng có thể đáp ứng được những khả năng
xử lý khắt khe của mọi hệ thống. Đặc biệt, với những tiện ích tải tốc độ cao, cơ chế xử lý nâng
cao cùng bộ nhớ cache. MySQL đưa ra tất cả những tính năng cần có, đây là giải pháp hoàn
hảo nhất ngay cả đối với những hệ thống doanh nghiệp khó tính nhất hiện nay.
2.2.3.2. MySQL hỗ trợ giao dịch mạnh mẽ
Hệ quản trị cơ sở dữ liệu MySQL không những mang lại hiệu năng sử dụng cao. Mà nó
cịn đưa ra một trong số những engine giao dịch cơ sở dữ liệu tốt nhất trên thị trường hiện nay.
Tính năng này bao gồm: Khóa mức dịng khơng hạn chế; hỗ trợ giao dịch ACID hoàn thiện;
khả năng giao dịch được phân loại và hỗ trợ giao dịch đa dạng mà người đọc không cản trở
cho người viết và ngược lại. Với MySQL, dữ liệu sẽ được đảm bảo trong suốt q trình server
có hiệu lực. Các mức giao dịch độc lập sẽ được chuyên mơn hóa, nếu phát hiện có lỗi khóa
chết ngay tức thì.
2.2.3.3. Tốc độ nhanh
Đánh giá chung của các nhà phát triển, tất cả họ đều cho rằng hệ quản trị cơ sở dữ liệu
MySQL là cơ sở dữ liệu nhanh nhất. Đây là nơi để cho các website có thể trao đổi thường
xuyên các dữ liệu bởi nó có engine xử lý tốc độ cao. Khả năng chèn dữ liệu cực nhanh và hỗ
trợ mạnh mẽ các chức năng chuyên dụng cho trang web. Các tính năng này cũng được sử dụng
cho môi trường lưu trữ dữ liệu mà hệ quản trị này tăng cường đến hàng terabyte cho các server
đơn. Ngồi ra cịn có những tính năng khác như: chỉ số băm, bảng nhớ chính, bảng lưu trữ và
cây B được gói lại để giúp giảm các yêu cầu lưu trữ tối đa đến 80%. Với tốc độ nhanh, thật
không thể phủ nhận hệ quản trị cơ sở dữ liệu MySQL là sự lựa chọn tốt nhất cho cả ứng dụng
web cũng như các ứng dụng của doanh nghiệp ngày nay.
2.2.3.4. Dễ dàng sử dụng
MySQL ngoài được biết đến với tốc độ khá cao, ổn định thì nó thực sự là một hệ thống
cơ sở dữ liệu rất đơn giản, rất dễ sử dụng. Ít phức tạp khi cài đặt và quản trị hơn các hệ thống
lớn. Đặc biệt nó có thể hoạt động trên tất cả các hệ điều hành
2.2.3.5. Hỗ trợ ngôn ngữ truy vấn
19
Điều quan trọng nhất của mỗi một doanh nghiệp chính là việc bảo mật dữ liệu tuyệt đối.
Và hệ quản trị cơ sở dữ liệu MySQL tích hợp các tính năng bảo mật an toàn tuyệt đối. MySQL
được nối mạng một cách đầy đủ. Các cơ sở dữ liệu có thể được truy cập từ bất cứ nơi nào trên
internet. Bạn có thể chia sẻ dữ liệu của bạn với bất kì ai, bất cứ lúc nào và bất cứ nơi đâu bạn
muốn. Nhưng MySQL kiểm soát quyền truy cập nên người khơng nên nhìn thấy dữ liệu của
bạn sẽ khơng thể nào nhìn được. Với việc xác nhận truy cập cơ sở dữ liệu, MySQL trang bị
các kĩ thuật mạnh. Chỉ có những người sử dụng đã được xác nhận mới truy cập được vào cơ
sở dữ liệu. Ngoài ra, SSH và SSL cũng được hỗ trợ nhằm đảm bảo kết nối an tồn và bảo mật.
Tiện ích backup và recovery cung cấp bởi MySQL hệ quản trị cơ sở dữ liệu và các hãng phần
mềm thứ 3 cho phép backup logic và vật lý cũng như recovery toàn bộ ngay tại một thời điểm.
2.2.3.6. Tính linh động cao
MySQL có thể hoạt động trên tất cả các hệ điều hành, chạy được với mọi phần cứng từ
các máy PC ở nhà cho đến các máy server. Máy chủ hệ quản trị cơ sở dữ liệu MySQL đáp
ứng nhiều tính năng linh hoạt. Nó có sức chứa để xử lý các ứng dụng được nhúng sâu với
1MB dung lượng để chạy kho dữ liệu khổng lồ lên đến hàng terabytes thơng tin. Tính chất mã
nguồn mở của MySQL cho phép tùy biến theo ý muốn để thêm các yêu cầu phù hợp cho
database server.
2.2.3.7. Mã nguồn mở tự do và hỗ trợ 24/7
Băn khoăn của rất nhiều doanh nghiệp khi họ gặp khó khăn trong việc giao tồn bộ phần
mềm cho một mã nguồn mở. Bởi khó có thể tìm được hỗ trợ hay bảo mật an toàn phục vụ một
cách chuyên nghiệp. Nhưng vấn đề khó khăn này sẽ khơng cịn nữa nếu sử dụng hệ quản trị
cơ sở dữ liệu MySQL. Với MySQL, mọi sự cam kết đều rất rõ ràng, mọi sự cố đều được
MySQL bồi thường. Bạn có thể tìm thấy các tài ngun có sẵn mà hệ quản trị này hỗ trợ. Cộng
đồng MySQL rất có trách nhiệm. Họ thường trả lời các câu hỏi trên mailing list chỉ trong vài
phút. Nếu lỗi xảy ra, các nhà phát triển sẽ đưa ra cách khắc phục nhanh nhất cho bạn. Và cách
khắc phục đó sẽ ngay lập tức có sẵn trên internet.
2.2.3.8. Chi phí sở hữu thấp nhất
Hệ quản trị cơ sở dữ liệu MySQL cung cấp miễn phí cho hầu hết các việc sử dụng trong
một tổ chức. Chính vì vậy, sử dụng MySQL cho các dự án, các doanh nghiệp đầu nhận thấy
20
được sự tiết kiệm cho phí rất đáng kể. Người dùng của MySQL cũng không phải mất nhiều
thời gian để sửa chữa hoặc vấn đề thời gian chết.
Khơng gì hồn hảo hơn khi doanh nghiệp của bạn có được sự hỗ trợ đắc lực từ hệ quản
trị cơ sở dữ liệu MySQL. Cơ hội phát triển sẽ nằm ngay trong tầm tay bạn thật đơn giản, dễ
dàng, hiệu quả cao
2.2.3. Bootstrap
Hình 2. 3. Giao diện bootstrap.
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 hoà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.
Bootstrap cho phép quá 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…
21
2.2.4. Javascript
Hình 2. 4. Giao diện javascript.
JavaScript là ngơn ngữ phổ biến nhất. Tập lệnh (script) được bao gồm trong HTML
document hoặc được tham chiếu bởi HTML document, sẽ được trình duyệt biên dịch và thực
thi. Có thể tương tác với người dùng, kiểm sốt trình duyệt và tạo nội dung HTML động.
Cơ chế phía máy khách JavaScript (JavaScript client-side) cung cấp nhiều lợi thế hơn
các kịch bản lệnh phía máy chủ CGI (CGI server-side) truyền thống. Ví dụ: bạn có thể sử
dụng JavaScript để xem liệu người dùng đã nhập địa chỉ email hợp lệ vào form hay chưa. Mã
JavaScript được thực hiện khi người dùng gửi form, và chỉ được thực thi nếu tất cả các mục
nhập hợp lệ và được gửi đến Web Server. Điều này sẽ giúp giảm tải xử lý ở Web Server.
Với JavaScript, bạn có thể tương tác với khi dùng khi họ sử dụng website, chẳng hạn
như khi click chuột vào button, click vào liên kết, thay đổi kích thước website,… Dưới đây là
một số ví dụ về những gì JavaScript có thể làm
22
2.2.5. Xampp
Hình 2. 5. Giao diện xampp.
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.
2.2.6
Sublime Text 3
Hình 2. 6. Giao diện sublime text 3.
Sublime text 3 là phiên bản mới nhất của chương trình soạn thảo văn bản được sử dụng
nhiều nhất bởi web developers, coders, và programmers. Nó sẵn có cho Mac, Windows, Linux
23
và cho phép tải về và sử dụng miễn phí. Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về
hướng dẫn sử dụng Sublime Text 3 cho web developer, phím tắt hữu ích và hơn thế nữa.
2.2.7 Hyper Text Markup Languages (HTML)
HTML (Hyper Text Markup Languages) hay còn gọi là “Ngơn ngữ đánh dấu siêu văn
bản”. Nó được sử dụng để tạo nên các trang web thông qua các thẻ đánh dấu. Do vậy HTML
không phải là một ngơn ngữ lập trình mà nó chỉ là ngơn ngữ đánh dấu. Phần mở rộng của tập
tin HTML thường là html hoặc htm. Các trình duyệt sẽ đọc tập tin HTML và hiển thị chúng
dưới dạng trang web. Các thẻ HTML sẽ được ẩn đi, chỉ hiển thị nội dung văn bản và các đối
tượng khác như hình ảnh, media… Với các trình duyệt khác nhau đều hiển thị một tập tin
HTML với một kết quả nhất định. Các trang HTML được gửi đi qua mạng internet theo giao
thức HTTP.
HTML khơng những cho phép nhúng thêm các đối tượng hình ảnh, âm thanh, mà còn
cho phép nhúng các kịch bản vào trong đó (ví dụ các ngơn ngữ kịch bản như JavaScript) để
tạo hiệu ứng động cho trang web. Để trình bày trang web hiệu quả hơn thì HTML cho phép
sử dụng kết hợp với CSS. HTML chính thức là chuẩn của W3C từ tháng 1 năm 1997 với
phiên bản HTML 3.2. Trước đó thì HTML xuất bản theo tiêu chuẩn của RFC.
HTML được tương thích với mọi hệ điều hành cùng các trình duyệt của nó. Khả năng
dễ học, dễ viết là một ưu điểm của HTML. Không những vậy, việc soạn thảo HTLM khơng
có u cầu q phức tạp, thông thường chỉ cần sử dụng Notepad là đã đủ. HTML vẫn tiếp
tục được phát triển. Phiên bản hiện tại của HTML là HTML5 – một phiên bản nâng cấp của
XHTML. HTML5 cải tiến khá nhiều, đặc biệt hỗ trợ mạnh mẽ các phần tử multimedia mà
không cần các plugin. HTML5 nói chung mạnh mẽ hơn nhiều khơng chỉ về tốc độ và độ
thích ứng cao mà chính là khả năng hỗ trợ API (Application Programming Interface – giao
diện lập trình ứng dụng) và DOM (Document Object Model – mơ hình đối tượng tài liệu hay
cây cấu trúc dữ liệu).
2.2.8 Cascading Style Sheet (CSS)
CSS – Cascading Style Sheet dùng để trình bày các tài liệu viết bằng HTML hoặc
XHTML. Ngồi ra ngơn ngữ định kiểu theo tầng cũng có thể dùng cho XML, SVG, XUL…
Các đặc điểm kĩ thuật của CSS được duy trì bởi tổ chức W3C.
24