TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG ~~~~~ ~~~~~ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài WEBSITE BÁN HÀNG ONLINE BẰNG PHP Sinh viên thực hiện ĐỖ THỊ THANH HẰNG Lớp KT ĐTTT 03 K57 LÊ THA[.]
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Hà Nội, 01/2019
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Cán bộ phản biện:
Hà Nội, 01/2019
Trang 3ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn)
Giảng viên đánh giá: ĐINH THỊ NHUNG
Họ và tên Sinh viên: ĐỖ THỊ THANH HẰNG
Mã số sinh viên : 20121664
Tên đề tài : Website bán hàng online bằng PHP
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn
đề và các giả thuyết (bao gồm mục đích và tính phù
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và
phương pháp thực hiện dựa trên kết quả nghiên cứu lý
thuyết một cách có hệ thống
1 2 3 4 5
3
Trang 46 Kết quả được trình bày một cách logic và dễ hiểu, tất
cả kết quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu
có) giữa kết quả đạt được và mục tiêu ban đầu đề ra
đồng thời cung cấp lập luận để đề xuất hướng giải
quyết có thể thực hiện trong tương lai
1 2 3 4 5
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các
chương logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng,
có tiêu đề, được đánh số thứ tự và được giải thích hay
đề cập đến trong đồ án, có căn lề, dấu cách sau dấu
chấm, dấu phẩy v.v), có mở đầu chương và kết luận
chương, có liệt kê tài liệu tham khảo và có trích dẫn
đúng quy định
1 2 3 4 5
9
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong
khoa học, lập luận logic và có cơ sở, từ vựng sử dụng
phù hợp v.v.)
1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận
đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở
lên/các giải thưởng khoa học (quốc tế/trong nước) từ
giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5
10b Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh
viên nghiên cứu khoa học nhưng không đạt giải từ giải
3 trở lên/Đạt giải khuyến khích trong các kỳ thi quốc
2
Trang 5gia và quốc tế khác về chuyên ngành như TI contest.
Điểm tổng quy đổi về thang 10
3 Nhận xét thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và tinh thần
làm việc của sinh viên)
Ngày: / /2019 Người nhận xét
(Ký và ghi rõ họ tên)
5
Trang 6Giảng viên đánh giá: ĐINH THỊ NHUNG
Họ và tên Sinh viên: LÊ THANH TRUNG HIẾU
Mã số sinh viên : 20131404
Tên đề tài : Website bán hàng online bằng PHP
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn
đề và các giả thuyết (bao gồm mục đích và tính phù
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và
phương pháp thực hiện dựa trên kết quả nghiên cứu lý
thuyết một cách có hệ thống
1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất
cả kết quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
Trang 7có) giữa kết quả đạt được và mục tiêu ban đầu đề ra
đồng thời cung cấp lập luận để đề xuất hướng giải
quyết có thể thực hiện trong tương lai
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các
chương logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng,
có tiêu đề, được đánh số thứ tự và được giải thích hay
đề cập đến trong đồ án, có căn lề, dấu cách sau dấu
chấm, dấu phẩy v.v), có mở đầu chương và kết luận
chương, có liệt kê tài liệu tham khảo và có trích dẫn
đúng quy định
1 2 3 4 5
9
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong
khoa học, lập luận logic và có cơ sở, từ vựng sử dụng
phù hợp v.v.)
1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận
đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở
lên/các giải thưởng khoa học (quốc tế/trong nước) từ
giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh
viên nghiên cứu khoa học nhưng không đạt giải từ giải
3 trở lên/Đạt giải khuyến khích trong các kỳ thi quốc
gia và quốc tế khác về chuyên ngành như TI contest
2
7
Trang 8Điểm tổng quy đổi về thang 10
3 Nhận xét thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và tinh thần
làm việc của sinh viên)
Ngày: / /2019 Người nhận xét
(Ký và ghi rõ họ tên)
Trang 9Đánh giá quyển đồ án tốt nghiệp (Dùng cho cán bộ phản biện)
Giảng viên đánh giá: ………
Họ và tên Sinh viên: ĐỖ THỊ THANH HẰNG
Mã số sinh viên : 20121664
Tên đề tài : Website bán hàng online bằng PHP
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn
đề và các giả thuyết (bao gồm mục đích và tính phù
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và
phương pháp thực hiện dựa trên kết quả nghiên cứu lý
thuyết một cách có hệ thống
1 2 3 4 5
9
Trang 106 Kết quả được trình bày một cách logic và dễ hiểu, tất
cả kết quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu
có) giữa kết quả đạt được và mục tiêu ban đầu đề ra
đồng thời cung cấp lập luận để đề xuất hướng giải
quyết có thể thực hiện trong tương lai
1 2 3 4 5
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các
chương logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng,
có tiêu đề, được đánh số thứ tự và được giải thích hay
đề cập đến trong đồ án, có căn lề, dấu cách sau dấu
chấm, dấu phẩy v.v), có mở đầu chương và kết luận
chương, có liệt kê tài liệu tham khảo và có trích dẫn
đúng quy định
1 2 3 4 5
9
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong
khoa học, lập luận logic và có cơ sở, từ vựng sử dụng
phù hợp v.v.)
1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận
đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở
lên/các giải thưởng khoa học (quốc tế/trong nước) từ
giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5
10b Được báo cáo tại hội đồng cấp Viện trong hội nghị
sinh viên nghiên cứu khoa học nhưng không đạt giải từ
giải 3 trở lên/Đạt giải khuyến khích trong các kỳ thi
2
Trang 11Điểm tổng /50
Điểm tổng quy đổi về thang 10 3 Nhận xét thêm của Thầy/Cô
Ngày: / /2019 Người nhận xét
(Ký và ghi rõ họ tên)
11
Trang 12Giảng viên đánh giá: ……….
Họ và tên Sinh viên: LÊ THANH TRUNG HIẾU
Mã số sinh viên : 20131404
Tên đề tài : Website bán hàng online bằng PHP
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn
đề và các giả thuyết (bao gồm mục đích và tính phù
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và
phương pháp thực hiện dựa trên kết quả nghiên cứu lý
thuyết một cách có hệ thống
1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất
cả kết quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
Trang 13có) giữa kết quả đạt được và mục tiêu ban đầu đề ra
đồng thời cung cấp lập luận để đề xuất hướng giải
quyết có thể thực hiện trong tương lai
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các
chương logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng,
có tiêu đề, được đánh số thứ tự và được giải thích hay
đề cập đến trong đồ án, có căn lề, dấu cách sau dấu
chấm, dấu phẩy v.v), có mở đầu chương và kết luận
chương, có liệt kê tài liệu tham khảo và có trích dẫn
đúng quy định
1 2 3 4 5
9
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong
khoa học, lập luận logic và có cơ sở, từ vựng sử dụng
phù hợp v.v.)
1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận
đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở
lên/các giải thưởng khoa học (quốc tế/trong nước) từ
giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị
sinh viên nghiên cứu khoa học nhưng không đạt giải từ
giải 3 trở lên/Đạt giải khuyến khích trong các kỳ thi
quốc gia và quốc tế khác về chuyên ngành như TI
contest
2
13
Trang 14Điểm tổng /50
Điểm tổng quy đổi về thang 10 3 Nhận xét thêm của Thầy/Cô
Ngày: / /2019 Người nhận xét
(Ký và ghi rõ họ tên)
Trang 15MỤC LỤC
DANH MỤC HÌNH ẢNH 17
DANH MỤC BẢNG BIỂU 19
LỜI NÓI ĐẦU 20
TÓM TẮT ĐỒ ÁN 22
ABSTRACT 23
PHÂN CÔNG CÔNG VIỆC 24
PHẦN MỞ ĐẦU 25
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 26
1.1 HTML và CSS 26
1.2 Javascript 27
1.3 Tìm hiểu ngôn ngữ PHP 30
1.3.1 Khái niệm PHP 30
1.3.2 Tại sao nên dùng PHP 31
1.3.3 Giới thiệu về ngôn ngữ PHP 31
1.4 MySQL và PHP 38
1.5 Cơ sở dữ liệu MYSQL 39
1.6 Laravel 40
1.6.1 Laravel là gì ? 40
1.6.2 Mô hình MVC 41
1.7 Kết luận chương 43
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 44
2.1 Phân tích yêu cầu đề tài 44
2.1.1 Người dùng 44
2.1.2 Người quản lý 45
2.2 Phân tích thiết kế hệ thống 47
2.2.1 Khảo sát hiện trạng 47
15
Trang 162.2.2 Xác định các tác nhân và chức năng đối với website 48
2.2.3 Đặc tả các trường hợp sử dụng 49
2.2.4 Biểu đồ trường hợp sử dụng (USE CASE) 54
2.3 Thiết kế cơ sở dữ liệu 55
2.3.1 Bảng Users 55
2.3.2 Bảng loại sản phẩm 55
2.3.3 Bảng sản phẩm 55
2.3.4 Bảng dự án 56
2.3.5 Bảng tùy chỉnh 56
2.3.6 Bảng liên kết trung gian giữa sản phẩm và loại sản phẩm 56
2.4 Thiết kế giao diện website bán hàng 57
2.4.1 Giao diện khách hàng đối với màn hình desktop 57
2.4.2 Giao diện người dùng với màn hình điện thoại 60
2.4.3 Giao diện người dùng đối với dùng với màn hình ipad 66
2.4.4 Giao diện quản trị viên 70
2.5 Định hướng phát triển 74
2.6 Kết luận chương 74
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 76
Trang 17DANH MỤC HÌNH ẢNH
Hình 1 1 Cấu trúc của HMTL 26
Hình 1 2 Mô hình hoạt động MVC 41
Hình 2 1 Sơ đồ phân quyền Admin 54
Hình 2 2 Sơ đồ khách hàng 54
Hình 2 3 Giao diện trang chủ với màn hình desktop 57
Hình 2 4 Giao diện trang giới thiệu với màn hình desktop 57
Hình 2 5 Giao diện trang dự án với màn hình desktop 58
Hình 2 6 Giao diện trang chi tiết sản phẩm với màn hình desktop 58
Hình 2 7 Giao diện trang giỏ hàng với màn hình desktop 59
Hình 2 8 Giao diện trang liên hệ với màn hình desktop 59
Hình 2 9 Giao diện chân trang 60
Hình 2 10 Giao diện menu với màn hình điện thoại 60
Hình 2 11 Giao diện trang chủ với màn hình điện thoại 61
Hình 2 12 Giao diện trang giới thiệu với màn hình điện thoại 62
Hình 2 13 Giao diện trang dự án với màn hình điện thoại 63
Hình 2 14 Giao diện trang chi tiết sản phẩm với màn hình điện thoại 64
Hình 2 15 Giao diện trang liên hệ với màn hình điện thoại 65
Hình 2 16 Giao diện trang chủ với màn hình ipad 66
Hình 2 17 Giao diện trang giới thiệu với màn hình ipad 67
Hình 2 18 Giao diện trang dự án với màn hình ipad 68
Hình 2 19 Giao diện trang chi tiết sản phẩm với màn hình ipad 68
Hình 2 20 Giao diện trang liên hệ với màn hình ipad 69
Hình 2 21 Giao diện đăng nhập 70
Hình 2 22 Giao diện danh sách danh mục sản phẩm 70
Hình 2 23 Giao diện thêm danh mục sản phẩm 71
Hình 2 24 Giao diện danh sách sản phẩm 71
Hình 2 25 Giao diện thêm sản phẩm 72
17
Trang 18Hình 2 26 Giao diện danh sách dự án 72
Hình 2 27 Giao diện thêm dự án 73
Hình 2 28 Giao diện quản trị viên 73
Hình 2 29 Giao diện thêm quản trị viên 73
Trang 19DANH MỤC BẢNG BIỂU
Bảng 1 1 Bảng toán tử logic trong PHP 35
Bảng 2 1 Bảng Users 55
Bảng 2 2 Bảng phân loại sản phẩm 55
Bảng 2 3 Bảng sản phẩm 56
Bảng 2 4 Bảng dự án 56
Bảng 2 5 Bảng tùy chỉnh 56
Bảng 2 6 Bảng liên kết trung gian giữa sản phẩm và loại sản phẩm 56
19
Trang 20LỜI NÓI ĐẦU
Ngày nay công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiềurộng và chiều sâu Máy tính điện tử không còn là một phương tiện quý hiếm mà đangngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người khôngchỉ ở công sở mà ngay cả trong gia đình
Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và cáchoạt động doanh nghiệp đều tìm mọi biện pháp để xây dựng và hoàn thiện hệ thốngthông tin của mình nhằm tin học hóa các hoạt động tác vụ của đơn vị
Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện cácgiải pháp cũng như các sản phẩm nhằm cho phép tiến hành thương mại hóa trêninternet Thông qua các sản phẩm và công nghệ này, chúng ta dễ nhận ra tầm quantrọng và tính tất yếu của thương mại điện Với những thao tác đơn giản trên máy có nốimạng bạn sẽ có trong tầm tay những sản phẩm mà mình cần mà không phải mất nhiềuthời gian Bạn chỉ cần vào các trong thương mại điện tử, làm theo hướng dẫn và clickvào những gì bạn cần Các nhà dịch vụ sẽ mang đến tận nhà cho bạn
Ở Việt Nam cũng có rất nhiều doanh nghiệp đang tiến hành thương mại hóa trêninternet nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa phát triểnmạnh, các dịch vụ thanh toán điện tử qua ngân hàng chưa phổ biến nên chỉ dừng lại ởmức độ giới thiệu sản phẩm và tiếp cận đơn hàng thông qua web
Để tiếp cận và đóng góp đẩy mạnh sự biến của thương mại điện tử ở Việt Nam,chúng em đã tìm hiểu và cài đặt “Website thương mại điện tử bằng PHP”
Với sự hướng dẫn tận tình của Cô Đinh Thị Nhung, chúng em đã hoàn thành cuốnbáo cáo đồ án này Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệthống nhưng chắc chắn không tránh khỏi những thiếu sót Chúng em rất mong được sựthông cảm và góp ý của các quý thầy cô Chúng em xin chân thành cảm ơn
Qua đây chúng em xin phép bày tỏ lòng biết ơn đến sự dạy dỗ và chỉ vào của thầy
cô trong viện, đặc biệt là Cô Đinh Thị Nhung đã trực tiếp hướng dẫn, chỉ bảo và giúp
Trang 21đỡ chúng em trong thời gian thực hiện đồ án Chúng em xin chân thành cảm ơn sựhướng dẫn tận tình của cô.
21
Trang 22TÓM TẮT ĐỒ ÁN
Với mức độ phức tạp và quy mô ứng dụng, cộng thêm vấn đề thời gian cho nên đềtài “Xây dựng website thương mại điện tử bằng ngôn ngữ PHP” chỉ dừng lại ở mức tìmhiểu ngôn ngữ lập trình web PHP, MySQL và áp dụng xây dựng ứng dụng thực nghiệmtrang web bán hàng trên mạng cho cửa hàng thời trang
Website với mục đích cung cấp cho khách hàng các thông tin chính xác về các sảnphẩm thời trang có trên thị trường và cách thức đặt mua hàng qua mạng Các thông tinđược cập nhật thường xuyên và nhanh chóng Vì vậy, rút ngắn được khoảng cách giữngười mua và người bán, đưa thông tin về các sản phẩm mới nhanh chóng cho đếnkhách hàng
Do còn một số hạn chế, nên website mới chỉ dừng lại ở chức năng đặt hàng và hìnhthức thanh toán trực tiếp Trong tương lai, hệ thống sẽ phát triển theo hướng thươngmại điện tử (với hình thức thanh toán trực tiếp qua thẻ tín dụng, tài khoản ngân hàng,thẻ mua hàng trực tuyến,…) Do giới hạn trong việc trình bày bằng văn bản nên bài báocáo này chúng em xin trình bày một số khâu quan trọng từ khảo sát, phân tích, thiết kế,cài đặt hệ thống Rất mong được sự thông cảm của quý thầy cô và các bạn
Trang 23With the complexity and scale applications, plus be a matter of time for the project
“E-commerce website with PHP” stands at just learn a web programming languagePHP, MySQL and application of experimental building web applications store onlinefor Minh Canh fashion store
Website for the purpose of providing its clients with accurate information about thefashion products are available on the market and how to order goods online Theinformation is updated regularly an quickly Thus, shortening the distance betweenbuyers and sellers, provide information on new products quicky to customers
Because there are some limitations, should stop at the new site features orderingand payment directly In the future, the system will evolve in the direction of electroniccommerce (in the form of online payment through credit cards, bank accounts, onlineshopping cart,…) Due to limitations in the presentation should be written this paper, Ijust would like to present some important processes, from surveys, to analyze, design,install the system Look forward to your understanding an Teacher’s
23
Trang 24PHÂN CÔNG CÔNG VIỆC
mại điện tử
Lê Thanh Trung Hiếu
để thực hiện đề tài
Lê Thanh Trung Hiếu
tìm hiểu một số hiệu ứng của website
Lê Thanh Trung Hiếu
năng của website, hoàn thành báo cáo
Lê Thanh Trung Hiếu
Trang 25PHẦN MỞ ĐẦU
Với mức độ phức tạp và quy mô ứng dụng, cộng thêm vấn đề thời gian cho nên đồ
án chỉ dừng ở mức tìm hiểu ngôn ngữ lập trình web PHP & MYSQL và áp dụng xâydựng ứng dụng thực nghiệm trang Web bán hàng trên mạng cho cửa hàng Website vớimục đích cung cấp cho khách hàng các thông tin chính xác về các sản phẩm đang cótrên thị trường và cách thức đặt mua hàng qua mạng Các thông tin được cập nhậtthường xuyên và nhanh chóng Vì vậy, rút ngắn được khoảng cách giữa người mua vàngười bán, đưa thông tin về các sản phẩm mới nhanh chóng đến cho khách hàng
Đồ án thực hiện gồm 2 chương:
Chương 1 Cơ sở lý thuyết
Bước đầu tiên đề làm một website thì chúng ta phải hiểu được bản chất ngôn ngữmình dùng để lập trình Ở chương này đồ án tập trung giới thiệu về ngôn ngữ PHP và
hệ cơ sở dữ liệu MYSQL Cung cấp kiến thức cơ bản về lập trình bằng ngôn ngữ PHP Chương 2 Phân tích thiết kế hệ thống
Để có một hệ thống bán hàng tiến tiến, hợp lý nhất thì nhà thiết kế luôn phải lên kếhoạch, phân tích hệ thống từ nhiều phía để mang lại sự hợp lý và thống nhất cho hệthống Chương này sẽ phân tích yêu cầu đề bài, thiết kế hệ thống trên cơ sở lý thuyết từ
đó giúp ta có cái nhìn tổng quát hơn về hệ thống Giúp cho việc thiết kế thực tế dễ dànghơn
Từ những phân tích, thiết kế, hệ thống các cơ sở dữ liệu được lập ra để lưu trữ cácthông tin cần thiết cho việc thiết kế hệ thống Và cho ta thấy rõ được mối quan hệ của
cơ sỡ dữ liệu lập ra
25
Trang 26CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 HTML và CSS
HTML là chữ viết tắt của cụm từ HyperText Markup Language, có nghĩa
là “ngôn ngữ đánh dấu siêu văn bản” Cha đẻ của HTML là Tim Berners-Lee, cũng
là người khai sinh ra World Wide Web và là chủ tịch của World Wide WebConsortium (W3C – tổ chức thiết lập ra các chuẩn trên môi trường Internet) HTMLdùng để mô tả cấu trúc, các thuộc tính liên quan đến cách hiển thị của một đoạn vănbản nào đấy ra trình duyệt Các phần tử HTML là các khối xây dựng nên các trangweb Các phần tử HTML được biểu diễn bằng thẻ Trình duyệt không hiển thị các thẻHTML, nhưng sử dụng chúng để hiển thị nội dung của trang
Bố cục cơ bản của HTML trên một trang web thường được chia thành 2 phần chính
nằm trong cặp thẻ <html> </html>: là head và body
Hình 1 1 Cấu trúc của HMTL
Trong đó:
<!DOCTYPE html>: Dùng để xác định tài liệu này thuộc dạng html cho trình
duyệt biết
<html> </html>: Là phần tử gốc, nằm ngoài cùng mỗi trang web, có nhiệm vụ
bao toàn bộ nội dung của trang web
<head> </head>: Phần mở đầu Có nhiệm vụ khai báo tất cả thông tin của trang
web
<title> </title>: Thẻ tiêu đề: Dùng để khai báo tiêu đề cho mỗi trang web Tiêu
Trang 27 <body> </body>: Phần nội dung Chứa tất cả nội dung sẽ hiển thị ra trên trình
duyệt
<h1> </h1> và <p> </p> : Các thẻ định dạng văn bản.
CSS (Cascading Style Sheets) : định nghĩa về cách hiển thị của một tài liệu
HTML CSS đặc biệt hữu ích trong việc thiết kế Web Nó giúp cho người thiết kế dễdàng áp đặt các phong cách đã được thiết kế lên bất kì page nào của website một cáchnhanh chóng, đồng bộ
1.2 Javascript
JavaScript là một ngôn ngữ kịch bản (scripting language) được dùng để tạo cácscript ở máy client (client-side script) và máy server (server-side script) Các script ởmáy client được thực thi tại trình duyệt, các script ở máy server được thực hiện trênserver Chương này sẽ giới thiệu cho chúng ta về ngôn ngữ Javascript, và cách chènmột script vào trong tài liệu HTML
HTML lúc đầu được phát triển như là một định dạng của tài liệu có thể chuyển dữliệu trênInternet Tuy nhiên, không lâu sau đó, trọng tâm của HTML nặng tính hàn lâm
và khoa học dần chuyển hướng sang người dùng thường nhật vì ngày nay người dùngxem Internet như là một nguồn thông tin và giải trí Các trang Web ngày càng mangtính sáng tạo và đẹp mắt hơn nhằm thu hút nhiều người dùng hơn Nhưng thực chấtkiểu dáng và nội dung bên trong vẫn không thay đổi Và người dùng hầu như khôngthể điều khiển trên trang Web mỗi khi nó được hiển thị
Javascript được phát triển như là một giải pháp cho vấn đề nêu trên Javascript làmột ngôn ngữ kịch bản được Sun Microsystems và Netscape phát triển Nó được dùng
để tạo các trang Web động và tương tác trên Internet Đối với những người phát triểnHTML, Javascript rất hữu ích trong việc xây dựng các hệ thống HTML có thể tươngtác với người dùng
Hiệu ứng và quy tắc JavaScript
JavaScript là một ngôn ngữ lập trình được nhúng được trong các trang HTML.JavaScript nâng cao tính động và khả năng tương tác cho web-site bằng cách sử dụngcác hiệu ứng của nó như thực hiện các phép tính, kiểm tra form, viết các trò chơi, bổ
27
Trang 28sung các hiệu ứng đặc biệt, tuỳ biến các chọn lựa đồ hoạ, tạo ra các mật khẩu bảo mật
và hơn thế nữa
Chúng ta có thể sử dụng JavaScript để:
Tương tác với người dùng Chúng ta có thể viết mã để đáp lại các sự kiện Các sự
kiện này sẽ có thể phát sinh bởi người dùng: nhấp chuột hay được phát sinh từ hệthống, định lại kích thước của trang và v.v
Thay đổi nội dung động Mã JavaScript có thể dùng để thay đổi nội dung và vị trí
các phần tử một cách động trên một trang nhằm đáp lại sự tương tác với người dùng
Kiểm tra tính hợp lệ dữ liệu Chúng ta có thể viết mã nhằm kiểm tra tính hợp lệ
của dữ liệu do người dùng nhập vào trước khi nó được gửi lên Web server để xử lý.Giống như các ngôn ngữ khác, JavaScript cũng tuân thủ một số quy tắc ngữ phápcăn bản Việc nắm vững các quy tắc ngữ pháp này có thể giúp ta đọc được script và tựviết các script không bị lỗi
Một số trong các luật này bao gồm:
Dùng Caps. JavaScript phân biệt chữ hoa chữ thường.
Dùng Pairs. Trong JavaScript, luôn luôn có cặp ký hiệu mở và đóng Lỗi sẽ xuất
hiện khi bỏ sót hoặc đặt sai một trong hai ký hiệu này
Dùng Spaces (các ký tự trắng) Như HTML, JavaScript thường bỏ qua ký tự
trắng Trong JavaScript, ta có thể thêm vào các ký tự trắng hoặc các tab giúp cho ta dễdàng đọc hay sửa các file script
Dùng Chú thích (Comments) Các chú thích giúp ta ghi chú về chức năng của
đoạn script, thời gian và người tạo ra đoạn script
Mặc dù cả client-side JavaScript và server-side JavaScript đều dựa trên một ngônngữ nền tảng như nhau, nhưng mỗi loại còn có thêm những tính năng chuyên biệt phùhợp với môi trường mà nó chạy Nghĩa là, client-side JavaScript bao gồm các đốitượng được định nghĩa sẵn chỉ có thể sử dụng trên trình duyêt, Server-side JavaScriptbao gồm các đối tượng và các hàm được định nghĩa sẵn chỉ có thể sử dùng trong cácứng dụng phía server (server-side applications)
Trang 29Các công cụ JavaScript và IDE, và môi trường thực thi
Các công cụ sinh mã JavaScript và IDE giúp tạo ra mã JavaScript rất hữu hiệu .Các công cụ này còn giúp ta nhanh chóng phát triển website của mình
Một vài công cụ JavaScript và IDE được đề cập dưới đây:
Dialog Box Công cụ này tự động tạo mã để sinh ra các hộp thoại tuỳ biến trên các
trình duyệt khác nhau (alert, confirm, prompt, v.v.) mang lại kiểu dáng chuyên nghiệp
cho website
Pop-up Menu builder. Chỉ cần đưa vào các lựa chọn, công cụ này sẽ tự động tạo
ra các pop-up menu trên các trình duyệt khác nhau
Remotes. Tự động sinh mã để mở ra một cửa sổ popup.
Như chúng ta đã biết, JavaScript có thể được chạy trên máy khách (client) và máychủ (server) Bên phía máy khách, trình duyệt sẽ thực thi mã lệnh javascript trong trangweb khi mở nó Bên phía máy chủ, mã javascript sẽ được thực thi tại máy chủ và domáy chủ thực hiện
Client-side Java Script
Khi máy client yêu cầu một trang HTML, server sẽ kiểm tra xem trang đó có chứascript hay không Nếu nó chứa các client-side script, server sẽ chuyển toàn bộ tài liệubao gồm mã lệnh JavaScript và nội dung HTML của nó cho trình duyệt Khi trìnhduyệt nhận được tài liệu đó, nó thực thi các mã lệnh HTML và JavaScript mà khôngcần bất kì sự tương tác nào với server
JavaScript trên Web Server
Chúng ta có thể nhúng các lệnh JavaScript chạy trên server (server-side script) vàotrong tài liệu HTML Quá trình tạo ra các ứng dụng server-side là một quá trình gồmhai giai đọan
Các trang HTML có chứa các câu lệnh JavaScript của cả client-side và server-sideđều được tạo ra cùng với các file JavaScript Tất cả các file này sẽ được biên dịchthành dạng mã thực thi được là bytecode
29
Trang 30Khi trình duyệt yêu cầu trang HTML, run-time engine sẽ thực thi mã lệnh side JavaScript rồi trả trang HTML về cho trình duyệt.
server-Một số công dụng của script server-side bao gồm:
Kết nối vào các cơ sở dữ liệu
Chia sẻ thông tin cho những người dùng của một ứng dụng
Truy cập vào hệ thống file trên server
Nhúng JavaScript vào trong trang Web
Chúng ta có thẻ chèn các lệnh JavaScritp vào trong một tài liệu HTML theo nhữngcách sau đây:
Nhúng các câu lệnh trực tiếp vào trong tài liệu bằng cách sử dụng thẻ <SCRIPT>Liên kết file nguồn JavaScript với tài liệu HTML Đặt các biểu thức JavaScript làm giátrị cho thuộc tính của thẻ HTML Dùng như trình xử lý sự kiện trong các thẻ HTML
1.3 Tìm hiểu ngôn ngữ PHP
Để có kiến thức nền tảng cho việc lập trình một website thực tế, chương này sẽ giúpchúng ta giải quyết được việc này
1.3.1 Khái niệm PHP
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm 1994
Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môitrường chuyên nghiệp và nó trở thành “PHP:Hypertext Preprocessor” Thực chất PHP
là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một trangHTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML PHP là một ngônngữ lập trình được kết nối chặt chẽ với máy chủ, là một công nghệ phía máy chủ(Server-Side) và không phụ thuộc vào môi trường (cross- platform) Đây là hai yếu tốrất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nói đến mọi thứ trongPHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất không phụ thuộc môi trườngcho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unix và nhiềubiến thể của nó Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình
Trang 31trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cả các quá trình
xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML Khác vớingôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì đó sau khi một sự kiệnxảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tới một URL)
1.3.2 Tại sao nên dùng PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc
dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau.Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, PHP, Java, Perl và một sốloại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những lí do sau
mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này PHP được
sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác PHP
có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có sẵn, tínhlinh động, bền vững và khả năng phát triển không giới hạn
Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và chính
vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến
nó, nâng cao để khắc phục các lỗi trong các chương trình này PHP vừa dễ với ngườimới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lập trình viên chuyên nghiệp, mọi
ý tuởng của các bạn PHP có thể đáp ứng một cách xuất sắc Cách đây không lâu ASPvốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy mà bây giờ PHP đã bắt kịpASP, bằng chứng là nó đã có mặt trên 12 triệu Website
1.3.3 Giới thiệu về ngôn ngữ PHP
Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ
để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt Sơ đồhoạt động: Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP
và xử lí chúng theo các hướng dẫn được mã hóa Mã lệnh PHP yêu cầu máy chủ gửimột dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web Trình duyệt xem nó như
là một trang HTML têu chuẩn Như ta đã nói, PHP cũng chính là một trang HTML
31
Trang 32nhưng có nhúng mã PHP và có phần mở rộng là HTML Phần mở của PHP được đặttrong thẻ mở <?php và thẻ đóng ?> Khi trình duyệt truy cập vào một trang PHP,Server sẽ đọc nội dung file PHP lên và lọc ra các đoạn mã PHP và thực thi các đoạn mã
đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của chúng trongfile PHP, cuối cùng Server trả về kết quả cuối cùng là một trang nội dung HTML vềcho trình duyệt
1.3.3.1 Các loại thẻ PHP
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
Kiểu Short: Thẻ mặc định mà các nhà lập trình PHP thường sử dụng
Ví dụ: <?php echo “Well come to PHP ”; ?>
Kiều đinh dạng XML: Thẻ này có thể sử dụng với văn bản định dạng XML
Ví dụ: <? Php echo “Well come to PHP with XML”; ?>
Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự khaibáo JavaScipt hay VBScript:
Ví dụ: <script language= “php”> echo “Php Script”; </script>
Kiểu ASP: Trong trường hợp bạn khai báo thẻ PHP như một phần trong trangASP
Ví dụ: <% echo “PHP – ASP”; %>
PHP và HTML là các ngôn ngữ không “nhạy cảm“ với khoảng trắng, khoảng trắng
có thể được đặt xung quanh để các mã lệnh để rõ ràng hơn Chỉ có khoảng trắng đơn cóảnh hưởng đến sự thể hiện của trang Web (nhiều khoảng trắng liên tiếp sẽ chỉ thể hiệndưới dạng một khoảng trắng đơn)
Trang 33 Xâu: Có hai cách để xác định 1 xâu: Đặt giữa 2 dấu ngoặc kép (“ ”) hoặc giữa 2dấu ngoặc (‘ ’).
Mảng: Mảng thực chất gồm 2 bảng: Bảng chỉ số và bảng liên kết + Mảng mộtchiều: Có thể dùng hàm List() hoặc Array() Có thể dùng các hàm aort(), ksort(), sort(),uaort(), để sắp xếp mảng, tùy thuộc vào việc bạn định sắp xếp theo kiểu gì + Mảng
Phạm vi giá trị: PHP coi một biến có một giới hạn Để xác định một biến toàncục (global) có tác dụng trong một hàm ta cần khai báo lại Nếu không có giá trị củabiến sẽ được coi như là cục bộ trong hàm Khi có khai báo global, $a và $b được biết
đó là những biến toàn cục Nếu không có khai báo global, $a và $b chỉ được coi là cácbiến bên trong hàm Sum()
Tên biến Một biến có thể gắn với một cái tên
Ví dụ: $a= “chao”; $$a= “cacban”; $Chao= “cacban” Và echo”$a${chao}”; Kết quả sẽ là “chaocacban”
1.3.3.4 Các giá trị bên ngoài phạm vi PHP: HTML Form:
Khi 1 giá trị gắn với 1 file php qua phương thức POST
Ví dụ: <form action = “top php” method= “post”>
Name: < input type = “text” name = “name” >
33
Trang 34có chỉ dẫn: <?php track_vars ?> Các giá trị được submit sẽ lấy ra qua phương thứcGET và POST có thể lấy ra từ 2 mảng toàn cục $HTTP_POST_VARS và
- _PHP_VERSION_: version của PHP đang chạy
- TRUE FALSE E_ERROR: Báo hiệu có lỗi E_PARSE: Báo lỗi sai khi biên dịch
- E_NOTICE: Một vài sự kiện có thể là lỗi hoặc không
Có thể định nghĩa một hằng số bằng hàm define()
1.3.3.6 Biểu thức Biểu thức là một thành phần quan trọng trong PHP
Một dạng cơ bản nhất của biểu thức bao gồm các biến và hằng số PHP hỗ trợ 3kiểu giá trị cơ bản nhất: Số nguyên, số thực và xâu Ngoài ra còn có mảng và đốitượng Mỗi kiểu giá trị này có thể gán cho các biến hay làm giá trị ra của các hàm 1.3.3.7 Các cấu trúc lệnh
Các lệnh điều kiện và toán tử: Mỗi câu lệnh điều kiện bao gồm một mệnh đề if:
If (điều kiện)
{ //thực hiện một điều gì đó }
Điều kiện này có thể được mở rộng thành:
If (điều kiện)
Trang 35{ //thực hiện một điều khác nữa }
Các toán tử thường được sử dụng với câu lệnh điều kiện
Switch($variable){
Case ‘giá trị 1’: //thực hiện lệnh Break;
Case ‘giá trị 2’: //thực hiện lệnh Break;
Default: //thực hiện lệnh }
35
Trang 36Vòng lặp While cho phép thực thi khối lệnh trong While cho đến điều kiện củaWhile là True như cú pháp:
- Condition:Biểu thức điều kiện, biến,
- Expression:Khối lệnh trong vòng lặp while
- Condition: điều kiện giới hạn của vòng lặp for
- Expression1: Giá trị khởi đầu của vòng lặp for
- Expression2: Giá trị lặp của vòng lặp for
- Expression3: Khối lệnh bên trong của vòng lặp for
Trang 37Trong đó: Biểu thức điều kiện, biến
- Expression: Khối lệnh bên trong vòng lặp while
- Exit:Thoát khỏi các vòng lặp hay phát biểu điều khiển nào đó
Tham biến: Function add_some_extra (&$string) {
$string =’and somthing extra’;
}
Tham số có giá trị mặc định Function makecoffee($type = “cappucino”) {
Return “Making a cup of $type n”;
} Chú ý: Khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽ phảinằm về phía phải nhất trong danh sách đối số
Giá trị trả lại của hàm: Có thể là bất kỳ giá trị nào Tuy vậy, không thể trả lạinhiều giá trị riêng lẻ nhưng có thể trả lại một mảng các giá trị
Hàm biến PHP cho phép sử dụng hàm giá trị nghĩa là khi một biến được gọi
có kèm theo dấu ngoặc đơn, PHP sẽ tìm hàm có cùng tên với giá trị biến đóthực hiện
1.3.3.9 Các toán tử:
37
Trang 38Các phép số học: +, -, *, /%
Các toán tử logic: And, or, xor: &&, ||, !
Toán tử thao tác với bít: &, |, ^, ~, <<, >>
Toán tử so sánh: ==, !=, <, >, <=, >=, ===
Toán tử điều khiển lỗi: @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức sẽ
bị bỏ qua và lưu trong $PHP_errormsg
Toán tử thực thi: “PHP sẽ thực hiện nội dung nằm giữa 2 dấu “ như 1 lệnh shell.Trả ra giá trị là kết quả thực hiện lệnh
Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung
Tham chiếu truyền giá trị bằng tham chiếu Thực hiện việc này bằng cách tạo mộthàm cục bộ và truyền giá trị được tham chiếu Giá trị trả lại của một hàm bằng thamchiếu rất tiện lợi khi bạn muốn sử dụng hàm để tìm 1 giá trị trong một phạm vi nào đó
1.4 MySQL và PHP
Để connect tới 1 CSDL trên MySQL Server rất đơn giản Chỉ cần sử dụng hàm: