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
Ngôn ngữ PHP
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ể.
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:
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ả.
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.
* Các kiểu thẻ trong PHP
Kiểu Script ( )
Mô hình MVC
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
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ìnhMVC 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ả.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu đề tài
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:
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
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.
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.
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.
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.
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:
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
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
Xem chi tiết người dùng: Cho phép người quản lý xem thông tin chi tiết người dùng
Xóa người dùng: Cho phép xóa người dùng
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ể
Cho phép xem tổng doanh thu theo từng khoảng thời gian cụ thể.
THIẾT KẾ CƠ SỞ DỮ LIỆU
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:
Tên bảng Ghi chú 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_brand Chứa danh sách Nhà xuất bản 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
Tên trường Kiểu dữ liệu Mở rộng Mô tả adminID Int PRIMARY KEY Id người quản lý adminName Varchar(255) Tên người quản lý adminEmail Varchar(150) Email adminUser Varchar(255) Tên đăng nhập adminPass Varchar(255) Mật khẩu adminAddress Varchar(255) Địa chỉ adminPhone Varchar(255) Số điện thoại adminBirth Date Ngày sinh adminImage Varchar(255) Hình ảnh adminPermissions Varchar(255) Quyền
Tên trường Kiểu dữ liệu Mở rộng Mô tả customerID Int PRIMARY KEY ID customerName Varchar(255) Tên người dùng customerAddress Varchar(150) Địa chỉ phone Varchar(100) Số điện thoại email Varchar(255) PRIMARY KEY Email customerPassword Varchar(300) Mật khẩu
Tên trường Kiểu dữ liệu Mở rộng Mô tả brandID Int PRIMARY KEY ID nhà xuất bản brandName Varchar(255) Tên nhà xuất bản
Tên trường Kiểu dữ liệu Mở rộng Mô tả catID Int PRIMARY KEY ID danh mục catName Varchar(255) Tên danh mục
Tên trường Kiểu dữ liệu Mở rộng Mô tả productID int PRIMARY KEY,
ID sản phẩm productName Varchar(255) Tên sản phẩm catID Int ID danh mục brandID Int ID nhà xuất bản product_desc Text Mô tả sản phẩm featured Int Sản phẩm nổi bật price Varchar(255) Giá tiền product_image Varchar(255) Hình ảnh sản phẩm discount Varchar(255) Giảm giá
Tên trường Kiểu dữ liệu Mở rộng Mô tả cartID int PRIMARY KEY,
ID giỏ hàng productID int FOREIGN KEY ID sản phẩm sessionID Varchar(255) ID phiên đăng nhập productName Varchar(255) Tên sản phẩm price Varchar(255) Giá tiền quantity Int Số lượng product_image Varchar(255) Hình ảnh sản phẩm discount Varchar(255) Giảm giá
Tên trường Kiểu dữ liệu Mở rộng Mô tả orderID int PRIMARY KEY,
ID giỏ hàng productID int FOREIGN KEY ID sản phẩm productName Varchar(255) Tên sản phẩm customerID int FOREIGN KEY ID người dùng price Varchar(255) Giá tiền quantity Int Số lượng product_image Varchar(255) Hình ảnh sản phẩm orderStatus Int Trạng thái đơn hàng discount Varchar(255) Giảm giá
Tên trường Kiểu dữ liệu Mở rộng Mô tả wishlistID Int PRIMARY KEY,
ID sản phẩm mua sau customerID Int FOREIGN KEY ID người dùng productID Int ID sản phẩm productName Varchar(255) Tên sản phẩm price Varchar(255) Giá tiền product_image Varchar(255) Hình ảnh sản phẩm discount Varchar(255) Giảm giá
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
XÂY DỰNG TRANG WEB
Giao diện tại trang quản lý
Hình 6 Màn hình đăng nhập
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
Hình 9 Màn hình cập nhật thông tin sản phẩm
Hình 10 Form thêm mới danh mục
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
Hình 13 Màn hình hiển thị các nhà xuất bản
Hình 14 Màn hình hiển thị danh sách khách hàng
Hình 15 Màn hình hiển thị chi tiết khách hàng
* Hiển thị danh sách đơn hàng
Hình 16 Danh sách các đơn hàng
* 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
Hình 19 Màn hình hiển thị doanh thu
Giao diện tại trang người dùng
Hình 20 Màn hình đăng nhập
Hình 21 Màn hình đăng ký
Hình 23 Màn hình trang chủ khi đã đăng nhập
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
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
Hình 27 Xem chi tiết sản phẩm khi chưa đăng nhập
Hình 28 Xem thông tin chi tiết sản phẩm khi đã đăng nhập
Hình 29 Màn hình giỏ hàng
Hình 30 Lịch sử đặt hàng
Hình 31 Màn hình danh sách các sản phẩm yêu thích