Tải bản đầy đủ (.docx) (23 trang)

cửa hàng bán sách trực tuyến full code

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 (481.18 KB, 23 trang )

Cửa hàng sách trực tuyến
Web bán sách có các trang admin quản trị (Nơi quản trị có thể tạo các danh mục, thêm sản
phẩm …) và các trang của cửa hàng ( Trang thông tin cửa hàng ) nơi xử lý các đơn đặt
hàng.
Cách mua hàng đơn giản của cửa hàng :
1. Khách hàng tới cửa hàng
2. Xem các trang, ấn vào danh mục để xem các mặt hàng
3. Xem chi tiết sản phầm mà bạn quan tâm
4. Thêm sản phẩm vào giỏ hàng
5. Thanh toán ( Nhập địa chỉ nhận hàng, thông tin thanh toán )
6. Thoát khỏi trang web.
Không có gì phức tạp cả. Khách hàng không cần đăng ký tài khoản, chỉ cần mua hàng và
thoát khỏi web.

Đặc biệt
Một số điểm đặc biệt của trang web
1. Vận chuyển hàng tận nơi.
Trang web có hình thức vận chuyển hàng tận nơi cho bạn.
2. Thanh toán bao gồm COD ( cash on delivery ) và Paypal
Hiện trang web có thể thanh toán bằng COD và thông qua Paypal IPN.
1
3. Tùy chỉnh ảnh và ảnh thumbnail
Có thể thay đổi chiều rộng ảnh trong file config. Có thể chỉnh cỡ ảnh thumbnail bạn muốn
cho tất cả ảnh danh mục mà bạn upload.


2
Tổ chức file
Thư mục shop/library chứa :
• config.php : file chính, tùy chỉnh cho trang web
• category-functions.php : Các hàm dành cho danh mục


• product-functions.php : Chứa các hàm liên quan đến sản phẩm
• cart-functions.php : Các hàm dành cho giỏ hàng
• checkout-functions.php : Xử lý thanh toán tại đây
• common.php : Các hàm chung dành cho cửa hàng và các trang quản trị
• database.php : Chứa các hàm về database
Thư mục shop/include chứa :
• header.php
Header chung của cửa hàng.
• top.php
Thiết đặt banner tại đây.
• footer.php
Footer cửa hàng, chứa địa chỉ, số điện thoại và email. Có thể thêm thông tin tại đây khi cần.
• shop.css
Style sheet file cho cửa hàng
• leftNav.php
Các menu bên trái của cửa hàng
• categoryList.php
Hiển thị các danh mục sách cửa hàng có
• productList.php
Hiển thị sản phẩm có trong danh mục
• productDetail.php
Hiển thị chi tiết sản phẩm.
• miniCart.php
Hiển thị bên phải cửa hàng, nó cho phép xem sản phẩm có trong giỏ hàng.
3
• shippingAndPaymentInfo.php
Form nhập thông tin chuyển hàng và thanh toán ( bước 1 của thanh toán )
• checkoutConfirmation.php
Hiển thị báo cáo, thông tin chuyển hàng và thanh toán ( bước 2 của thanh toán )
Thư mục shop/include/paypal chứa :

• paypal.inc.php
File tùy chỉnh cho module thanh toán bằng PayPal
• ipn.php
Đoạn mã xử lý xác thực thanh toán
• payment.php
Chứa form chấp nhận thông tin thanh toán từ cửa hàng tới trang web PayPal
Thư mục shop/admin chứa tất cả file của quản trị. Có thể thấy thư mục admin cũng chứa
thư mục include và thư mục library. Tại đây phân chia rõ ràng các file cho các trang quản
trị.
Tất cả ảnh trong cửa hàng được để trong thư mục shop/images. Danh mục và ảnh sản
phẩm để trong các thư mục con category và product.

Yêu cầu
Để chạy được trang web cần yêu cầu sau :
• Apache >=2
• PHP >= 5
• MySQL >=4

4
Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của cửa hàng được thiết kế đơn giản.
Tên bảng Nhiệm vụ
tbl_category Chứa tất cả danh mục sản phẩm
tbl_product Chứa tất cả sản phẩm
tbl_cart
Khi khách hàng cho hàng vào giỏ.
Lúc đó trong bảng này cũng lưu
sản phẩm đó
tbl_order
Nơi lưu tất cả các báo cáo khách

hàng gửi
tbl_order_item
Quan hệ giữa báo cáo và số sản
phẩm trong cửa
tbl_user
Chứa tất cả thông tin thành viên
đăng nhập vào quản trị cửa hàng.
tbl_shop_config
Chứa thông tin cửa hàng như tên,
địa chỉ, phone, email…
Tbl_currency Chứa thông tin ngoại tệ

5
Chi tiết các bảng xem phía dưới:
6

Tổng quan các bảng trong cơ sở dữ liệu
tbl_category
Bảng chứa các danh mục sản phẩm. Từ bảng này ta có thể thấy danh mục nào là danh
mục cha và danh mục con của nó là gì. Trong trang web này chỉ chứa 2 mức danh mục.
Các sản phẩm chỉ có thể thêm ở các danh mục con, sản phẩm không thêm được ở danh
mục cha.
tbl_product
Bảng này chứa tên sản phẩm, mã danh mục, miêu tả, ảnh và thumbnail. Mỗi sản phẩm có
thể có 1 tấm ảnh minh họa.
Khi thêm ảnh sản phẩm trong trang quản trị, ta cũng cần tạo luôn ảnh thumbnail. Đoạn mã
tảo ảnh thumbnail từ ảnh gốc. Cỡ ảnh thumbnail định nghĩa trong file library/config.php
( THUMBNAIL_WIDTH ) và được thiết lập mặc định là 75 pixels.
tbl_cart
Bảng chứa sản phẩm được khách hàng chọn mua. Ta có trường ct_session_id lưu mã của

phiên mua hàng.
tbl_order
Cuối cùng, khi khách hàng hoàn tất phiếu mua hàng, thông tin phiếu đó được lưu tại bảng
này. Thông tin người đặt hàng và người thanh toán lưu tại đây
tbl_order_item
Bảng lưu mối liên hệ giữa báo cáo mua hàng của khách hàng và sản phẩm trong cửa
hàng.
tbl_shop_config
Bảng chứa thông tin cửa hàng. Chứa tên cửa hàng, địa chỉ, ơhone, email, phí vận chuyển,
ngoại tệ được sử dụng và cờ thông báo có gửi mail báo cáo không.
tbl_user
7
Bảng này chứa tất cả thành viên là quản trị trang web. Hiện tất cả quản trị có thể làm mọi
thứ trên cửa hàng.
Admin Control Panel

Trang quản trị admin bao gồm :
• Category
o Add Category
Thêm danh mục mới.
o View Category
Hiển thị danh mục mà cửa hàng có. Ta có thể thấy tất cả danh mục con và
hiển thị các sản phẩm có trong mỗi danh mục.
o Modify Category
Cập nhật thông tin của danh mục, tên danh mục, miêu tả và ảnh
o Delete Category
Xóa danh mục. Tất cả sản phẩm trong danh mục bị xóa sẽ đều thiết lập
cat_id = 0.
• Product
o Add Product

Thêm 1 sản phẩm vào cửa hàng. Ta cần cung cấp cả ảnh để tạo ảnh sản
phẩm và tạo ảnh thumbnail.
o View Product
Xem tất cả sản phẩm ta có. Từ các sản phẩm của cửa hàng, ta có thể chỉ
xem các sản phẩn của 1 danh mục.
o Modify Product
Chỉnh sửa thông tin sản phẩm. Ta có thể xóa ảnh sản phẩm từ trang này.
o Delete Product
8
Xóa sản phẩm khỏi cửa hàng.
• Order
o View Orders
Xem tất cả báo cáo mua hàng và xem trạng thái của báo cáo đó.
o Modify Orders
Chỉnh sửa báo cáo. Đôi khi khách hàng liên lạc cửa hàng rằng họ chọn sai số
lượng và muốn ta hủy bỏ đơn hàng đó để họ có thể mua lại. Forum này giúp
quản trị thực hiện những điều tương tự như vậy.
• Shop Configuration
Là nơi bạn có thể thay đối thông tin cửa hàng.
Dưới trang chính quản trị ( admin/index.php ) có giao diện như sau.
9
Admin Login
Tất cả thành viên hệ thống được lưu trong bảng tbl_user. Đơn giản là bảng đó chỉ chứa
thông tin quan trong như user id và password.
Cách thức thực hiện đăng nhập
1. Quản trị nhập tên và mật khẩu
2. Một đoạn script kiểm tra username và password đã có trong database hay chưa
3. Nếu chưa có thì sẽ tạo một phiên session sau đó tới trang quản trị chính
4. Nếu chưa sẽ hiện thông báo lỗi
Dưới đây là giao diện trang đăng nhập :

Hàm xử lý doLogin() được lưu ở file admin/library/functions.php
Nếu đăng nhập thành công,hàm sẽ tạo một phiên $_SESSION['plaincart_user_id']. Tất cả
trang admin sẽ kiểu tra mã session id đang dùng hàm checkUser(). Nếu session id không
tìm thấy sau hàm thì sẽ chuyển tới trang đăng nhập.
10
Hàm checkUser() chứa trong file admin/library/functions.php
function checkUser()
{
if (!isset($_SESSION['plaincart_user_id'])) {
header('Location: ' . WEB_ROOT . 'admin/login.php');
}
if (isset($_GET['logout'])) {
doLogout();
}
}
ta thấy nếu $_SESSION['plaincart_user_id'] chưa có thì sẽ chuyển tới trang đăng nhập
Để đăng xuất ta gọi hàm doLogout(), hàm sẽ xóa session id.
Source code : admin/library/functions.php
function doLogout()
{
if (isset($_SESSION['plaincart_user_id'])) {
unset($_SESSION['plaincart_user_id']);
session_unregister('plaincart_user_id');
}
header('Location: login.php');
}
11
Admin – Xem danh mục

Tất cả các danh mục sản phẩm của cửa hàng hiển thị tại đây. Câu lệnh SQL đơn giản,

đó là select category id, parent id và name và dùng vòng lặp while để hiển thị từng danh
mục.
Bên cạnh danh sách danh mục, ta có nút Modify và Delete để sửa và xóa danh mục

12
Admin – Thêm danh mục
Tại đây quản trị có thể thêm danh mục sản phẩm mới cho cửa hàng. Thông tin ta cần là
tên danh mục, miêu tả danh mục và ảnh danh mục. Tên và miêu tả là bắt buộc nhưng ảnh
thì không. Nếu không thích ảnh danh mục, ta có thể để trống trường này
13
Admin – Sửa danh mục
Trang này là nơi sửa thông tin danh mục. Ta thấy giao diện cũng giống như khi thêm danh
mục mới. Điểm khác là thông tin danh mục cũ được hiển thị ra trước và hiển thị luôn ở các
phần input.
Điểm khác nữa là ta thấy luôn cả ảnh danh mục. Nếu ta thay ảnh danh mục khác thì ảnh
cũ sẽ bị xóa đi và ảnh mới sẽ được tạo ra.
14
Admin – Xem sản phẩm
Trang này hiển thị tất cả sản phẩm ta có. Trang này cho ta xem chi tiết sản phẩm, thêm
sản phẩm mới, chỉnh sửa và xóa sản phẩm.
15
Admin – Thêm sản phẩm
Khi thêm sản phẩm, ta cần các thông tin sau:
• Chọn danh mục
• Tên sản phẩm
• Miêu tả
• Giá tiền
• Số hàng trong kho
• Ảnh
16

Admin – Chỉnh sửa sản phẩm
Tương tự như chỉnh sửa danh mục
17
Admin – Xóa sản phẩm
Đầu tiên ta xóa mọi tham chiếu tới sản phẩm trong bảng tbl_cart và tbl_order_item, sau
đó xóa ảnh sản phẩm và ảnh thumbnail và cuối cùng xóa sản phẩm khỏi database.
Tiến trình xóa sản phẩm như sau:
1. Xóa toàn bộ tham chiếu tới sản phẩm từ bảng tbl_order_item
2. Xóa toàn bộ tham chiếu từ bảng tbl_cart
3. Xóa ảnh sản phẩm và ảnh thumbnail
4. Xóa sản phẩm khỏi database
Admin – Quản lý báo cáo
Tất cả báo cáo của khách hàng hiển thị tại đây. Các trạng thái báo cáo gồm :
• New
• Paid
• Shipped
• Completed
• Cancelled
Xét từng trạng thái
New
Các báo cáo mới chưa xử lý
Paid
Trạng thái báo cáo đã nhận tiền nhưng chưa gửi hàng.
18
Shipped
Trạng thái báo cáo đã gửi hàng nhưng chưa nhận tiền
Completed
Trạng thái báo cáo đã nhận hàng và đã gửi tiền
Cancelled
Báo cáo hủy bỏ

Sử dụng combo box để lọc trạng thái báo cáo, ta có thể sửa trạng thái báo cáo
19
20
Tùy chỉnh cửa hàng
Tại đây ta có thể chỉnh thông tin về cửa hàng
• Thông tin cửa hàng
o Tên cửa hàng
o Địa chỉ cửa hàng
o Số điện thoại
o Email liên lạc
• Phí vận chuyển
• Ngoại tệ
• Cờ thông báo có gửi mail hay không.
21
22
Admin – Quản lý thành viên

Thành viên quản trị cửa hàng cũng chính là admin quản lý trang web.
Xem danh sách thành viên
Thêm thành viên
23

×