Đang tải... (xem toàn văn)
- Tối ưu hóa SEO: Có các công cụ mặc định để giúp SEO trang web dễ dàng hơn và nhanh hơn- Hỗ trợ nhiều loại ngôn ngữ: WordPress hỗ trợ 52 ngôn ngữ trong đó có tiếng Việt.- Thiết kế trang
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG ÁKHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP
TÊN ĐỀ TÀI: Xây dựng Web quản lý sách bằng Wordpress
Sinh viên thực hiên:Nguyễn Thị Anh
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG ÁKHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN THỊ ANH
TÊN ĐỀ TÀI: Xây dựng web quản lý sách bằng Wordpress
Giảng viên hướng dẫn: ThS Lê Trung Thực
Trang 4LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường Đại học đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của thầy cô, gia đình và bạn bè.
Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Đại học Công Nghệ Đông Á đã tạo điều kiện thuận lợi cho em học tập và thực hiện đồ án tốt nghiệp này.
Em xin bày tỏ lòng biết ơn sâu sắc tới thầy ThS Lê Trung Thực đã tận tình hướng dẫn chỉ bảo em trong quá trình thực hiện đề tài đồ án Việc thực hiện đề tài với một công nghệ mới là điều không dễ dàng, nhưng nhờ có thầy hướng dẫn tận tình nên đã giúp em có những cái nhìn và hướng đi đúng đắn.
Em xin chân thành cảm ơn quý thầy cô trong khoa Công nghệ Thông tin đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong năm vừa qua.
Do giới hạn kiến thức và khả năng lý luận của bản thân còn nhiều thiếu sót và hạn chế, kính mong sự chỉ dẫn và đóng góp của các thầy cô để đồ án của em được hoàn thiện hơn.
Trang 5LỜI MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin và những ứng dụng của nó trong đời sống Máy tính không còn là một thứ phương tiện lạ lẫm đối với mọi người mà nó dần trở thành một công cụ làm việc và giải trí thông dụng và hữu ích của chúng ta, không chỉ ở công sở mà còn ngay cả trong gia đình.
Trong nền kinh tế hiện nay, với xu thế toàn cầu hoá nền kinh tế thế giới, mọi mặt của đời sống xã hội ngày càng được nâng cao, đặc biệt là nhu cầu trao đổi hàng hoá của con người ngày càng tăng, cả về số lượng và chất lượng 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ác giả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 sản phẩm trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của thương mại điện tử Với những thao tác đơn giản trên máy có nối mạng Internet bạn sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian Bạn chỉ cần vào các trang dịch vụ thương mại điện tử, làm theo hướng dẫn và chọn những sản phẩm bạn cần Các nhà dịch vụ sẽ mang đến tận nhà cho bạn.
Để tiếp cận và góp phần đẩy mạnh sự phổ biến của thương mại điện tử ở Việt Nam Em đã tìm hiểu, xây dựng “Website quản lý và bán sách” Website được xây dựng trên Wordpress giúp khách hàng có trải nghiệm sử dụng website tốt hơn.
Trang 63.2 Phương pháp nghiên cứu 15
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 16
1.1 Giới thiệu về Wordpress 16
1.1.1 Ưu và nhược điểm của WordPress 16
1.1.2 Cách phân biệt WordPress.com và WordPress.org 17
1.2 Giới thiệu về PHP 18
1.2.1 Ngôn ngữ lập trình PHP là gì? 18
1.2.2 Ưu điểm và nhược điểm của ngôn ngữ lập trình PHP 20
1.3 Giới thiệu về MySQL: 21
1.4 Giới thiệu về XAMPP 26
1.4.1 XAMPP là gì? 26
1.4.2 Đặc điểm của XAMPP 27
1.4.3 XAMPP được dùng làm gì 28
1.4.4 Cách cài đặt và sử dụng XAMPP trên máy tính windows 29
CHƯƠNG 2 : KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH 34
Trang 72.1.5 Nhà Sách Phương Nam (nhasachphuongnam.com) 39
Kết luận 39
CHƯƠNG 3 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 40
Biểu đồ phân rã chức năng 41
3.1 Lược đồ use case và mô tả usecase 41
3.1.1 Lược đồ Use case 41
3.1.2 Mô tả use case 44
3.1.2.1 Chức năng quản lí sách 44
3.1.2.2 Chức năng quản lí khách hàng 46
3.1.2.3 Chức năng quản lí đơn hàng 50
3.1.2.4 Chức năng quản lí nhân viên 53
3.1.2.5 Chức năng đăng ký thành viên 55
3.1.2.6 Chức năng mua hàng 56
3.1.2.7 Chức năng tra cập nhật thông tin khách hàng 57
3.1.2.8 Chức năng thanh toán online 59
3.1.2.9 Chức năng quản lý đơn hàng của khách hàng 60
3.1.2.10 Chức năng đánh giá, bình luận sách 61
3.2 Phân tích hệ thống 62
3.2.1 Chức năng phía Frontend 62
Chi tiết các chức năng phía FrontEnd: 63
3.2.2 Chức năng phía Backend 66
Chi tiết các chức năng phía BackEnd: 66
Trang 83.5.2 Giao diện người dùng 91
CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ 100
Trang 9Hình 2.2.4 Chức năng quản lí đơn hàng 50
Hình 2.2.5 Chức năng quản lí nhân viên 53
Hình 2.2.6 Chức năng đăng ký thành viên 55
Hình 2.2.7 Chức năng mua hàng 56
Hình 2.2.8 Chức năng tra cập nhật thông tin khách hàng 57
Hình 2.2.9 Chức năng thanh toán online 59
Hình 2.2.10 Chức năng quản lý đơn hàng của khách hàng 60
Hình 2.2.11 Chức năng đánh giá, bình luận sách 61
Hình 3.2.1 Lược đồ lớp 70
Hình 3.2.2 Lược đồ tuần tự chức năng thêm sách của admin 71
Hình 3.2.3 Lược đồ tuần tự chức năng sửa sách của admin 71
Hình 3.2.4 Lược đồ tuần tự chức năng xóa sách của admin 72
Hình 3.2.5 Lược đồ tuần tự chức năng thay đổi tình trạng đơn hàng của admin 72
Trang 10Hình 3.2.8 Lược đồ tuần tự chức năng thay đổi tình trạng đơn hàng của nhân
Hình 3.2.9 Lược đồ tuần tự chức năng tìm kiếm sách của khách hàng 74
Hình 3.2.10 Lược đồ tuần tự chức năng đăng ký nhận thông báo qua email của khách hàng 75
Hình 3.2.11 Lược đồ tuần tự chức năng quên mật khẩu của khách hàng 75
Hình 3.2.12 Lược đồ tuần tự chức năng mua hàng của khách hàng 76
Hình 3.2.13 Lược đồ tuần tự chức năng thanh toán của khách hàng 76
Hình 3.2.14 Lược đồ tuần tự chức năng thay đổi thông tin cá nhân của khách hàng 77
Hình 3.2.15 Lược đồ tuần tự chức năng đánh giá sản phẩm của khách hàng 77
Hình 3.3.1 Sơ đồ ERD 78
Hình 3.4.1 Giao diện đăng nhập 84
Hình 3.4.2 Giao diện quản lí 85
Hình 3.4.3 Giao diện quản lí sách 86
Hình 3.4.4 Giao diện thêm sách mới 87
Hình 3.4.5 Giao diện chỉnh sửa thông tin sách 88
Hình 3.4.9 Giao diện quản lý thể loại 88
Hình 3.4.10 Giao diện thêm thể loại 89
Hình 3.4.11 Giao diện chỉnh sửa thể loại 89
Hình 3.4.15 Giao diện quản lý đánh giá 89
Hình 3.4.16 Giao diện quản lý đơn hàng 90
Hình 3.4.17 Giao diện chi tiết đơn hàng 90
Hình 3.4.18 Giao diện quản lý khách hàng 90
Hình 3.4.19 Giao diện quản lý nhân viên 91
Hình 3.4.20 Giao diện thêm nhân viên 91
Hình 3.4.21 Giao diện chỉnh sửa nhân viên 91
Hình 3.4.22 Giao diện quản lý admin 92 8
Trang 11Hình 3.4.23 Giao diện chỉnh sửa quản trị viên 92
Hình 3.4.24 Giao diện trang chủ 92
Hình 3.4.29 Giao diện giỏ hàng 92
Hình 3.4.30 Giao diện chi tiết sách 92
Hình 3.4.34 Giao diện xác nhận thông tin thanh toán 94
Hình 3.4.35 Giao diện thanh toán 95
Hình 3.4.37 Giao diện quản lý đơn hàng 96
Hình 3.4.38 Giao diện chi tiết đơn hàng 97
Hình 3.4.39 Giao diện đăng nhập 97
Hình 3.4.40 Giao diện đăng ký tài khoản 98
Trang 12DANH MỤC BẢNG
Bảng 2.2.1 Mô tả chức năng thêm sách 22
Bảng 2.2.2 Mô tả chức năng sửa sách 23
Bảng 2.2.3 Mô tả chức năng xóa sách 24
Bảng 2.2.4 Mô tả chức năng khóa tài khoản khách hàng 25
Bảng 2.2.5 Mô tả chức năng xóa khách hàng 26
Bảng 2.2.6 Mô tả chức năng xem chi tiết khách hàng 27
Bảng 2.2.7 Mô tả chức năng xem chi tiết đơn hàng 28
Bảng 2.2.8 Mô tả chức năng xác nhận đơn hàng 29
Bảng 2.2.9 Mô tả chức năng thay đổi đơn hàng 30
Bảng 2.2.10 Mô tả chức năng thêm nhân viên 31
Bảng 2.2.11 Mô tả chức năng sửa nhân viên 32
Bảng 2.2.12 Mô tả chức năng xóa nhân viên 32
Bảng 2.2.13 Mô tả chức năng đăng ký thành viên 33
Bảng 2.2.14 Mô tả chức năng mua hàng 34
Bảng 2.2.15 Mô tả chức năng cập nhật thông tin khách hàng 35
Bảng 2.2.16 Mô tả chức năng thanh toán online 36
Bảng 2.2.17 Mô tả chức năng quản lý đơn hàng của khách hàng 37
Bảng 2.2.18 Mô tả chức năng đánh giá, bình luận sách 38
Bảng 3.1.1 Chức năng phía FrontEnd 40
Bảng 3.1.2 Chức năng phía BackEnd 44
Trang 13Bảng 3.3.8 Bảng dữ liệu Publisher 66
Bảng 3.3.9 Bảng dữ liệu Statistical 66
Bảng 3.4.1 Mô tả giao diện đăng nhập 68
Bảng 3.4.2 Mô tả giao diện quản lý 68
Bảng 3.4.3 Mô tả giao diện quản lý sách 69
Bảng 3.4.4 Mô tả giao diện thêm sách mới 70
Bảng 3.4.5 Mô tả giao diện chỉnh sửa thông tin sách 71
Bảng 3.4.6 Mô tả giao diện quản lý tác giả 72
Bảng 3.4.7 Mô tả giao diện thêm tác giả 73
Bảng 3.4.8 Mô tả giao diện chỉnh sửa tác giả 74
Bảng 3.4.9 Mô tả giao diện quản lý thể loại 75
Bảng 3.4.10 Mô tả giao diện thêm thể loại 76
Bảng 3.4.11 Mô tả giao diện chỉnh sửa thể loại 77
Bảng 3.4.12 Mô tả giao diện quản lý nhà xuất bản 77
Bảng 3.4.13 Mô tả giao diện thêm nhà xuất bản 78
Bảng 3.4.14 Mô tả giao diện chỉnh sửa nhà xuất bản 79
Bảng 3.4.15 Mô tả giao diện quản lý đánh giá 79
Bảng 3.4.16 Mô tả giao diện quản lý đơn hàng 80
Bảng 3.4.17 Mô tả giao diện quản lý khách hàng 82
Bảng 3.4.18 Mô tả giao diện quản lý nhân viên 82
Bảng 3.4.19 Mô tả giao diện thêm nhân viên 83
Bảng 3.4.20 Mô tả giao diện chỉnh sửa nhân viên 84
Bảng 3.4.21 Mô tả giao diện quản lý admin 85
Bảng 3.4.22 Mô tả giao diện chỉnh sửa quản trị viên 86
Bảng 3.4.23 Mô tả giao diện trang chủ 87
Trang 14Bảng 3.4.27 Mô tả giao diện xác nhận thông tin thanh toán 94
Bảng 3.4.28 Mô tả giao diện thanh toán 95
Bảng 3.4.29 Mô tả giao diện hồ sơ cá nhân 96
Bảng 3.4.30 Mô tả giao diện quản lý đơn hàng 96
Bảng 3.4.31 Mô tả giao diện đăng nhập 98
Bảng 3.4.32 Mô tả giao diện đăng ký tài khoản 99
Bảng 4.2.1 Test Case hệ thống 100
12
Trang 15PHẦN MỞ ĐẦU
1.Giới thiệu đề tài
Trên thế giới hiện nay, tin học là một ngành phát triển không ngừng Thời kỳ cách mạng công nghiệp 4.0 đòi hỏi thông tin nhanh chóng, chính xác Có thể nói tin học đã chiếm một vị trí quan trọng trong cuộc sống hàng ngày, trong các ngành khoa học kỹ thuật Chúng đang được phát triển và áp dụng rộng rãi đặc biệt là những lĩnh vực kinh doanh, buôn bán.
Việc đưa tin học vào công việc quản lý, nhằm giảm bớt sức lao động của con người, tiết kiệm thời gian, độ chính xác cao và tiện lợi rất nhiều so việc quản lý giấy tờ bằng thủ công như trước đây Tin học hóa nhằm thu hẹp không gian lưu trữ, tránh được thất lạc dữ liệu, tự động hóa và cụ thể hóa các thông tin theo yêu cầu của con người
Hiện nay, nhu cầu buôn bán, trao đổi hàng hóa ngày càng tăng và hình thức mua và bán cũng ngày càng được cải tiến Ở trên một thị trường mà người mua và người bán không cần trực tiếp gặp nhau nhưng vẫn có thể thực hiện các giao dịch thì đòi hỏi cần phải có một môi trường ảo hỗ trợ những công việc đó và những website thương mại điện tử chính là môi trường không thể thuận lợi hơn để thực hiện những giao dịch đó, khiến chúng trở nên đơn giản, nhanh chóng và thuận tiện Chính vì vậy mà em đã nghiên cứu, tìm hiểu về một thư viện thiết kế web phổ biến nhất hiện nay là ReactJS và đồng thời xây dựng một website bán sách Thương mại điện tử là một hệ thống lớn nên trong quá làm đề tài này chắc chắn em sẽ mắc phải những thiếu sót nên rất mong nhận được sự đóng góp ý kiến của thầy, cô để em có cơ hội sửa sai, phát triển trong thực tế và từng bước hoàn thiện mình
2.Lí do chọn đề tài
Trang 16qua đối thủ của họ khi thiết kế các ứng dụng web sử dụng Wordpress so với những website truyền thống.
Wordpress giúp các doanh nghiệp tạo ra ứng dụng với cấu trúc UI tốt hơn nhằm nâng cao và tối ưu hóa UX Với công nghệ này, họ có thể dễ dàng tăng tương tác của người dùng.
ReactJS là một trong những thư viện phổ biến dùng để xây dựng một Single
Web Application có tính tương tác trực tiếp cao, với phương châm “Learn One
Write Everywhere” (Học một lần viết mọi nơi) ta cũng thấy được sự thông dụng
và tích hợp của React.
Đây là nền tảng để em chọn ReactJS nhằm xây dựng trang thương mại điện tử dựa trên thư viện Javascript này
3.Mục đích của đề tài3.1.Mục đích
• Đề tài website bán sách bằng Wordpress được giới hạn ở việc khách hàng lựa chọn sản phẩm, thêm vào giỏ hàng Phía chủ cửa hàng thực thiện thêm, sửa, xóa sản phẩm, quản lý thành viên.
• Xác định cấu trúc, các thành phần chính trong React • Xây dựng một website bán sách
• Quản lý sản phẩm, thêm, sửa, xóa và cập nhật sản phẩm • Xem sửa, quản lý các hóa đơn mà khách hàng đã đặt
3.2.Phương pháp nghiên cứu
Em đã tìm hiểu về đề tài đã chọn thông qua các tài liệu tiếng việt cũng như tiếng anh trên mạng và có tham khảo những trang bán sách nổi tiếng Sau khi tìm hiểu, em cũng đã ứng dụng được kiến thức trên vào thực tế để tạo ra một website bán sách hoàn thiện mặc dù cũng còn nhiều hạn chế.
14
Trang 17CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu về Wordpress
WordPress là một hệ thống mã nguồn mở dùng để xuất bản blog/website được viết bằng ngôn ngữ lập trình PHP và cơ sở dữ liệu MySQL WordPress được biết đến như một CMS miễn phí nhưng khá tốt, dễ sử dụng và phổ biến nhất trên thế giới.
Với WordPress, bạn có thể tạo trang web thương mại điện tử, cổng thông tin, portfolio online, diễn đàn thảo luận và những web tuyệt vời khác.
Hình 1.1 Wordpress
1.1.1 Ưu và nhược điểm của WordPress
a) Ưu điểm
- Dễ sử dụng: Thao tác sử dụng WordPress rất đơn giản, dễ hiểu và dễ vận hành nên người sử dụng không cần biết kiến thức lập trình nâng cao.
Trang 18- Tối ưu hóa SEO: Có các công cụ mặc định để giúp SEO trang web dễ dàng hơn và nhanh hơn
- Hỗ trợ nhiều loại ngôn ngữ: WordPress hỗ trợ 52 ngôn ngữ trong đó có tiếng Việt.
- Thiết kế trang web đa dạng: Nhiều gói giao diện có sẵn, hệ thống Themes đồ sộ, có thể làm nhiều loại website.
- Tiết kiệm chi phí: Có rất nhiều themes miễn phí và có sẵn để sử dụng, bạn có thể thiết kế một website riêng mà không tốn bất kỳ chi phí nào.
- Cộng đồng sử dụng rộng lớn: Có thể học hỏi các mẹo vặt và thủ thuật dành cho WordPress từ những người khác trên Internet.
b) Nhược điểm
- Cài đặt template và plugin: Cài đặt không đơn giản, nếu cài đặt không đúng cách có thể dẫn đến nhiều xung đột xảy ra khi sử dụng.
- Phù hợp với doanh nghiệp nhỏ: Có hiệu suất thấp trong việc xử lý các cơ sở dữ liệu dung lượng lớn nên không phù hợp với các doanh nghiệp có dung lượng máy chủ lớn.
1.1.2 Cách phân biệt WordPress.com và WordPress.org
a) WordPress.org
- Bạn phải mua Hosting khoảng 3.49$/tháng (Khoảng 81.000/đồng) và tên miền 10$/năm (Khoảng 231.000 đồng).
- Bạn có thể upload theme miễn phí, trả phí, theme tự chỉnh sửa.
- Bạn có thể tự chỉnh sửa theme của website theo ý của mình.
- Bạn phải tự chịu trách nhiệm về cập nhật, tối ưu, chống spam, sao lưu hoặc bạn có thể thuê ai đó để làm việc này.
- Bạn có thể sử dụng mọi plugin, cho phép bạn thêm bất kỳ tính năng hay thứ đặc biệt nào khác cho website của bạn.
- Bạn có thể kiếm tiền từ website bằng cách đặt những thứ banner quảng cáo, 16
Trang 19affiliate link, và bất cứ thứ gì bạn muốn.
b) WordPress.com
- Về cơ bạn WordPress.com là miễn phí nhưng có giới hạn về dung lượng là 3GB với tên miền là subdomain của wordpress.com
- Bạn không thể upload và giới hạn theme có thể sử dụng trên WordPress.com Trả thêm 30$/năm (Khoảng 693.000 đồng) để có thể chỉnh sửa code.
- Bạn không cần bận tâm gì về quá trình bảo dưỡng vì WordPress.com sẽ chịu trách nhiệm về mọi thứ cập nhật, sao lưu,
- Bạn không thể upload hay sử dụng plugin và giới hạn một số tính năng cố định có sẵn trên WordPress.com.
- Bạn không được phép đặt banner trên website của mình, đến khi đạt 25.000 lượt xem/tháng Bạn cần nộp đơn xin phép
c) WordPress.com và WordPress.org, nên sử dụng cái nào?
Nếu bạn là một blogger cá nhân không quan tâm đến việc kiếm tiền từ trang web của họ, bạn hãy chọn WordPress.com Còn nếu bạn là một blogger đang cố gắng phát triển blog như một nghề nghiệp của bạn, thì bạn hãy sử dụng self host WordPress.org.
1.2Giới thiệu về PHP
1.2.1Ngôn ngữ lập trình PHP là gì?
Ngôn ngữ PHP là từ viết tắt của Personal Home Page nay đã chuyển thành Hypertext Preprocessor Thuật ngữ này là một dạng mã lệnh hoặc một chuỗi ngôn
Trang 20đó sinh ra mã HTML trên client Dựa vào đó, các ứng dụng trên website sẽ hoạt động một cách dễ dàng.
Hình 1.2.1 Ngôn ngữ PHP
Ngôn ngữ PHP thường được dùng trong việc xây dựng và phát triển website bởi nó có thể kết nối dễ dàng với các website khác có sử dụng HTML PHP cũng là ngôn ngữ lập trình có mã nguồn mở, tương thích với nhiều nền tảng khác nhau như MacOS, Linux, Windows,… PHP được nhiều người dùng đánh giá là dễ đọc nên đa số các lập trình viên sẽ lựa chọn học PHP trước khi bắt đầu vào nghề.
Một số ứng dụng phổ biến của PHP trong ngành IT:
Thiết lập chương trình cho hệ thống máy chủ: Đây là một ứng dụng chủ yếu nhất của PHP Các PHP Developer sẽ phải thực hiện các thao tác như phân tích ngôn ngữ lập trình PHP, xây dựng máy chủ web và trình duyệt web.
18
Trang 21Tạo các dòng tập lệnh: Các lập trình viên sẽ tạo ra một dòng tập lệnh để vận hành chương trình PHP mà không cần đến máy chủ Kiểu lập trình này được sử dụng trên các hệ điều hành phổ biến như Linux hay Windows.
Xây dựng các ứng dụng làm việc: Bạn có thể ứng dụng những điểm mạnh vốn có của PHP để xây dựng ứng dụng phần mềm Các lập trình viên thường dùng PHP – GTK làm nền tảng xây dựng phần mềm vì đây là nhánh mở rộng của ngôn ngữ lập trình này và không có sẵn trong các bản phân phối chính thức hiện nay.
Hỗ trợ cho mọi loại cơ sở dữ liệu khác nhau: Khi một website có hỗ trợ cơ sở dữ liệu tốt sẽ giúp ích cho việc vận hành, sao lưu và đặc biệt là backup dữ liệu đề phòng trường hợp xảy ra an ninh mạng.
1.2.2Ưu điểm và nhược điểm của ngôn ngữ lập trình PHP
a) Ưu điểm
PHP được sử dụng phổ biến bởi nhiều lợi ích mà nó mang lại Dưới đây là một số ưu điểm cơ bản của ngôn ngữ PHP:
Mã nguồn mở và miễn phí: PHP sử dụng miễn phí nên giúp tiết kiệm đáng kể ngân sách dự án Việc cài đặt và sử dụng ngôn ngữ này cũng rất dễ dàng, bạn chỉ cần học chăm chỉ trong 3 – 6 tháng là đã có thể sử dụng thuần thục.
Tính linh hoạt: PHP là một ngôn ngữ đa nền tảng, có thể hoạt động trên bất kỳ hệ điều hành nào (Windows, Linux, macOS,…) Hơn nữa, PHP còn có thể kết hợp với nhiều ngôn ngữ lập trình khác để xây dựng các tính năng công nghệ một cách hiệu quả nhất.
Hệ thống thư viện phong phú, tính cộng đồng cao: Do sự phổ biến của ngôn ngữ PHP nên việc tìm các thư viện code hay hàm liên quan đến PHP sẽ cực kỳ đơn giản Chưa kể, bạn sẽ nhận được sự trợ giúp từ các diễn đàn, đội nhóm chuyên sâu của PHP giúp việc học tập hay làm việc trở nên dễ dàng.
Trang 22Mặc dù sở hữu nhiều lợi ích nhưng ngôn ngữ PHP vẫn có một số hạn chế nhất định, trong đó vấn đề bảo mật được nhiều người quan tâm nhất Bởi bản chất của PHP có mã nguồn mở nên các lỗ hổng của mã nguồn sẽ bị công khai ngay sau khi chúng được tìm thấy Và các lỗ hổng này có thể bị khai thác cho các mục đích xấu trước khi chúng ta kịp sửa chữa.
Bên cạnh đó, ngôn ngữ lập trình PHP chỉ hoạt động được trên các website và giao diện không được gọn gàng, đẹp mắt Độ bảo mật và hiệu suất của ngôn ngữ này cũng chưa tốt.
1.3Giới thiệu về MySQL:
MySQL chính là hệ quản trị cơ sở dữ liệu mã nguồn mở Relational Database Management System – RDBMS hiện nay được sử dụng phổ biến trên phạm vi toàn cầu Hệ quản trị cơ sở dữ liệu này hoạt động dựa trên mô hình tiêu chuẩn là Client (Máy khách) – Server (Máy chủ)
Hinh 1.3 MySQL
Hiện nay, những website lớn, hoạt động với lượng người dùng đông đảo như mạng xã hội Facebook, Yahoo, hay Google, Twitter, … đều đang sử dụng hệ quản trị dữ liệu MySQL để hỗ trợ cho việc lưu trữ thông tin được thực hiện hiệu quả Từ
20
Trang 23đó có thể thấy tính hữu dụng, phổ biến của MySQL trong lĩnh vực thiết kế và phát triển website.
Với hệ thống quản trị cơ sở dữ liệu MySQL khi đưa vào sử dụng được đánh giá cao nhờ việc tích hợp với apache cũng như PHP Không chỉ vậy, việc có tính tương thích với nhiều trình duyệt, với nhiều hệ điều hành tiêu biểu như Ubuntu, Linux, macOS, Microsoft Windows, … càng giúp việc sử dụng MySQL được tin tưởng và ưa chuộng nhiều hơn Trong số rất nhiều phần mềm RDBMS thì MySQL được biết tới rộng rãi và phổ biến nhất hiện nay, được ứng dụng cho phát triển nhiều website.
a) Lịch sử hình thành và phát triển của mySQL
Trong những nỗ lực thực hiện MySQL ban đầu vào năm 1979, nhà phát minh của MySQL đã phát triển công cụ có tên UNIREG (cơ sở dữ liệu nội bộ) tạo tiền đề cho MySQL sau này Sau một thời gian UNIREG đã được mở rộng nhằm xử lý nhiều cơ sở dữ liệu lớn hơn và được viết lại bằng các ngôn ngữ khác nhau
sau đó Michael Widenius đã liên hệ với David Hughes (tác giả của mQuery), nhằm kết hợp mQuery với B + ISAM của UNIREG để tạo ra lập chỉ mục cho mQuery Đó là những khởi đầu cho MySQL ra đời.
b) Các thuật ngữ thường gặp cơ bản của MySQL
Database chính là nơi giúp lưu trữ được các dữ liệu Chúng ta có thể coi Database chính là những ngăn tủ mà nó không chỉ đơn thuần giúp chứa đồ mà còn giúp phân loại, cất giữ được các dữ liệu cùng loại với nhau dễ dàng, khoa học Với từng ngăn tủ trong Database sẽ có chứa một loại dữ liệu riêng, tuy nhiên xét về tổng thể nó lại có sự liên hệ với nhau theo một nguyên tắc nhất định.
Open source
Trang 24phép GPL mà ở đó có thể hiện rõ ràng những điều bạn được làm và không được làm theo quy định, trong những trường hợp cụ thể.
Mô hình này giống như một mạng nhện mà ở đó có máy chủ – server sẽ được đặt nằm ở vị trí trung tâm, có nhiệm vụ chủ yếu là lưu trữ các dữ liệu trên hệ thống Trong khi đó những máy khách – client khi cần tìm kiếm, hay làm việc với một dữ liệu cụ thể sẽ kết nối với máy chủ để được cung cấp thông tin theo nhu cầu.
MySQL Client
Khái niệm này được hiểu là máy khách trên hệ thống MySQL và nó không nhất thiết phải được cài đặt hệ quản trị dữ liệu này Chỉ cần có phần mềm mà ở đó cho phép kết nối, cũng như nhận phản hồi của MySQL server là đủ.
MySQL Server
MySQL Server chính là máy chủ cài và sử dụng cách lưu trữ các dữ liệu thông qua hệ thống MySQL Server được đánh giá cao nhờ khả năng bảo mật tốt, đồng thời cũng có tốc độ xử lý nhanh chóng.
Có khá nhiều người có những nhầm lẫn về SQL và MySQL và tưởng nó là một Tuy nhiên, thực tế hoàn toàn không phải vậy Nếu như MySQL đơn thuần chỉ là một trong những hệ thống quản trị dữ liệu thì SQL chính là ngôn ngữ được sử dụng để liên lạc giữa máy chủ và máy khách trên một hệ thống cụ thể Hành động của SQL thông thường sẽ được sử dụng để thực hiện những nhiệm vụ như:
- Data Query: tức là yêu cầu lấy một thông tin cụ thể nào đó từ kho dữ liệu lưu trữ sẵn.
- Data Manipulation: thực hiện việc thêm, sửa, hay xóa, … các dữ liệu theo yêu cầu.
- Data Indentiny: giúp định nghĩa một dữ liệu cụ thể thuộc loại nào, được phân chia vào ngăn tủ nào trong database.
22
Trang 25- Data Access Control: giúp cung cấp hoặc giới hạn quyền truy cập của một ai đó, từ đó việc bảo vệ an toàn, bảo mật cho dữ liệu sẽ được tiến hành hiệu quả.
c) Cách thức hoạt động của MySQL
Tìm hiểu để xác định cách thức hoạt động giúp chúng ta hiểu hơn về MySQL, đồng thời cũng có được sự chủ động cần thiết trong quá trình sử dụng Trong môi trường MySQL thì máy khách và máy chủ sẽ hoạt động với sự tương tác qua lại liên tục với nhau dựa trên nguyên lý chính là:
- MySQL sẽ tạo ra một bảng giúp việc lưu trữ dữ liệu, cũng như định nghĩa được mối quan hệ giữa các bảng được thực hiện đầy đủ, chi tiết và chính xác
- Máy khách sẽ gửi những yêu cầu SQL thông qua lệch đặc biệt lên MySQL.
- Những ứng dụng trên máy chủ lúc này sẽ nhận được và đưa ra phản hồi thông tin, từ đó trả kết quả trực tiếp về máy khách.
d) Ưu điểm nổi bật của MySQL
- Độ bảo mật cao
Sở hữu mức độ bảo mật cao giúp MySQL khó có thể bị các hacker tấn công, đảm bảo an toàn cho hoạt động của mỗi website Bởi thế, việc quản trị dữ liệu cho các web lớn hay nhỏ, với lượng dữ liệu nhiều hay ít đều được hỗ trợ với mức độ an toàn lý tưởng.
- Tốc độ nhanh chóng
Một ưu điểm không thể thiếu khi đánh giá về MySQL chính là tốc độ nhanh chóng, ấn tượng khi sử dụng Với tốc độ truy vấn, cũng như khả năng phản hồi dữ liệu ấn tượng thì việc sử dụng MySQL luôn được đánh giá cao, trở thành lựa chọn lý tưởng để nâng cao hiệu quả công việc.
- Dễ dàng sử dụng
Trang 26người mới, hay có kinh nghiệm đều có thể ứng dụng MySQL hiệu quả để hỗ trợ tốt cho yêu cầu, cho những đòi hỏi thực tế trong công việc.
- Dễ dàng mở rộng
Là một mã nguồn mở giúp hệ quản trị dữ liệu MySQL khi sử dụng đảm bảo dễ dàng phát triển, mở rộng để đáp ứng tốt cho nhu cầu sử dụng thực tế của con người Với yêu cầu đa dạng, ngày càng phức tạp trong phát triển và duy trì hoạt động của website thì MySQL với việc dễ dàng mở rộng mang lại sự chủ động trong công việc.
- Hoàn toàn miễn phí
Với hệ quản trị dữ liệu MySQL khi đưa vào sử dụng giúp người dùng có khả năng tiết kiệm chi phí hiệu quả Hoàn toàn miễn phí cũng làm nên ưu điểm, lợi ích cho người dùng khi lựa chọn MySQL để đáp ứng cho nhu cầu của chính mình Đây cũng là lý do mà nó được tin tưởng sử dụng, được nhiều lập trình viên ưa chuộng chọn lựa.
e) Nhược điểm của MySQL là gì?
MySQL sẽ bị hạn chế về dung lượng bởi khi mà số bản ghi ngày càng lớn dần, nó sẽ gây rất nhiều khó khăn trong quá trình truy xuất dữ liệu, Để khắc phục việc này cũng như giúp tăng tốc độ của việc chia sẻ dữ liệu bạn phải chia tải database ra các server, hoặc tạo cache MySQL
Về độ tin cậy của MySQL thì cũng không được đánh giá cao Tuy nhiên bạn cũng không phải quá lo lắng nếu hệ quản trị nội dung chỉ ở cỡ trung, bởi vì chỉ những hệ thống có độ lớn mới xảy ra những yêu cầu phức tạp.
MySQL sẽ có một số hạn chế đối với chức năng mà một số ứng dụng có thể cần đến.
f) Cài đặt MySQL trên Windows
Bước 1: Tải MySQl về máy
Sau khi bản MySQL Community (bản miễn phí) được tải xuống sẽ có 3 file cho bạn, như sau:
24
Trang 27- Microsoft NET Framework 4 Client Profile
- Visual C++ Redistributable for Visual Studio 2013
- MySQL
Bước 2: Cài đặt MySQL
Trước tiên bạn hãy cài đặt Microsoft NET Framework 4 Client Profile, Visual C++ Redistributable for Visual Studio 2013 trước, sau đó mới tiến hành cài đặt đến file MySQL.
Những bước cài đặt cụ thể:
Mở file cần cài đặt -> Accept -> Next;
Bạn cần tick full để cài đặt tất cả, bao gồm database -> Next;
Đến bước này bạn sẽ được tất cả những gói được cài đặt Hãy chọn Execute -> Next;
Ở phần cài đặt cấu hình cho MySQL Chọn Next; Lựa chọn:
+ Config Type: Development Machine
+ Connectivity: click vào TCP/IP -> Open Firewall Sau đó tiếp tục chọn Next;
Ở Accounts and Roles bạn hãy ghi mật khẩu vào -> chọn Next;
Mặc định ở phần Root là User, tiếp theo nhập mật khẩu đã tạo phía trên vào để kiểm tra nhằm kết nối được với MySQL server;
Cuối cùng click vào mục Finish thế là hoàn tất việc cài đặt.
1.4Giới thiệu về XAMPP1.4.1 XAMPP là gì?
XAMPP là một phần mềm cho phép giả lập môi trường server hosting ngay
Trang 28Xampp là chương trình tạo máy chủ Web được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào
Xampp là một chương trình mã nguồn mở máy chủ web đa nền được phát triển bởi Apache Friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpreters dành cho những đối tượng sử dụng ngôn ngữ PHP và Perl.
Hầu hết việc triển khai máy chủ web thực tế đều sử dụng cùng thành phần như XAMPP nên rất dễ dàng để chuyển từ máy chủ local sang máy chủ online.
Hình 1.4.1 XAMPP logo
XAMPP được viết tắt của X + Apache + MySQL + PHP + Perl vì nó được tích hợp sẵn Apache, MySQL, PHP, FTP server, Mail Server Còn X thể hiện cho sự đa nền tảng của XAMPP vì nó có thể dùng được cho 4 hệ điều hành khác nhau: Windows, MacOS, Linux và Solaris.
1.4.2 Đặc điểm của XAMPP
a) Ưu điểm
- Có thể chạy được linh hoạt được trên mọi hệ điều hành: Cross-platform, Windows, MacOS, Linux.
26
Trang 29- Có cấu hình đơn giản nhưng mang đến nhiều chức năng hữu ích như: Lập Server giả định, lập Mail Server giả định và hỗ trợ SSL trên localhost - Tích hợp được nhiều tính năng với các thành phần quan trọng như: Apache,
PHP, MySQL Vì thế, người dùng không cần cài đặt từng phần trên riêng lẻ mà chỉ cần cài XAMPP là có 1 web server hoàn chỉnh.
- Tạo mã nguồn mở: Giao diện quản lý dễ dàng và tiện lợi giúp người dùng luôn chủ động được trong chế độ khởi động lại hay bật/ tắt đối với máy chủ theo thời gian phù hợp nhất.
b) Nhược điểm
- Do cấu hình khá đơn giản cho nên Xampp hoàn toàn không nhận được sự hỗ trợ về cấu hình Module, đồng thời cũng không có cả MySQL.
- Dung lượng tương đối nặng (141Mb).
- Không có nhiều phiên bản cho từng thành phần của server như PHP, Apache mà phải cài đặt riêng.
1.4.3 XAMPP được dùng làm gì
XAMPP được dùng để xây dựng và phát triển website theo ngôn ngữ PHP.
Ngoài ra, XAMPP còn được sử dụng để phát triển, nghiên cứu website thông qua localhost của máy tính cá nhân, biến máy tính cá nhân thành máy chủ, dùng chính ổ cứng của máy tính để làm nơi lưu trữ cho máy chủ trang web.
Tuy nhiên, đối với các trang web kinh doanh, các trang web cần vận hành liên tục thì việc sử dụng XAMPP để tạo lập không khả thi Do localhost sử dụng máy tính để làm máy chủ, nên việc duy trì máy chủ sẽ rất khó khăn và không đảm bảo tốc độ lâu dài, thay vào đó các chủ trang web sẽ thuê server hosting Chung quy lại XAMPP dùng chủ yếu để học tập, nâng cấp và thử nghiệm web.
Trang 301.4.4 Cách cài đặt và sử dụng XAMPP trên máy tính windows
a) Một số lưu ý trước khi cài đặt XAMPP
- Gỡ hết phần mềm liên quan đến thiết lập localhost như: PHP, MySQL.
- Đổi port cho 1 số phần mềm đang chiếm dụng cổng 80 hoặc 443.
- Nếu máy chủ đã được cài đặt sẵn IIS thì không cần thiết phải cài thêm Xampp.
- Tắt cài đặt tường lửa trên Windows, cũng như tất cả các phần mềm Antivirus khác.
28
Trang 31- Tắt User Account Control trên Windows để tránh bị giới hạn quyền truy cập.
Hình 1.4.4 Tắt Firewall
Trang 32Bước 1: Download phần mềm
30
Trang 33Bước 2: Trong file vừa tải xuống, click chuột chọn tệp tin có đuôi exe.
Trang 34Bước 3: Cửa sổ Setup xuất hiện, nhấn Next.
32
Trang 35Bước 4: Chọn thư mục để cài đặt (hoặc để mặc định là C:\xampp) > Nhấn Next.
Bước 5: Bỏ chọn phần Learn more about Bitnami for XAMPP > Nhấn Next 2 lần nữa để bắt đầu quá trình cài đặt XAMPP
Trang 36Bước 6: Nhấn Finish để kết thúc cài đặt và mở bảng điều khiển của XAMPP
b) Hướng dẫn sử dụng XAMPP
- Khởi động localhost
Bước 1: Truy cập vào thư mục C:\xampp, mở file xampp-panel.exe để bảng điều khiển hiển thị.
Bước 2: Nhấn vào nút Start của 2 ứng dụng Apache và MySQL để bắt đầu khởi động web server Khi 2 ứng dụng chuyển sang màu xanh thì localhost đã được khởi động.
34
Trang 37- Thao tác trên localhost
Làm việc với thư mục và tập tin
- Người dùng mở thư mục C:\xampp\htdocs\ và tạo một thư mục và đặt tên cho thư mục đó (giả sử đặt tên thư mục vừa tạo là nguyenanhsocute).
- Sau đó, truy cập link http://localhost/nguyenanhsocute để chạy chương trình - Khi copy một tập tin bất kỳ vào C:\xampp\htdocs\nguyenanhsocute\, tệp tin vừa copy đó cũng sẽ xuất hiện trong http://localhost/nguyenanhsocute.
- Qua đó, có thể nói rằng, http://localhost/nguyenanhsocute chính là thư mục gốc của C:\xampp\htdocs\nguyenanhsocute\
Trang 38CHƯƠNG 2 : KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNHYÊU CẦU
2.1Khảo sát hiện trạng
B2C (Business – To - Customer): là hình thức chỉ bao gồm các giao dịch thương mại trên Internet giữa doanh nghiệp với khách hàng, mà trong đó, đối tượng khách hàng của loại hình này là các cá nhân mua hàng Loại hình này áp dụng cho bất kỳ doanh nghiệp hay tổ chức nào bán các sản phẩm hoặc dịch vụ của họ cho khách hàng qua Internet, phục vụ cho nhu cầu sử dụng của cá nhân
Hiện nay, không chỉ trên thế giới mà cả ở Việt Nam thương mại điện tử đã trở nên phổ biến Mỗi doanh nghiệp kinh doanh đều mong muốn có một website để giới thiệu sản phẩm, công ty, bán hàng trực tuyến và tiếp thị nên đã làm cho lĩnh vực này trở nên ngày càng sôi động.
Xã hội phát triển, mọi thứ được hiện đại hóa từ máy móc thiết bị tới đời sống con người, ngay cả nhu cầu giải trí của con người cũng được phát triển Do đó các dịch vụ online tiện ích ra đời một cách nhanh chóng và phủ sóng trên mọi mặt hàng Nắm được những nhu cầu giải trí đó, giải pháp bán hàng online đã xuất hiện hàng loạt Thay vì phải ra tận cửa hàng mua sắm, bây giờ họ đã có thể ngồi ở nhà và lựa chọn sản phẩm theo sở thích của mình lại còn nhanh chóng, phong phú, dễ thao tác, mà lại không tốn sức Vì lợi ích mang lại nên chúng em quyết định tìm hiểu và thiết kế website bán sách online Giúp khách hàng có thể đặt sách một cách nhanh chóng và tiện lợi.
Để thực hiện đề tài lần này, em đã khảo sát một số trang bán sách online lớn và rút ra được một số kinh nghiệm.
36
Trang 392.1.1Nhà Sách Tiki (tiki.vn)
Hình 2.1.1 Nhà sách Tiki
Ưu điểm:
- Đầy đủ chức năng, thông tin, cho nhiều sự lựa chọn
- Nhiều nhà phát hành, nhiều thương hiệu uy tín
- Quá trình thực hiện giao hàng chi tiết (người dùng có thể theo dõi từng công đoạn như đóng gói, vận chuyển, tiếp nhận đơn hàng)
- Có chức năng đọc thử Nhược điểm:
Trang 402.1.2Mua sách online Vinabook (vinabook.com)
Hình 2.1.2 Nhà sách Vinabook
Ưu điểm:
- Đầy đủ chức năng, thông tin, cho nhiều sự lựa chọn
- Giao diện dễ nhìn, đẹp mắt, dễ tìm kiếm sản phẩm cần