Bài tập lớn môn lập trình php nâng cao đề tài xây dựng website thương mại điện tử bán hàng sách bằng php theo mô hình mvc

32 1 0
Bài tập lớn môn  lập trình php nâng cao  đề tài xây dựng website thương mại điện tử bán hàng sách bằng php theo mô hình mvc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Sách, là một trong những sản phẩm không thể thiếu trong cuộc sống hàng ngày, và việc kết hợp nó với sức mạnh của thương mại điện tử sẽ tạo nên một nền tảng mạnh mẽ, giúp người tiêu dùng

Trang 1

TRƯỜNG ĐẠI HỌC

KHOA GIÁO DỤC ĐẠI CƯƠNG BỘ MÔN CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn: Sinh viên thực hiện: Mã sinh viên:

Lớp:

Hà Nội, tháng 11 năm 2023

Trang 2

CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 9

2.1 Phân tích yêu cầu đề tài 9

3.2 Sơ đồ quan hệ giữa các bảng 17

CHƯƠNG IV: XÂY DỰNG TRANG WEB 18

4.1 Giao diện tại trang quản lý 18

4.1.7 Quản lý doanh thu 25

4.2 Giao diện tại trang người dùng 25

Trang 4

LỜI NÓI ĐẦU

Trong thời đại đầy biến động của công nghệ hiện nay, việc phát triển các trang web thương mại điện tử không chỉ là một xu hướng mà còn trở thành một yếu tố quan trọng giúp doanh nghiệp nâng cao hiệu quả kinh doanh và mang lại tiện ích tối đa cho người tiêu dùng Với sự bùng nổ của thương mại điện tử, việc xây dựng một nền tảng trực tuyến đầy đủ chức năng và linh hoạt là chìa khóa để thu hút và giữ chân khách hàng.

Với đề tài “XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ BÁN HÀNG SÁCH BẰNG PHP THEO MÔ HÌNH MVC” tập trung vào việc xây dựng một trang web thương mại điện tử để bán sách, sử dụng ngôn ngữ lập trình PHP theo mô hình MVC Sách, là một trong những sản phẩm không thể thiếu trong cuộc sống hàng ngày, và việc kết hợp nó với sức mạnh của thương mại điện tử sẽ tạo nên một nền tảng mạnh mẽ, giúp người tiêu dùng dễ dàng tiếp cận và mua sắm mọi lúc, mọi nơi.

Mục tiêu chính của đề tài là xây dựng một trang web thương mại điện tử, đặt sách làm trung tâm để tối ưu hóa trải nghiệm mua sắm trực tuyến Từ quản lý sản phẩm đến quản lý đơn hàng, và giao diện người dùng thân thiện, hướng đến một hệ thống toàn diện và linh hoạt.

Bài báo cáo sẽ trình bày chi tiết về quá trình phát triển lên trang web, các đối tượng tương tác, cơ sở dữ liệu cũng như giao diện của hệ thống thông qua các chương dưới đây:

CHƯƠNG I: TÌM HIỂU NGÔN NGỮ PHP VÀ CÔNG CỤ QUẢN LÝ CƠ SỞ DỮ LIỆU PHPMYADMIN

CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHƯƠNG III: THIẾT KẾ CƠ SỞ DỮ LIỆU

Trang 5

CHƯƠNG I: TÌM HIỂU NGÔN NGỮ PHP VÀ CÔNG CỤ QUẢN LÝ CƠ SỞ DỮ LIỆU PHPMYADMIN

1.1.Ngôn ngữ PHP

1.1.1 Khái niệm về PHP

PHP, viết tắt của Personal Home Page, là một ngôn ngữ lập trình mà Rasmus Lerdorf sáng tạo vào năm 1994 Tính đến nay, PHP đã trải qua sự phát triển đáng kể và trở thành viết tắt của "PHP: Hypertext Preprocessor" để thể hiện sức mạnh và khả năng xử lý của nó.

Tính hữu dụng và khả năng phát triển của PHP đã đưa nó vào môi trường chuyên nghiệp, nơi nó không chỉ được sử dụng mà còn trở thành một công nghệ phổ biến PHP thực tế là một ngôn ngữ kịch bản nhúng trong HTML, điều này có nghĩa là mã PHP có thể được tích hợp linh hoạt vào bên trong mã HTML, tạo thành một trang web đa chức năng Ngôn ngữ này chặt chẽ kết nối với máy chủ, hoạt động như 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) Điều này có nghĩa là mọi thứ trong PHP diễn ra trên máy chủ và có thể chạy trên nhiều hệ điều hành như Windows, Safari, và nhiều hệ điều hành khác.

Khi một trang web sử dụng ngôn ngữ PHP, nó phải xử lý tất cả các quá trình thông tin trong trang web đó và sau đó đưa ra kết quả dưới dạng ngôn ngữ HTML PHP được thiết kế để thực hiện các hành động chỉ khi có sự kiện xảy ra, chẳng hạn như khi người dùng gửi một biểu mẫu hoặc chuyển đến một URL cụ thể.

1.1.2 Lý do nên dùng PHP

Trong quá trình thiết kế web, có nhiều ngôn ngữ lập trình khác nhau được sử dụng, mỗi ngôn ngữ mang đến cấu hình và tính năng riêng biệt, nhưng chúng đều hướng đến mục tiêu cuối cùng là tạo ra các trang web với kết quả tương đương Các lựa chọn phổ biến bao gồm ASP, Java, Python, PHP, và nhiều ngôn ngữ khác Quyết định chọn PHP thường được đánh giá dựa trên những điểm mạnh sau đây:

Trang 6

Một trong những lợi ích nổi bật của PHP là tính đơn giản và dễ học Với cú pháp gần gũi với ngôn ngữ lập trình C, PHP giúp người phát triển nhanh chóng tiếp cận và bắt đầu xây dựng ứng dụng mà không gặp nhiều khó khăn Điều này đặc biệt hữu ích đối với các dự án có quy mô nhỏ hoặc khi cần triển khai một giải pháp nhanh chóng.

Khả năng tích hợp mạnh mẽ với cơ sở dữ liệu là một điểm mạnh khác của PHP, đặc biệt là với các hệ quản trị cơ sở dữ liệu phổ biến như MySQL hay PostgreSQL Sự làm việc hiệu quả với dữ liệu giúp PHP trở thành một lựa chọn lý tưởng cho các ứng dụng web đòi hỏi tương tác mạnh mẽ với cơ sở dữ liệu.

PHP còn được biết đến với sự linh hoạt khi nhúng mã vào HTML, làm cho việc tích hợp PHP vào các trang web trở nên dễ dàng và thuận tiện Sự linh hoạt này không chỉ hỗ trợ trong quá trình phát triển mà còn tạo ra các ứng dụng đa chức năng và hiệu quả.

Không kém quan trọng, PHP có một cộng đồng lớn và tài liệu hỗ trợ phong phú Điều này mang lại nhiều lợi ích khi cần giải quyết vấn đề, học hỏi từ cộng đồng, và duy trì ứng dụng một cách hiệu quả.

1.1.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.

Trang 7

Mô hình MVC chia ứng dụng thành ba thành phần chính: Model, View, và Controller Model đại diện cho dữ liệu và logic xử lý, View đảm nhận trách nhiệm hiển thị dữ liệu, trong khi Controller quản lý luồng điều khiển và tương tác giữa Model và View.

Hình 2 Kiến trúc mô hình MVC

Trang 8

PHP, với tính linh hoạt và sức mạnh của mình, là lựa chọn lý tưởng để triển khai mô hình MVC Cú pháp dễ đọc và dễ hiểu của PHP giúp người phát triển triển khai mô hình này một cách dễ dàng và hiệu quả.

1.2.Công cụ phpMyAdmin

phpMyAdmin là một ứng dụng quản lý cơ sở dữ liệu MySQL miễn phí và mạnh mẽ, chủ yếu được thiết kế để cung cấp giao diện người dùng đồ họa giúp tương tác với cơ sở dữ liệu một cách thuận tiện.

Với phpMyAdmin, người dùng có khả năng thực hiện các hoạt động quản lý cơ bản như tạo, xóa, và sao lưu cơ sở dữ liệu một cách dễ dàng Điều này giúp đơn giản hóa quy trình quản lý và bảo dưỡng cơ sở dữ liệu MySQL mà không yêu cầu kiến thức sâu về SQL hay sử dụng dòng lệnh.

Ngoài ra, phpMyAdmin cung cấp khả năng thực hiện truy vấn SQL trực tiếp qua giao diện web, giúp người dùng tương tác với cơ sở dữ liệu một cách linh hoạt Điều này làm cho ứng dụng trở thành một công cụ hữu ích không chỉ cho những người quản trị cơ sở dữ liệu có kinh nghiệm mà còn cho người mới học lập trình.

Với khả năng quản lý bảng, trường, và người dùng, phpMyAdmin là một giải pháp toàn diện, hỗ trợ người dùng thực hiện nhiều công việc quản lý một cách hiệu quả Các tính năng nhập và xuất dữ liệu cũng được tích hợp sẵn, cho phép người dùng làm việc với nhiều định dạng khác nhau như SQL, CSV, Excel, và nhiều định dạng khác.

phpMyAdmin cũng chú trọng đến tính an toàn và bảo mật, hỗ trợ quản lý người dùng và phân quyền để kiểm soát quyền truy cập đến cơ sở dữ liệu Với giao diện thân thiện và khả năng thích ứng với nhiều ngôn ngữ, phpMyAdmin là một công cụ quan trọng giúp người dùng quản lý cơ sở dữ liệu MySQL một cách thuận tiện và hiệu quả.

Trang 9

CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Phân tích yêu cầu đề tài

2.1.1 Người dùng

* Đăng ký

Chức năng này cho phép người dùng đăng ký tài khoản, trở thành thành viên của website Khi đăng ký thành công, trở thành thành viên, người dùng mới có thể mua hàng Các thông tin đăng ký bao gồm:

Chức năng này cho phép người dùng đăng nhập vào hệ thống khi đã có tài khoản Thông tin đăng nhập bao gồm:

 Mật khẩu * Tìm kiếm

Khi mua hàng, khách hàng có nhu cầu tìm kiếm về các sản phẩm mong muốn bằng cách nhập tên sản phẩm mình muốn tìm kiếm trên thanh tìm kiếm Tại đây cho phép người dùng lọc các sản phẩm theo mong muốn như: Danh mục, Nhà xuất bản, Giá tiền.

Ngoài ra người dùng có thể xem các sản phẩm theo từng danh mục bằng cơ chế tìm kiếm * Thêm sản phẩm vào giỏ hàng

Người dùng sau khi xem thông tin sản phẩm, có thể điều chỉnh số lượng mong muốn và nhấn vào nút thêm vào giỏ hàng

Trang 10

Sản phẩm được thêm vào giỏ hàng của người dùng với số lượng đã nhập * Mua hàng

Khi giỏ hàng của khách tồn tại ít nhất một sản phẩm, hệ thống cho phép đặt hàng bằng cách nhấn nút thanh toán, với thông tin là thông tin khách hàng cung cấp khi đăng ký tài khoản Hình thức giao hàng là thanh toán khi nhận hàng.

* Quản lý đơn hàng

Người dùng có thể hủy đơn hàng khi đơn hàng chưa được xác nhận bởi người quản trị Sau khi người dùng nhận được hàng, nhấn đã nhận được hàng để hoàn tất đơn hàng * Quản lý sản phẩm yêu thích

Cho phép người dùng thêm một sản phẩm vào danh sách các sản phẩm yêu thích.

Tại mục sản phẩm yêu thích, người dùng có thể nhấn vào nút mua ngay để chuyển hướng đến trang chi tiết của sản phẩm, hoặc nhấn nút xóa để xóa sản phẩm khỏi danh sách * Hồ sơ

Tại đây hiển thị thông tin người dùng cung cấp khi đăng ký, cho phép người dùng cập nhật lại thông tin khi có thay đổi.

2.1.2 Người quản lý

* Đăng nhập

Chức năng này cho phép người quản lý đăng nhập vào hệ thống để thực hiện việc quản lý thông tin Thông tin đăng nhập gồm:

 Tên đăng nhập  Mật khẩu * Quản lý sản phẩm

Trang 11

Các thông tin sản phẩm bao gồm: Tên sản phẩm, hình ảnh, giá tiền, giá giảm, mô tả sản phẩm.

 Thêm sản phẩm: Người quản lý có thể thêm sản phẩm mỗi khi có sản phẩm mới Bằng cách nhập thông tin về sản phẩm, nhấn nút thêm mới để thêm sản phẩm vào trong cơ sở dữ liệu Thông tin về sản phẩm sẽ được lưu trữ trong cơ sở dữ liệu của hệ thống.

 Sửa sản phẩm: Người quản lý có thể cập nhật thông tin sản phẩm khi có bất kỳ thay đổi nào bằng cách nhấn nút chỉnh sửa sản phẩm có trong danh sách sản phẩm tồn tại trên hệ thống.

 Xóa sản phẩm: Khi không còn kinh doanh, người quản lý sẽ thực hiện xóa sản phẩm, đồng nghĩa với sản phẩm cũng được xóa khỏi cơ sở dữ liệu.

 Tìm kiếm thông tin sản phẩm: Cho phép tìm kiếm theo tên và lọc theo từng loại danh mục, nhà xuất bản và khoảng giá mong muốn

* Quản lý danh mục

 Thêm danh mục: Khi cập nhật thêm danh mục sách mới, người quản trị sẽ nhập tên danh mục và thêm mới danh mục vào cơ sở dữ liệu.

 Sửa danh mục: Cho phép sửa lại tên danh mục khi có thay đổi.

 Xóa danh mục: Cho phép thực hiện xóa danh mục, với điều kiện không có sản phẩm nào đang tồn tại trong danh mục này.

 Tìm kiếm: Cho phép tìm kiếm theo tên danh mục mong muốn * Quản lý nhà xuất bản

 Thêm danh mục: Khi cập nhật thêm nhà xuất bản sách mới, người quản trị sẽ nhập tên nhà xuất bản và thêm mới vào cơ sở dữ liệu.

 Sửa danh mục: Cho phép sửa lại tên nhà xuất bản khi có thay đổi.

 Xóa danh mục: Cho phép thực hiện xóa nhà xuất bản, với điều kiện không có sản phẩm nào đang tồn tại thuộc nhà xuất bản này.

 Tìm kiếm: Cho phép tìm kiếm theo tên nhà xuất bản mong muốn

Trang 12

 Xem chi tiết đơn hàng: Bao gồm thông tin về sản phẩm, giá trị đơn hàng  Xem chi tiết thông tin người dùng

 Cập nhật trạng thái đơn hàng: Hủy đơn, Xác nhận đơn, Hoàn thành đơn  Lọc các đơn hàng trong khoảng thời gian cụ thể

* Doanh thu

Cho phép xem tổng doanh thu theo từng khoảng thời gian cụ thể.

2.2 Phân tích thiết kế hệ thống

* Sơ đồ use case tổng quát

Hình 3 Sơ đồ use case tổng quát của website

Trang 13

* Biểu đồ lớp chi tiết

Hình 4 Sơ đồ lớp chi tiết của trang web

Trang 14

CHƯƠNG III: THIẾT KẾ CƠ SỞ DỮ LIỆU

3.1 Các bảng dữ liệu

Trong cơ sở dữ liệu bookstore_mvc, tồn tại 8 bảng, bao gồm:

tbl_admin Chứa thông tin của người quản trị

tbl_customer Chứa danh sách thông tin người dùng (khách hàng) đăng ký tài khoản thành công tbl_category Chứa danh sách Danh mục

tbl_product Chứa danh sách các sản phẩm có trong hệ thống tbl_cart Chứa thông tin các sản phẩm hiện có trong giỏ hàng

theo từng người dùng

tbl_order Chứa thông tin các đơn đặt hàng

tbl_wishlist Chứa danh sách các sản phẩm yêu thích của từng người dùng Bảng 1 Danh sách các bảng trong cơ sở dữ liệu

* Bảng tbl_admin

Trang 15

* Bảng tbl_customer

* Bảng tbl_brand

* Bảng tbl_category

* Bảng tbl_product

ID sản phẩm

Trang 16

price Varchar(255) Giá tiền

* Bảng tbl_cart

ID giỏ hàng

* Bảng tbl_order

ID giỏ hàng

Trang 17

orderStatus Int Trạng thái đơn hàng

* Bảng tbl_wishlist

3.2 Sơ đồ quan hệ giữa các bảng

Dưới đây là sơ đồ quan hệ giữa các bảng:

Hình 5 Sơ đồ các quan hệ giữa các bảng trong cơ sở dữ liệu

Trang 18

CHƯƠNG IV: XÂY DỰNG TRANG WEB

4.1 Giao diện tại trang quản lý

4.1.1 Đăng nhập

Hình 6 Màn hình đăng nhập

4.1.2 Quản lý sản phẩm

* Thêm mới sản phẩm

Trang 19

Hình 7 Màn hình thêm mới sản phẩm

* Danh sách các sản phẩm

Hình 8 Màn hình hiển thị danh sách sản phẩm * Chỉnh sửa sản phẩm

Trang 21

Hình 11 Màn hình hiển thị các danh mục

4.1.4 Quản lý nhà xuất bản

* Thêm mới nhà xuất bản

Hình 12 Form thêm mới nhà xuất bản

* Danh sách nhà xuất bản

Trang 22

Hình 13 Màn hình hiển thị các nhà xuất bản

4.1.5 Quản lý khách hàng

* Danh sách khách hàng

Hình 14 Màn hình hiển thị danh sách khách hàng

Trang 24

* Xem chi tiết đơn hàng

Hình 17 Hiển thị chi tiết đơn hàng * Cập nhật trạng thái đơn hàng

Hình 18 Thông báo xác nhận thay đổi trạng thái đơn hàng

Trang 25

4.1.7 Quản lý doanh thu

Hình 19 Màn hình hiển thị doanh thu

4.2 Giao diện tại trang người dùng

4.2.1 Đăng nhập

Hình 20 Màn hình đăng nhập

Trang 27

* Đã đăng nhập

Hình 23 Màn hình trang chủ khi đã đăng nhập

4.2.4 Danh sách sản phẩm

Trang 28

Hình 24 Màn hình chính tại mục sản phẩm

Hình 25 Màn hình xem sản phẩm theo danh mục

Trang 29

4.2.5 Tìm kiếm sản phẩm

Hình 26 Màn hình khi tìm kiếm sản phẩm

4.2.6 Xem chi tiết sản phẩm

* Khi chưa đăng nhập

Hình 27 Xem chi tiết sản phẩm khi chưa đăng nhập

Trang 30

* Khi đã đăng nhập

Hình 28 Xem thông tin chi tiết sản phẩm khi đã đăng nhập

4.2.7 Giỏ hàng

Hình 29 Màn hình giỏ hàng

Trang 31

4.2.8 Lịch sử đặt hàng

Hình 30 Lịch sử đặt hàng

4.2.9 Wishlist

Hình 31 Màn hình danh sách các sản phẩm yêu thích

Trang 32

KẾT LUẬN

Trong quá trình nghiên cứu và thực hiện đề tài " XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ BÁN HÀNG SÁCH BẰNG PHP THEO MÔ HÌNH MVC" em đã đạt được một số kết quả như nâng cao kiến thức về ngôn ngữ lập trình PHP, công cụ phpMyAdmin, các nghiệp vụ đối với một website thương mại điện tử, đồng thời học cách thiết kế, phát triển các chức năng cụ thể.

Trong quá trình thực hiện, em đã xây dựng mã nguồn theo mô hình MVC, bằng cách này giúp mã nguồn được phát triển một cách có tổ chức, dễ đọc, dễ chỉnh sửa và ứng dụng một cách linh hoạt

Tuy nhiên, do thời gian và khả năng còn hạn chế, các chức năng được thực hiện cho trang web vẫn chưa được tối ưu và có tính ứng dụng cao Đồng thời còn tồn tại nhiều lỗi chưa được hoàn thiện.

Đối với hướng phát triển trong tương lai, em dự kiến sẽ bổ sung thêm một cách nhiều nhất có thể cho những chức năng còn đang thiếu sót, ngoài ra phát triển thêm các chức năng khác để trang web được hoàn thiện hơn.

Kết quả của đề tài không chỉ là mức đánh giá quá trình tìm hiểu, học hỏi, mà còn là cơ hội để áp dụng các kiến thức về lập trình PHP vào trong thực tế, đúc kết thành kinh nghiệm làm hành trang sắp tới cho bản thân Em sẽ cố gắng hoàn thiện để đưa đề tài có tính thực tế hơn trong tương lai.

Ngày đăng: 01/04/2024, 16:47

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan