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

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.32 MB, 32 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC </b>

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

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

<i><b>Lớp: </b></i>

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

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

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

2.1. Phân tích 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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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

<b>1.1.Ngôn ngữ PHP</b>

<i><b>1.1.1. Khái niệm về PHP</b></i>

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 chun 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 q 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ể.

<i><b>1.1.2. Lý do nên dùng PHP</b></i>

Trong q 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:

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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 q 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ả.

<i><b>1.1.3. Giới thiệu về ngơn ngữ PHP</b></i>

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.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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ả.

<b>1.2.Công cụ phpMyAdmin</b>

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.

Ngồ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 tồ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ả.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

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

<b>2.1. Phân tích yêu cầu đề tài</b>

<i><b>2.1.1. Người dùng</b></i>

* Đă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.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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 tố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 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.

<i><b>2.1.2. Người quản lý</b></i>

* Đă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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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ể.

<b>2.2. Phân tích thiết kế hệ thống</b>

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

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

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

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

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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

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

<b>3.1. Các bảng dữ liệu</b>

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 <sup>Chứa danh sách thông tin người dùng (khách hàng) </sup><sub>đăng ký tài khoản thành công</sub> 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 <sup>Chứa thông tin các sản phẩm hiện có trong giỏ hàng </sup>

theo từng người dùng

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

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

* Bảng tbl_admin

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

* Bảng tbl_customer

* Bảng tbl_brand

* Bảng tbl_category

* Bảng tbl_product

ID sản phẩm

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

price Varchar(255) Giá tiền

* Bảng tbl_cart

ID giỏ hàng

* Bảng tbl_order

ID giỏ hàng

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

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

* Bảng tbl_wishlist

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

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

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

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

<b>4.1. Giao diện tại trang quản lý</b>

<i><b>4.1.1. Đăng nhập</b></i>

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

<i><b>4.1.2. Quản lý sản phẩm</b></i>

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

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

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

<i><b>4.1.4. Quản lý nhà xuất bản</b></i>

* 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

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

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

<i><b>4.1.5. Quản lý khách hàng</b></i>

* Danh sách khách hàng

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

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<i><b>4.1.7. Quản lý doanh thu</b></i>

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

<b>4.2. Giao diện tại trang người dùng</b>

<i><b>4.2.1. Đăng nhập</b></i>

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

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

* Đã đăng nhập

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

<i><b>4.2.4. Danh sách sản phẩm</b></i>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<i><b>4.2.5. Tìm kiếm sản phẩm</b></i>

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

<i><b>4.2.6. Xem chi tiết sản phẩm</b></i>

* Khi chưa đăng nhập

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

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

* Khi đã đăng nhập

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

<i><b>4.2.7. Giỏ hàng</b></i>

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

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<i><b>4.2.8. Lịch sử đặt hàng</b></i>

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

<i><b>4.2.9. Wishlist</b></i>

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

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="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 hồ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, ngồi ra phát triển thêm các chức năng khác để trang web được hồ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.

</div>

×