Phiên bản mới này có khả năng tương táctốt với cơ sở dữ liệu và nhiều hơn nữa, cung cấp một Framework mà người dùngPHP có thể phát triển các ứng dụng web động đơn giản như Guestbook.. Kh
ĐẶT VẤN ĐỀ
Thương mại điện tử ngày càng phổ biến toàn cầu và tại Việt Nam, với nhiều hình thức đa dạng Bán hàng trực tuyến đang trở thành xu hướng chủ đạo mà các doanh nghiệp và cửa hàng đang áp dụng, nhờ vào sự phát triển mạnh mẽ của Internet.
Phương thức giao dịch trực tuyến ngày càng được ưa chuộng nhờ vào sự tiện lợi và khả năng tiết kiệm thời gian, chi phí cho các bên liên quan Trong thương mại điện tử, các chi phí được giảm thiểu tối đa, giúp khách hàng dễ dàng xem sản phẩm, đặt hàng nhanh chóng và nhận hàng tận nơi dù ở xa Ngoài ra, việc quảng bá thương hiệu qua Internet chỉ tốn chi phí bằng với phương thức truyền thông trực tiếp đến từng khách hàng, mang lại hiệu quả kinh doanh cao hơn.
Để bắt kịp xu hướng thị trường và đáp ứng nhu cầu của khách hàng, tôi đã chọn đề tài "Xây dựng Website bán điện thoại di động trực tuyến" Việc phát triển website giúp quảng bá sản phẩm một cách nhanh chóng và hiệu quả tới khách hàng tiềm năng Đây là giải pháp tối ưu để nâng cao khả năng tiếp cận và mở rộng thị trường điện thoại di động trực tuyến.
MỤC TIÊU CỦA ĐỀ TÀI
Xây dựng một hệ thống hỗ trợ cho phép bán hàng trực tiếp trên Internet:
- Đảm bảo chính xác và tiện lợi cho khách hàng.
- Thuận tiện cho việc mua và bán hàng.
Trang web cần được thiết kế dễ hiểu, giao diện thân thiện và đẹp mắt để khách hàng dễ dàng tìm kiếm thông tin Bảo vệ tuyệt đối thông tin khách hàng trong quá trình đặt hàng trực tuyến là yếu tố quan trọng hàng đầu Ngoài ra, website phải luôn được cải tiến, đổi mới để giữ sự hấp dẫn và phù hợp với xu hướng hiện tại.
PHẠM VI ĐỀ TÀI
Hệ thống gồm có 2 phần:
Thứ nhất: Phần khách hàng:
Khách hàng là những người có nhu cầu mua sắm hàng hóa, họ thường xuyên tìm kiếm các sản phẩm phù hợp từ hệ thống để đáp ứng nhu cầu cá nhân hoặc doanh nghiệp Quá trình mua hàng của khách hàng bắt đầu từ việc xác định nhu cầu, sau đó họ sẽ tìm kiếm các mặt hàng cần thiết trên các nền tảng thương mại điện tử hoặc hệ thống bán hàng trực tuyến Khi đã chọn được sản phẩm phù hợp, khách hàng sẽ tiến hành đặt mua để đảm bảo nhận được hàng đúng yêu cầu và thời gian mong muốn Việc tối ưu hóa trải nghiệm mua sắm và cung cấp đa dạng các mặt hàng giúp hệ thống thu hút và giữ chân khách hàng hiệu quả hơn.
- Khách hàng xem các thông tin, tin tức mới và khuyến mại trên Web.
- Sau khi khách hàng chọn và đặt hàng trực tiếp thì sẽ nhập thông tin mua hàng và xem hóa đơn hàng.
Thứ hai: Phần quản trị viên:
Quản trị viên được cấp username và password để đăng nhập vào hệ thống thực hiện chức năng của mình:
- Chức năng cập nhật, sửa, xóa các sản phẩm, hãng sản phẩm, tin tức…
- Tiếp nhập kiểm tra đơn đặt hàng của khách hàng Hiển thị đơn hàng.
ĐỐI TƯỢNG
Website dành cho mọi đối tượng khách hàng có nhu cầu xem sản phẩm và đặt mua sản phẩm trực tuyến.
GIỚI THIỆU CÔNG CỤ THỰC HIỆN
Trang Web là sự kết hợp giữa nội dung văn bản và các thể HTML, được quy định bởi W3C (World Wide Web Consortium) HTML (HyperText Markup Language) là ngôn ngữ đánh dấu siêu văn bản sử dụng để xây dựng các trang web Một tập tin HTML đơn giản chỉ là một tập tin bình thường có định dạng đuôi html hoặc htm, chứa mã nguồn để trình duyệt hiển thị nội dung phù hợp.
HTML giúp định dạng văn bản trên trang web thông qua các thẻ, đồng thời cho phép liên kết từ hoặc cụm từ đến các tài liệu khác trên Internet Hầu hết các thẻ HTML đều có dạng thẻ mở và thẻ đóng, trong đó thẻ đóng được thêm dấu xiên phải (/) để phân biệt Ngôn ngữ HTML quy định cú pháp không phân biệt chữ hoa và chữ thường, ví dụ như có thể khai báo hoặc Ngoài ra, không có khoảng trắng trong phần khai báo thẻ, đảm bảo cú pháp chuẩn và chính xác cho trang web.
1.5.1.2 Cấu trúc chung của một trang HTML:
Tiêu đề của trang Web
1.5.1.3 Các thẻ HTML cơ bản:
- Thẻ : Tạo đầu mục trang
Thẻ đóng vai trò quan trọng trong việc tạo tiêu đề trang hiển thị trên thanh tiêu đề của trình duyệt Web, đây là thẻ bắt buộc để tối ưu hóa SEO Việc sử dụng thẻ giúp trình bày chuỗi tiêu đề rõ ràng, hấp dẫn mỗi khi người dùng duyệt trang Web, từ đó nâng cao trải nghiệm người dùng và thứ hạng tìm kiếm Thiết lập tiêu đề phù hợp không chỉ giúp tăng khả năng nhận diện thương hiệu mà còn góp phần thúc đẩy lưu lượng truy cập trang Web của bạn hiệu quả hơn.
Thẻ chứa tất cả các thông tin hiển thị trên trang Web, đảm bảo người dùng có thể nhìn thấy mọi nội dung được khai báo trong phần này Các nội dung trong thẻ đảm bảo tính trực quan và sự tương tác của trang Web, giúp người truy cập dễ dàng tiếp cận thông tin cần thiết.
- Các thẻ định dạng khác Thẻ
…
:Tạo một đoạn mới Thẻ: Thay đổi phông chữ, kích cỡ và màu kí tự…
Thẻ định dạng bảng … là thành phần chính để tạo bảng trên trang web, giúp tổ chức và trình bày dữ liệu rõ ràng Sau khi khai báo thẻ , bạn cần bổ sung các thẻ hàng để xác định các dòng trong bảng và thẻ cột hoặc để định dạng từng ô dữ liệu hoặc tiêu đề Việc sử dụng đúng các thẻ này giúp bảng hoạt động chính xác, dễ đọc và tối ưu hóa cho các công cụ tìm kiếm. -**Sponsor**Bạn là một người sáng tạo nội dung và cần trợ giúp viết lại bài viết? [Article Generation](https://pollinations.ai/redirect-nexad/INFTuoCE?user_id=983577) có thể giúp bạn tạo ra các bài viết chuẩn SEO 2.000 từ ngay lập tức, tiết kiệm hơn $2.500 mỗi tháng so với việc thuê người viết! Giống như có một đội ngũ nội dung riêng mà không gặp rắc rối! Với Article Generation, việc tối ưu hóa câu và đoạn văn theo chuẩn SEO sẽ trở nên dễ dàng hơn bao giờ hết.
cùng với các thuộc tính của nó
- Thẻ hình ảnh : Cho phép bạn chèn hình ảnh vào trang Web Thẻ này thuộc loại thẻ không có thẻ đóng
Thẻ liên kết là loại thẻ HTML dùng để liên kết giữa các trang web hoặc liên kết đến các địa chỉ Internet, email, Intranet (URL), hoặc địa chỉ trong tập tin trên mạng cục bộ (UNC) Chúng giúp tạo các liên kết dễ dàng, tăng tính tương tác cho website Thẻ đóng vai trò quan trọng trong việc tối ưu hóa SEO bằng cách cấu hình URL phù hợp và mô tả rõ ràng nội dung liên kết Việc sử dụng đúng và hợp lý thẻ liên kết không những nâng cao trải nghiệm người dùng mà còn cải thiện thứ hạng của website trên các công cụ tìm kiếm.
Thẻ Input trong HTML cho phép người dùng nhập dữ liệu hoặc thực hiện các hành động như gửi biểu mẫu hoặc chọn lựa Các loại thẻ Input phổ biến bao gồm: text để nhập dữ liệu văn bản, password để nhập mật khẩu, submit để gửi biểu mẫu, button cho các nút bấm tùy chỉnh, reset để làm mới biểu mẫu, checkbox chọn nhiều lựa chọn, radio chọn duy nhất, và image để sử dụng hình ảnh làm nút tương tác.
Thẻ Textarea cho phép người dùng nhập liệu với nhiều dòng văn bản, phù hợp cho các nội dung cần nhập khẩu nhiều thông tin Tuy nhiên, thẻ này không hỗ trợ giới hạn chiều dài lớn nhất của nội dung trên trang web, cần lưu ý để phù hợp với mục đích sử dụng.
Thẻ Select cho phép người dùng chọn một hoặc nhiều phần tử trong danh sách đã được định nghĩa sẵn Nếu chọn một phần tử duy nhất, thẻ Select hoạt động giống như một combobox, giúp lựa chọn nhanh chóng và tiện lợi Trong khi đó, khi cho phép chọn nhiều phần tử cùng lúc, thẻ Select mang dạng listbox, phù hợp cho các tình huống cần chọn nhiều mục cùng lúc.
Thẻ Form cho phép gửi dữ liệu người dùng từ Client lên Server, với hai phương thức chính là POST và GET Trong một trang Web có thể có nhiều thẻ Form nhưng không được lồng ghép, mỗi thẻ form đều xác định hành động (action) riêng đến một trang đích cụ thể để xử lý dữ liệu.
1.5.2 Sơ lược về ngôn ngữ lập trình PHP:
1.5.2.1 Lịch sử ra đời và phát triển của PHP:
PHP, ngôn ngữ lập trình web phổ biến nhất hiện nay, là sự kế thừa của sản phẩm công nghệ mang tên PHP / FI, được ra đời vào những năm trước.
PHP lần đầu được phát triển vào năm 1994 bởi Rasmus Lerdorf, ban đầu là một tập hợp đơn giản các kỹ thuật CGI nhị phân viết bằng ngôn ngữ lập trình.
C Theo nguyên bản thì PHP được Rasmus sử dụng để theo dõi lượng truy cập vào đơn xin việc trực tuyến của mình, ông đặt tên cho nó là “Personal Home Page Tools” Qua nhiều năm, vì muốn ngôn ngữ này có nhiều chức năng hơn những gì ông từ mong muốn, Rasmus đã viết lại PHP Tools, viết thêm những dòng code mới để ngôn ngữ này trở nên phong phú hơn Phiên bản mới này có khả năng tương tác tốt với cơ sở dữ liệu và nhiều hơn nữa, cung cấp một Framework mà người dùngPHP có thể phát triển các ứng dụng web động đơn giản như Guestbook Trong tháng sáu năm 1995, Rasmus đã chính thức public mã nguồn này, ông cho phép các nhà phát triển phần mềm được sử dụng nó nếu họ có khả năng Điều này cũng giúp cho Rasmus có thể cải tiến PHP dựa vào những ý kiến từ người dùng.
Vào tháng Chín năm đó, Rasmus mở rộng PHP và tạm thời tên PHP ít được nhắc đến, thay vào đó là các công cụ như FI (Forms Interpreter) với những chức năng cơ bản của PHP như biến, dịch tự động biến, và cú pháp nhúng HTML Mặc dù còn hạn chế và đơn giản hơn Perl, FI vẫn tăng doanh thu và được sử dụng như một công cụ CGI, nhưng chưa được xem là một ngôn ngữ lập trình hoàn chỉnh Đến tháng Mười, 1995, Rasmus đã phát hành phiên bản mới của PHP, viết lại toàn bộ mã nguồn và đặt tên là PHP, trở thành nền tảng ngôn ngữ lập trình đầu tiên trên thế giới và được thiết kế để giống ngôn ngữ C, giúp gần gũi và dễ tiếp cận cho các nhà phát triển C, Perl và các ngôn ngữ tương tự.
Vào tháng 4 năm 1996, Rasmus đã giới thiệu PHP/FI, phiên bản đầu tiên của ngôn ngữ lập trình PHP, đánh dấu bước chuyển mình quan trọng của PHP từ một bộ công cụ sang một ngôn ngữ lập trình thực thụ PHP được phát triển nhằm hỗ trợ các cơ sở dữ liệu như DBM, mSQL, và Postgres95, cũng như quản lý cookies và các chức năng người dùng, mở rộng khả năng sử dụng trong phát triển web Đến tháng 6 cùng năm, PHP bắt đầu có những bước tiến lớn, góp phần định hình sự phát triển của ngôn ngữ này trong cộng đồng lập trình viên.
PHÂN TÍCH HỆ THỐNG
2.1.1 Các thông tin đầu ra đầu vào của hệ thống:
- Thông tin nhà cung cấp.
- Trả lời các phản hồi.
2.1.3 Biểu đồ phân cấp chức năng:
2.1.3.1 Biểu đồ phân cấp chức năng toàn hệ thống:
Hình 2.1: Biểu đồ phân cấp chức năng toàn hệ thống.
2.1.3.2 Biểu đồ phân rã chức năng “Tìm kiếm”:
Hình 2.2: Biểu đồ phân rã chức năng tìm kiếm.
2.1.3.3 Biểu đồ phân rã chức năng “Quản lý tài khoản”:
Hình 2.3: Biểu đồ phân rã chức năng quản lý tài khoản.
2.1.3.4 Biểu đồ phân rã chức năng “Mua hàng”:
Hình 2.4: Biểu đồ phân rã chức năng mua hàng.
2.1.3.5 Biểu đồ phân rã chức năng “Quản lý thành viên”:
Hình 2.5: Biểu đồ phân rã chức năng quản lý thành viên.
2.1.3.6 Biểu đồ phân rã chức năng “Quản lý hãng”:
Hình 2.6: Biểu đồ phân rã chức năng quản lý hãng.
2.1.3.7 Biểu đồ phân rã chức năng “Quản lý sản phẩm”:
Hình 2.7: Biểu đồ phân rã chức năng quản lý sản phẩm.
2.1.3.8 Biểu đồ phân rã chức năng “Quản lý tin tức”:
Hình 2.8: Biểu đồ phân rã chức năng quản lý tin tức.
2.1.3.9 Biểu đồ phân rã chức năng “Quản lý mua hàng”:
Hình 2.9: Biểu đồ phân rã chức năng quản lý mua hàng.
2.1.3.10 Biểu đồ phân rã chức năng “Quản lý thống kê, báo cáo”:
Hình 2.10: Biểu đồ phân rã chức năng quản lý thống kê, báo cao.
2.1.4 Biểu đồ luồng dữ liệu:
2.1.4.1 Biểu đồ luồng dữ liệu mức khung cảnh:
Hình 2.11: Biểu đồ luồng dữ liệu mức khung cảnh.
2.1.4.2 Biểu đồ luồng dữ liệu mức đỉnh:
Hỉnh 2.12: Biểu đồ luồng dữ liệu mức đỉnh.
2.1.4.3 Biểu đồ luồng dữ liệu mức dưới đỉnh cách chức năng:
- Biểu đồ luồng dữ liệu chức năng “Tìm kiếm”:
Hỉnh 2.13: Biểu đồ luồng dữ liệu chức năng tìm kiếm.
- Biểu đồ luồng dữ liệu chức năng “Xem sản phẩm”:
Hình 2.14: Biểu đồ luồng dữ liệu chức năng xem sản phẩm.
- Biểu đồ luồng dữ liệu chức năng “Quản lý tài khoản”:
Hình 2.15: Biểu đồ luồng dữ liệu chức năng quản lý tài khoản.
- Biểu đồ luồng dữ liệu chức năng “Mua hàng”:
Hình 2.16: Biểu đồ luồng dữ liệu chức năng mua hàng.
- Biểu đồ luồng dữ liệu chức năng “Quản lý thành viên”:
Hình 2.17: Biểu đồ luồng dữ liệu chức năng quản lý thành viên.
- Biểu đồ luồng dữ liệu chức năng “Quản lý hãng”:
Hình 2.18: Biểu đồ luồng dữ liệu chức năng quản lý hãng.
- Biểu đồ luồng dữ liệu chức năng “Quản lý sản phẩm”:
Hình 2.19: Biểu đồ luồng dữ liệu chức năng quản lý sản phẩm.
- Biểu đồ luồng dữ liệu chức năng “Quản lý tin tức”:
Hình 2.20: Biểu đồ luồng dữ liệu chức năng quản lý tin tức.
- Biểu đồ luồng dữ liệu chức năng “Quản lý mua hàng”:
Hình 2.21: Biểu đồ luồng dữ liệu chức năng quản lý mua hàng.
- Biểu đồ luồng dữ liệu chức năng “Quản lý thống kê, báo cáo”:
Hình 2.22: Biểu đồ luông dữ liệu chức năng quản lý thống kê, báo cáo.
THIẾT KẾ CƠ SỞ DỮ LIÊU
2.2.1 Mô tả các thực thể:
- admin(id_admin,name.password,email,phone,address,decntralization).
- user(id_user,username,password,email,phone,address).
- user_tmp(confirm_code, username,password, email, phone, address).
- product_category (id_category,id_admin, category_name, numberical_order, description).
- product (id_product, id_category, id_admin, product_name, cost,sale_off,guarantee, status, accessories, picture, number_product, description, detail).
- blog (id_blog, id_admin, title, short_description, description,date,picture,author).
- bill (id_bill, id_user, date, total_money, address_ship, status).
- comment_product(id_comment,id_product,name,email,comment,date)
- replay_comment_product(id_replay,id_comment,name,email,replay,date)
- slider(id_slider,slider_name,title,special,picture,description)
2.2.2 Liên kết giữa các thực thể:
Tên trường Kiểu dữ liệu
Mô tả Ràng buộc Ghi chú
1 id_admin int(11) Mã admin PRIMARY
5 phone int(11) Số điện thoại
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_user int(11) Mã user PRIMARY
2 username varchar(100) Tên user NotNull
3 password varchar(100) Mật khẩu NotNull
5 phone int(11) Số điện thoại NotNull
6 address varchar(255) Địa chỉ NotNull
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 Confirm_code varchar(65) Mã xác nhận PRIMARY
2 username varchar(100) Tên user NotNull
3 password varchar(100) Mật khẩu NotNull
5 phone int(11) Số điện thoại
6 address varchar(255) Địa chỉ NotNull
Tên trường Kiểu dữ liệu
Mô tả Ràng buộc Ghi chú
1 id_category int(11) Mã hãng PRIMARY
2 id_admin int(11) Mã admin
4 numerical_orde r int(100) Số thứ tự NotNull
5 description text Mô tả Null
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_product int(11) Mã sản phẩm PRIMARY
2 id_category int(11) Mã hãng FOREIGN KEY NotNull
3 id_admin int(11) Mã admin FOREIGN KEY NotNull
4 product_name varchar(255) Tên sản phẩm NotNull
6 sale_off int(100) Giá giảm Null
6 guarantee varchar(255) Bảo hành NotNull
7 status varchar(255) Trạng thái NotNull
8 accessories varchar(255) Phụ kiện NotNull
9 picture varchar(255) Hình ảnh NotNull
10 number_product int(100) Số lượng NotNull
11 description text Mô tả Null
12 detail text Chi tiết Null
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_blog int(11) Mã blog PRIMARY KEY NotNull
2 id_admin int(11) Mã admin FOREIGN KEY NotNull
3 title varchar(100) Tiêu đề NotNull
4 short_description text Mô tả ngắn NotNull
5 description text Mô tả Null
6 date datetime Ngày đăng NotNull
7 picture varchar(255) Hình ảnh Null
8 author varchar(100) Tác giả NotNull
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_bill int(11) Mã hóa đơn PRIMARY
2 id_user int(11) Mã user FOREIGN
3 date datetime Ngày tạo NotNull
4 total_money int(100) Tổng tiền NotNull
5 address_ship varchar(255) Địa chỉ giao hàng
6 status tinyint(1) Trạng thái NotNull
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_bil l_details int(11) Mã chi tiết hóa đơn
2 id_bill int(11) Mã hóa đơn FOREIGN
3 id_product int(11) Mã sản phẩm FOREIGN
4 quantity int(11) Số lượng NotNull
5 cost int(100) Giá sản phẩm NotNull
6 total_money int(100) Thành tiền NotNull
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_comment int(11) Mã bình luận
2 id_product int(11) Mã sản phẩm
3 name varchar(100) Tên người bình luận
5 comment text Nội dung bình luận
6 date datetime Ngày giờ bình luận
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_replay int(11) Mã trả lời bình luận
2 id_comment int(11) Mã bình luận FOREIGN
3 name varchar(100) Tên người trả lời bình luận
5 replay text Nội dung trả lời bình luận
6 date datetime Ngày giờ trả lời bình luận
Bảng 10: Bảng replay_comment_product
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_slider int(11) Mã hình slider
2 slider_name varchar(100) Tên hình slider
3 title varchar(255) Tiêu đề NotNull
4 special varchar(255) Đặc biệt NotNull
5 picture varchar(255) Hình ảnh NotNull
6 description text Mô tả Null
STT Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ghi chú
1 id_subscribe int(11) Mã hình subscribe
2.2.4 Quan hệ giữa các bảng:
Hình 2.24: Mối quan hệ giữa các bảng.
PHẦN DÀNH CHO KHÁCH HÀNG
Tại “Trang chủ” khách hàng có thể:
- Chọn một trong hai loại ngôn ngữ là Tiếng Anh và Tiếng Việt.
- Xem các sản phẩm mới nhất, các tin tức mới nhất, top sản phẩm bán chạy, top sản phẩm giảm giá
3.1.3 Trang kết quả tìm kiếm:
3.1.5 Trang danh sách tin tức:
3.1.6 Trang nội dung tin tức:
3.1.8 Trang đăng nhập và đăng ký:
3.1.10.Trang chọn hình thức thanh toán:
3.1.11.Trang thanh toán thành công:
3.1.12.Trang lịch sử mua hàng:
3.1.13.Trang thông tin tài khoản:
PHẦN DÀNH CHO ADMIN
3.2.2 Trang cơ sở dữ liệu:
3.2.3 Trang quản lý quản trị viên:
3.2.4 Trang quản lý thành viên:
3.2.7 Trang quản lý phản hồi sản phẩm:
3.2.8 Trang quản lý tin tức:
3.2.9 Trang quản lý hóa đơn:
3.2.10.Trang quản lý theo dõi:
3.2.12.Trang báo cáo thống kê: