TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG ~~~~~ ~~~~~ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài WEBSITE BÁN HÀNG ONLINE BẰNG PHP Sinh viên thực hiện ĐỖ THỊ THANH HẰNG Lớp KT ĐTTT 03 K57 LÊ THA[.]
CƠ SỞ LÝ THUYẾT
HTML và CSS
HTML, viết tắt của HyperText Markup Language, là ngôn ngữ đánh dấu siêu văn bản do Tim Berners-Lee phát minh, người sáng lập World Wide Web và chủ tịch của World Wide Web Consortium (W3C) HTML mô tả cấu trúc và thuộc tính hiển thị của văn bản trên trình duyệt Các phần tử HTML, được biểu diễn bằng thẻ, là khối xây dựng chính của các trang web; mặc dù trình duyệt không hiển thị các thẻ này, nhưng chúng đóng vai trò quan trọng trong việc hiển thị nội dung trang.
Bố cục cơ bản của HTML trên một trang web thường được chia thành 2 phần chính nằm trong cặp thẻ : là head và body
Hình 1 1 Cấu trúc của HMTL
▪ : Dùng để xác định tài liệu này thuộc dạng html cho trình duyệt biết
▪ : Là phần tử gốc, nằm ngoài cùng mỗi trang web, có nhiệm vụ bao toàn bộ nội dung của trang web
▪ : Phần mở đầu Có nhiệm vụ khai báo tất cả thông tin của trang web
▪ : Thẻ tiêu đề: Dùng để khai báo tiêu đề cho mỗi trang web Tiêu đề này sẽ hiển thị ở thanh tab trên cùng của trình duyệt
▪ : Phần nội dung Chứa tất cả nội dung sẽ hiển thị ra trên trình duyệt
▪ và
: Các thẻ định dạng văn bản
CSS (Cascading Style Sheets) : định nghĩa về cách hiển thị của một tài liệu HTML
CSS là công cụ quan trọng trong thiết kế web, cho phép các nhà thiết kế áp dụng nhanh chóng và đồng bộ các phong cách đã được định sẵn lên mọi trang của website.
Javascript
JavaScript là ngôn ngữ kịch bản được sử dụng để tạo các script cho cả máy client và máy server Các script trên máy client được thực thi trong trình duyệt, trong khi các script trên máy server được thực hiện trên server Chương này sẽ giới thiệu về ngôn ngữ JavaScript và hướng dẫn cách chèn một script vào tài liệu HTML.
HTML ban đầu được phát triển như một định dạng tài liệu để truyền dữ liệu trên Internet Tuy nhiên, trọng tâm của HTML đã chuyển từ hàn lâm sang phục vụ người dùng thường nhật, khi mà Internet trở thành nguồn thông tin và giải trí Các trang web ngày càng sáng tạo và thu hút hơn, nhưng kiểu dáng và nội dung bên trong vẫn không thay đổi, khiến người dùng không thể điều khiển trang web khi nó được hiển thị.
Javascript là một ngôn ngữ kịch bản được phát triển bởi Sun Microsystems và Netscape, nhằm giải quyết vấn đề tạo ra các trang Web động và tương tác trên Internet Đối với các nhà phát triển HTML, Javascript đóng vai trò quan trọng trong việc xây dựng các hệ thống HTML có khả năng tương tác với người dùng.
Hiệu ứng và quy tắc JavaScript
JavaScript là ngôn ngữ lập trình nhúng trong HTML, giúp tăng cường tính động và khả năng tương tác cho website Nó cho phép thực hiện các phép tính, kiểm tra form, và phát triển trò chơi, mang lại trải nghiệm người dùng phong phú hơn.
28 sung các hiệu ứng đặc biệt, tuỳ biến các chọn lựa đồ hoạ, tạo ra các mật khẩu bảo mật và hơn thế nữa
Chúng ta có thể sử dụng JavaScript để:
Tương tác với người dùng là việc viết mã để phản hồi các sự kiện, bao gồm những hành động do người dùng thực hiện như nhấp chuột, cũng như các sự kiện phát sinh từ hệ thống như thay đổi kích thước trang.
Mã JavaScript cho phép thay đổi nội dung và vị trí của các phần tử trên trang một cách linh hoạt, giúp phản hồi nhanh chóng với sự tương tác của người dùng.
Kiểm tra tính hợp lệ dữ liệu là bước quan trọng để đảm bảo thông tin người dùng nhập vào được xác thực trước khi gửi lên Web server JavaScript, giống như các ngôn ngữ lập trình khác, có những quy tắc ngữ pháp cơ bản mà người lập trình cần nắm vững Việc hiểu rõ các quy tắc này sẽ giúp bạn đọc và viết script một cách chính xác, tránh được các lỗi không mong muốn.
Một số trong các luật này bao gồm:
Dùng Caps JavaScript phân biệt chữ hoa chữ thường
Dùng Pairs Trong JavaScript, luôn luôn có cặp ký hiệu mở và đóng Lỗi sẽ xuất hiện khi bỏ sót hoặc đặt sai một trong hai ký hiệu này
Sử dụng các ký tự trắng trong JavaScript giúp cải thiện khả năng đọc và chỉnh sửa mã nguồn Tương tự như HTML, JavaScript thường bỏ qua các ký tự trắng, nhưng việc thêm vào các ký tự trắng hoặc tab sẽ làm cho các file script trở nên dễ hiểu hơn.
Dùng Chú thích (Comments) Các chú thích giúp ta ghi chú về chức năng của đoạn script, thời gian và người tạo ra đoạn script
Mặc dù client-side JavaScript và server-side JavaScript đều dựa trên cùng một ngôn ngữ, nhưng mỗi loại có những tính năng đặc thù phù hợp với môi trường hoạt động của nó Cụ thể, client-side JavaScript bao gồm các đối tượng được định nghĩa sẵn chỉ có thể sử dụng trên trình duyệt, trong khi server-side JavaScript chứa các đối tượng và hàm được định nghĩa sẵn chỉ có thể sử dụng trong các ứng dụng phía server.
Các công cụ JavaScript và IDE, và môi trường thực thi
Các công cụ sinh mã JavaScript và IDE rất hiệu quả trong việc tạo mã JavaScript, đồng thời hỗ trợ nhanh chóng trong việc phát triển website.
Một vài công cụ JavaScript và IDE được đề cập dưới đây:
Hộp thoại là công cụ tự động tạo mã cho các hộp thoại tùy biến trên nhiều trình duyệt khác nhau như alert, confirm, prompt, v.v., giúp mang lại giao diện chuyên nghiệp cho website.
Pop-up Menu builder Chỉ cần đưa vào các lựa chọn, công cụ này sẽ tự động tạo ra các pop-up menu trên các trình duyệt khác nhau
Remotes Tự động sinh mã để mở ra một cửa sổ popup
JavaScript có thể được thực thi cả trên máy khách và máy chủ Ở phía máy khách, trình duyệt sẽ chạy mã JavaScript khi người dùng mở trang web Trong khi đó, ở phía máy chủ, mã JavaScript được thực thi trực tiếp trên máy chủ.
Khi máy client yêu cầu một trang HTML, server sẽ xác định xem trang đó có chứa script hay không Nếu có các script phía client, server sẽ gửi toàn bộ tài liệu, bao gồm mã JavaScript và nội dung HTML, đến trình duyệt Trình duyệt sau đó sẽ thực thi mã HTML và JavaScript mà không cần tương tác thêm với server.
Chúng ta có thể tích hợp các lệnh JavaScript chạy trên server vào tài liệu HTML Việc phát triển ứng dụng server-side bao gồm hai giai đoạn chính.
HTML pages that include both client-side and server-side JavaScript commands are generated alongside JavaScript files All these files are compiled into executable bytecode.
Khi trình duyệt yêu cầu trang HTML, run-time engine sẽ thực thi mã lệnh server-side JavaScript rồi trả trang HTML về cho trình duyệt
Một số công dụng của script server-side bao gồm:
− Kết nối vào các cơ sở dữ liệu
− Chia sẻ thông tin cho những người dùng của một ứng dụng
− Truy cập vào hệ thống file trên server
Nhúng JavaScript vào trong trang Web
Chúng ta có thẻ chèn các lệnh JavaScritp vào trong một tài liệu HTML theo những cách sau đây:
Tìm hiểu ngôn ngữ PHP
Để có kiến thức nền tảng cho việc lập trình một website thực tế, chương này sẽ giúp chúng ta giải quyết được việc này
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm 1994
PHP, viết tắt của "PHP: Hypertext Preprocessor", là một ngôn ngữ kịch bản nhúng trong HTML, cho phép mã PHP được tích hợp vào trang HTML Là một công nghệ phía máy chủ, PHP thực hiện mọi thao tác trên máy chủ và có khả năng hoạt động trên nhiều hệ điều hành khác nhau như Windows và Unix Tính không phụ thuộc vào môi trường của PHP cho phép mã kịch bản chạy trên các máy chủ khác mà không cần chỉnh sửa nhiều, điều này làm cho PHP trở thành một lựa chọn phổ biến trong môi trường chuyên nghiệp.
Khi sử dụng ngôn ngữ PHP, cần đảm bảo rằng tất cả các quá trình xử lý thông tin trên trang web được thực hiện, sau đó kết quả sẽ được xuất ra dưới dạng ngôn ngữ HTML PHP khác với các ngôn ngữ lập trình khác ở chỗ nó được thiết kế để thực hiện các tác vụ chỉ sau 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 truy cập vào một URL.
1.3.2 Tại sao nên dùng PHP Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, PHP, Java, Perl và một số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những lí do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và chính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lập trình viên chuyên nghiệp, mọi ý tuởng của các bạn PHP có thể đáp ứng một cách xuất sắc Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website
1.3.3 Giới thiệu về ngôn ngữ PHP
PHP là ngôn ngữ lập trình phía máy chủ, nơi mã lệnh PHP được xử lý trên máy chủ để phục vụ các trang web theo yêu cầu của người dùng qua trình duyệt Khi người dùng truy cập vào một website sử dụng PHP, máy chủ sẽ đọc và thực thi mã lệnh PHP theo các hướng dẫn đã được mã hóa Kết quả là máy chủ gửi dữ liệu thích hợp, thường là mã lệnh HTML, đến trình duyệt, và trình duyệt hiển thị nó như một trang HTML tiêu chuẩn.
32 nhúng mã PHP và có phần mở rộng là HTML Phần mở của PHP được đặt trong thẻ mở
Khi trình duyệt truy cập vào một trang PHP, Server sẽ đọc nội dung file PHP, thực thi các đoạn mã PHP và thay thế chúng bằng kết quả nhận được Cuối cùng, Server trả về một trang HTML cho trình duyệt Các loại thẻ PHP được sử dụng để xác định các đoạn mã cần thực thi.
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
• Kiểu Short: Thẻ mặc định mà các nhà lập trình PHP thường sử dụng
Ví dụ:
• Kiều đinh dạng XML: Thẻ này có thể sử dụng với văn bản định dạng XML
Ví dụ:
• Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự khai báo JavaScipt hay VBScript:
Ví dụ: echo “Php Script”;
• Kiểu ASP: Trong trường hợp bạn khai báo thẻ PHP như một phần trong trang ASP
Ví dụ:
PHP và HTML không nhạy cảm với khoảng trắng, cho phép người dùng thêm khoảng trắng xung quanh mã lệnh để tăng tính rõ ràng Tuy nhiên, chỉ có khoảng trắng đơn ảnh hưởng đến cách hiển thị trang web, vì nhiều khoảng trắng liên tiếp sẽ chỉ được thể hiện như một khoảng trắng đơn.
Dữ liệu đến từ Script đều là biến PHP, bạn có thể nhận biết chúng bằng cách sử dụng dấu $ trước tên biến
• Số nguyên: Được khai báo và sử dụng giá trị giống với C
• Xâu: Có hai cách để xác định 1 xâu: Đặt giữa 2 dấu ngoặc kép (“ ”) hoặc giữa 2 dấu ngoặc (‘ ’)
Mảng bao gồm hai bảng chính: bảng chỉ số và bảng liên kết Đối với mảng một chiều, bạn có thể sử dụng hàm List() hoặc Array() và áp dụng các hàm như aort(), ksort(), sort(), uaort() để sắp xếp mảng theo nhu cầu Mảng hai chiều cũng có những đặc điểm riêng biệt cần lưu ý.
PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một chữ cái hoặc dấu gạch dưới
Một số biến đã được khai báo sẵn trong PHP bao gồm HTTP_GET_VARS, HTTP_POST_VARS và HTTP_COOKIE_VARS HTTP_GET_VARS là mảng chứa các giá trị được truyền tới script qua phương thức HTTP GET, có hiệu lực khi cấu hình "track_vars" được đặt Tương tự, HTTP_POST_VARS chứa các giá trị truyền qua phương thức HTTP POST, trong khi HTTP_COOKIE_VARS là mảng các giá trị được gửi tới script thông qua HTTP cookie, cũng chỉ có tác dụng khi "track_vars" được cấu hình.
Trong PHP, một biến có giới hạn giá trị và để sử dụng biến toàn cục trong một hàm, cần phải khai báo lại biến đó Nếu không có khai báo global, biến sẽ được coi là cục bộ trong hàm Khi khai báo global, các biến như \$a và \$b sẽ được nhận diện là biến toàn cục, còn nếu không, chúng chỉ được xem là biến bên trong hàm Sum().
• Tên biến Một biến có thể gắn với một cái tên
Ví dụ: $a= “chao”; $$a= “cacban”; $Chao= “cacban” Và echo”$a${chao}”; Kết quả sẽ là “chaocacban”
1.3.3.4 Các giá trị bên ngoài phạm vi PHP: HTML Form:
Khi 1 giá trị gắn với 1 file php qua phương thức POST
Ví dụ:
Name: < input type = “text” name = “name” >
PHP tạo biến \$name từ các giá trị trong trường Name của Form, cho phép hiểu mảng một chiều của các giá trị Điều này giúp nhóm các giá trị liên quan hoặc nhận giá trị từ đầu vào tùy chọn Khi tính chất track_vars được kích hoạt, các giá trị được gửi sẽ được truy xuất qua phương thức GET và POST từ hai mảng toàn cục \$HTTP_POST_VARS và \$HTTP_GET_VARS.
PHP định nghĩa sẳn các hằng số: _FILE_:
Tên của script file đang thực hiện _LINE_: Số dòng của mã script đang được thực hiện trong script file hiện tại
- _PHP_VERSION_: version của PHP đang chạy
- TRUE FALSE E_ERROR: Báo hiệu có lỗi E_PARSE: Báo lỗi sai khi biên dịch
- E_NOTICE: Một vài sự kiện có thể là lỗi hoặc không
Có thể định nghĩa một hằng số bằng hàm define()
1.3.3.6 Biểu thức Biểu thức là một thành phần quan trọng trong PHP
Biểu thức cơ bản nhất bao gồm các biến và hằng số, với PHP hỗ trợ ba kiểu giá trị chính: số nguyên, số thực và xâu Bên cạnh đó, PHP còn cung cấp mảng và đối tượng, cho phép gán các kiểu giá trị này cho biến hoặc sử dụng làm giá trị trả về của các hàm.
Các lệnh điều kiện và toán tử: Mỗi câu lệnh điều kiện bao gồm một mệnh đề if:
{ //thực hiện một điều gì đó } Điều kiện này có thể được mở rộng thành:
{ //thực hiện một điều gì đó } else
{ //thực hiện một điều khác }
{ //thực hiện một điều gì đó } elseif (điều kiện 2)
{ //thực hiện một điều khác } else
{ //thực hiện một điều khác nữa }
Các toán tử thường được sử dụng với câu lệnh điều kiện
Ký hiệu Ý nghĩa Dạng Ví dụ
= Được gán giá trị Gán $n = 1
= $y
Câu lệnh điều kiện Switch trong PHP là một lựa chọn hiệu quả để thay thế cho các câu lệnh if-elseif-else dài dòng Cú pháp của câu lệnh Switch được định nghĩa như sau: Switch(\$variable) {
Case ‘giá trị 1’: //thực hiện lệnh Break;
Case ‘giá trị 2’: //thực hiện lệnh Break;
Vòng lặp While cho phép thực thi khối lệnh trong While cho đến điều kiện của While là True như cú pháp:
- Condition:Biểu thức điều kiện, biến,
- Expression:Khối lệnh trong vòng lặp while
- Condition: điều kiện giới hạn của vòng lặp for
- Expression1: Giá trị khởi đầu của vòng lặp for
- Expression2: Giá trị lặp của vòng lặp for
- Expression3: Khối lệnh bên trong của vòng lặp for
- Expression: khối lệnh bên trong vòng lặp do while
- Condition: biểu thức điều kiện, biến
Trong đó: Biểu thức điều kiện, biến
- Expression: Khối lệnh bên trong vòng lặp while
- Exit:Thoát khỏi các vòng lặp hay phát biểu điều khiển nào đó
Dùng giống với C++ Ngoại trừ bạn không cần phải khai báo kiểu cho tham số của hàm:
Ví dụ: function takes_array($input) { echo “$input[0] + $input[1] = “, $input[0]+$input[1];
• Tham biến: Function add_some_extra (&$string) {
• Tham số có giá trị mặc định Function makecoffee($type = “cappucino”) {
Return “Making a cup of $type n”;
} Chú ý: Khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽ phải nằm về phía phải nhất trong danh sách đối số
Giá trị trả về của hàm có thể là bất kỳ giá trị nào, nhưng không thể trả lại nhiều giá trị riêng lẻ Thay vào đó, hàm có thể trả về một mảng các giá trị.
Hàm biến trong PHP cho phép gọi hàm theo tên được lưu trong biến Khi một biến được sử dụng kèm theo dấu ngoặc đơn, PHP sẽ tìm và thực thi hàm có tên tương ứng với giá trị của biến đó.
Các toán tử logic: And, or, xor: &&, ||, !
Toán tử thao tác với bít: &, |, ^, ~,
Toán tử so sánh: ==, !=, , =, ==Toán tử điều khiển lỗi: @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức sẽ bị bỏ qua và lưu trong $PHP_errormsg
Toán tử thực thi: “PHP sẽ thực hiện nội dung nằm giữa 2 dấu “ như 1 lệnh shell Trả ra giá trị là kết quả thực hiện lệnh
Class: là tập hợp các biến và hàm làm việc với các biến này Một lớp có định dạng như sau:
Var $items; Function add_item($a)
Lớp Cart ở đây là một kiểu dữ liệu
Tham chiếu trong PHP cho phép nhiều tên biến khác nhau trỏ đến cùng một giá trị Khác với con trỏ trong C, tham chiếu trong PHP là một bảng các bí danh Cần lưu ý rằng tên biến và nội dung của các biến trong PHP là khác nhau, do đó, một nội dung có thể được gán cho nhiều tên biến khác nhau.
Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung
MySQL và PHP
Connecting to a MySQL Server database is straightforward You simply need to use the function: `mysql_connect(host, user, password)` to establish a connection to the MySQL Server.
Giá trị trả về của hàm được giả sử là biến \$dbname Để thực hiện một câu lệnh truy vấn, sử dụng hàm \$mysql\_select\_db(dbname, \$link) và sau đó dùng hàm \$mysql\_query(query, \$link).
Giá trị trả về của hàm là kết quả của truy vấn, và nếu không có link, kết nối cuối cùng tới máy chủ MySQL sẽ được thực hiện Để lấy kết quả thực hiện, có thể sử dụng các hàm như mysql_result(), mysql_fetch_row(), mysql_fetch_array() và mysql_fetch_object().
Hàm mysql_fetch_row() trả về một mảng chứa dữ liệu từ một dòng trong cơ sở dữ liệu Nếu đã đến cuối cơ sở dữ liệu, hàm sẽ trả về giá trị false Để lấy dữ liệu, bạn cần sử dụng chỉ số của các trường trong cơ sở dữ liệu.
Hàm mysql_fetch_array(int result[, int result_type]) trả về một mảng chứa dữ liệu từ một dòng trong cơ sở dữ liệu, cho phép bạn lấy thêm trường dữ liệu so với hàm mysql_fetch_row().
• Mysql_fetch_object: Chuyển kết quả thành một đối tượng với các trường là các trường trong cơ sở dữ liệu.
Cơ sở dữ liệu MYSQL
1.5.1 Giới thiệu cơ sở dữ liệu
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay và thường được sử dụng kết hợp với PHP Trước khi bắt đầu làm việc với MySQL, cần xác định rõ nhu cầu của ứng dụng MySQL cung cấp giao diện trên cả Windows và Linux, cho phép người dùng thực hiện các thao tác liên quan Việc tìm hiểu từng công nghệ trước khi viết mã PHP là rất quan trọng, vì sự tích hợp giữa PHP và MySQL là cần thiết cho sự phát triển ứng dụng.
1.5.2 Mục đích sử dụng cơ sở dữ liệu:
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage), truy cập (accessibility), tổ chức (organization) và xử lí (manipulation)
Lưu trữ dữ liệu có thể thực hiện trên đĩa và cho phép chuyển đổi giữa các cơ sở dữ liệu khác nhau Đối với quy mô nhỏ, bạn có thể lựa chọn các cơ sở dữ liệu như Microsoft Excel, Microsoft Access, MySQL, hoặc Microsoft Visual FoxPro.
40 dụng có quy mô lớn, bạn có thể chọn cơ sở dữ liệu có quy mô lớn như :Oracle, SQL Server,
Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng Ở mức độ cục bộ, người dùng có thể truy cập cơ sở dữ liệu để trao đổi và xử lý dữ liệu Tuy nhiên, khi nhu cầu vượt ra ngoài cơ sở dữ liệu, cần có các phương thức truy cập dữ liệu giữa các cơ sở dữ liệu khác nhau, chẳng hạn như Microsoft Access với SQL Server hoặc SQL Server với cơ sở dữ liệu Oracle.
Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình, phân tích và thiết kế riêng của từng ứng dụng Để tối ưu hóa việc truy cập và xử lý, cần tuân thủ các tiêu chuẩn của hệ thống cơ sở dữ liệu.
Để xử lý dữ liệu trong cơ sở dữ liệu, cần sử dụng các phát biểu truy vấn và phép toán phù hợp với nhu cầu tính toán và truy vấn khác nhau Các ngôn ngữ lập trình như PHP, C++, Java và Visual Basic thường được sử dụng để thao tác và xử lý dữ liệu bên trong cơ sở dữ liệu.
Laravel
Laravel là một framework PHP mã nguồn mở miễn phí, được phát triển bởi Taylor Otwell, nhằm hỗ trợ phát triển ứng dụng web theo cấu trúc model-view-controller (MVC) Nó nổi bật với cú pháp dễ hiểu, hệ thống đóng gói modular và quản lý gói phụ thuộc, cùng với nhiều phương thức truy cập cơ sở dữ liệu quan hệ và tiện ích hỗ trợ bảo trì ứng dụng.
Laravel được phát triển dựa trên mô hình MVC (Model-View-Controller), giúp tổ chức và sắp xếp mã nguồn trong dự án một cách hợp lý, dễ dàng cho việc bảo trì và phát triển lâu dài.
Mô hình MVC là viết tắt của Model – View- Controller Trong đó Controller chính là trái tim của ứng dụng
Mô hình có vai trò quan trọng trong việc tương tác với cơ sở dữ liệu, bao gồm tất cả các hàm và phương thức truy vấn dữ liệu Controller sẽ sử dụng các hàm và phương thức này để lấy dữ liệu và chuyển tiếp đến View.
View có nhiệm vụ nhận dữ liệu từ controller và hiển thị nội dung dưới dạng mã HTML, thường được gọi là thành phần giao diện.
Controller đóng vai trò trung gian giữa Model và View, tiếp nhận yêu cầu từ client, xử lý request, tải model tương ứng và gửi dữ liệu qua view để trả kết quả về cho client.
Sự tương tác giữa các thành phần
• Controller tương tác với qua lại với View
• Controller tương tác qua lại với Model
• Model và View không có sự tương tác với nhau mà nó tương tác với nhau thông qua Controller
Hình 1 2 Mô hình hoạt động MVC
Kịch bản 1: Người dùng chỉ gửi yêu cầu chuyển từ trang hiện tại sang một trang khác của web không có yêu cầu về dữ liệu
Khi lập trình viên thực hiện việc chuyển hướng (redirect) trong Controller, luồng hoạt động sẽ diễn ra theo thứ tự 1 → 3 → 11 Lúc này, yêu cầu (request) được gửi từ trình duyệt (Browser) đến Route, nơi xác định cách xử lý các yêu cầu, có thể là trực tiếp tại Route hoặc tại một Controller cụ thể.
Khi lập trình viên thực hiện việc chuyển hướng trang trực tiếp tại Route, quá trình hoạt động diễn ra như sau: yêu cầu chuyển trang sẽ được xử lý ngay tại Route mà không cần phải gọi đến Controller.
Kịch bản 2: Người dùng gửi 1 request redirect về 1 trang khác của web có trả về dữ liệu (ví dụ như xem danh sách các Tour đã đặt)
Luồng hoạt động của hệ thống diễn ra theo trình tự: 1 → 3 → 4 → 6 → 5 → 8 → 10 → 9 → 11 Khi một yêu cầu được gửi đến Route, nó sẽ được chuyển đến Controller để xử lý Tại đây, Controller tương tác với Model để truy xuất dữ liệu cần thiết Model sẽ kết nối với Database để lấy dữ liệu, sau đó trả về cho Controller Controller tiếp tục gọi View tương ứng với yêu cầu và truyền dữ liệu cho View View sẽ xử lý dữ liệu và tạo ra HTML, gửi lại cho Controller Cuối cùng, Controller sẽ trả kết quả về trình duyệt.
Kịch bản 3: Người dùng chỉ yêu cầu dữ liệu nhưng không chuyển trang
Luồng hoạt động của hệ thống diễn ra theo thứ tự: 1 → 3 → 4 → 6 → 5 → 8 → 11 Trong kịch bản 2, mặc dù thứ tự xử lý tương tự, nhưng khi Controller nhận được dữ liệu trả về, nó sẽ không gọi đến View mà sẽ trả về phản hồi cho trình duyệt thông qua API, với dữ liệu thường ở định dạng JSON.
=> Trên đây là 1 số kịch bản thường xảy ra với request ở client gửi lên Server và được xử lý theo mô hình MVC Ưu điểm MVC
• Trình tự xử lý rất rõ ràng
Mô hình MVC phân chia các lớp và hàm thành ba thành phần riêng biệt: Controller, Model và View Sự phân chia này giúp quá trình phát triển, quản lý, vận hành và bảo trì website trở nên dễ dàng hơn, đồng thời cho phép tạo ra các chức năng chuyên biệt và kiểm soát luồng xử lý hiệu quả.
• Tạo mô hình chuẩn cho dự án, khi người có chuyên môn ngoài dự án tiếp cận với dự án dễ dàng hơn
• Mô hình đơn giản, dễ hiểu, xử lý những nghiệp vụ đơn giản, và dễ dàng triển khai với các dự án nhỏ
Nhược điểm mô hình MVC
• Đối với các dự án có tính phức tạp cao thì mô hình MVC trở nên không khả dụng.
Kết luận chương
Chương này giới thiệu khái niệm và các vấn đề cơ bản trong thiết kế website thương mại điện tử theo mô hình MVC với Framework Laravel, đồng thời đề xuất một số giải pháp và cơ sở lý thuyết cho việc xây dựng website thương mại điện tử.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu đề tài
Hệ thống bán hàng trực tuyến cung cấp cho người dùng và nhà quản lý các chức năng cần thiết để thực hiện giao dịch và quản lý hoạt động của cửa hàng Đối với khách hàng, hệ thống cho phép họ tìm kiếm, xem thông tin sản phẩm trên website, cũng như thực hiện đặt hàng và mua sắm một cách thuận tiện.
Khi khách hàng muốn mua sản phẩm, bước đầu tiên là tìm kiếm thông tin liên quan Họ có thể nhanh chóng tìm thấy sản phẩm bằng cách nhập tên sản phẩm mà họ quan tâm.
Khi bạn nhập thông tin tìm kiếm và nhấn nút “Tìm kiếm”, nếu thông tin đó có trong cơ sở dữ liệu, kết quả sẽ được hiển thị trên giao diện.
Khi bạn nhập thông tin tìm kiếm và nhấn nút tìm kiếm, nếu thông tin không có trong cơ sở dữ liệu, hệ thống sẽ thông báo “Không có sản phẩm nào được tìm thấy”.
Chức năng này cho phép người dùng thực hiện việc mua sắm sản phẩm trực tiếp trên website chính thức của cửa hàng Để hoàn tất giao dịch, người dùng cần cung cấp một số thông tin cần thiết khi thực hiện mua hàng.
Sau đó gửi đơn đăt hàng Xử lý:
Khi người dùng muốn đặt hàng, họ cần truy cập vào giỏ hàng để chọn sản phẩm mong muốn và điền đầy đủ thông tin cần thiết Hệ thống sẽ tiến hành kiểm tra các thông tin mà người dùng đã nhập.
45 dùng vừa nhập vào Nếu thông tin nhập vào không đầy đủ hệ thống hiển thị thông báo
“Thông tin về đơn hàng không hợp lệ” Ngược lại, hệ thống thông báo “Bạn đã đặt hàng thành công”
• Trong quá trình tạo lập đơn hàng người dùng có thể sửa hoặc xóa thông tin giỏ hàng đã chọn
• Khi người dùng đã tạo lập đơn hàng thành công, thông tin về đơn hàng sẽ được lưu vào CSDL
• Người dùng có thể hủy đơn hàng mình vừa tạo bằng cách nhấn nút “Hủy bỏ” 2.1.1.3 Liên hệ
Khách hàng có thể gửi phản hồi về sản phẩm và dịch vụ của nhân viên thông qua chức năng liên hệ của cửa hàng.
• Khách hàng cần đăng nhập vào hệ thống trước khi sử dụng chức năng này
Khách hàng có thể nhập tiêu đề và nội dung ý kiến của mình, sau đó nhấn nút “Gửi” để phản hồi về cửa hàng Nếu thông tin đầy đủ, hệ thống sẽ thông báo “Bạn đã gửi phản hồi thành công” Ngược lại, nếu thông tin chưa đầy đủ, hệ thống sẽ yêu cầu “Bạn hãy nhập đầy đủ thông tin”.
Chức năng này cho phép người quản lý truy cập vào hệ thống để quản lý thông tin, yêu cầu thông tin đăng nhập bao gồm tên đăng nhập và mật khẩu.
Sau khi người quản lý nhấn nút “Đăng nhập”, nếu thông tin không chính xác, hệ thống sẽ hiển thị thông báo lỗi Ngược lại, nếu thông tin đúng, hệ thống sẽ thông báo “Đăng nhập thành công” và chuyển đến trang quản lý.
• Sau khi đăng nhập thành công người quản lý được phép thực hiện các công việc quản lý thông tin
Các thông tin sản phẩm bao gồm: tên sản phẩm, loại sản phầm, miêu tả sản phẩm, hình ảnh, giá, số lượng
Khi có sản phẩm mới, người quản lý cần nhập thông tin sản phẩm vào cơ sở dữ liệu Các thông tin này sẽ được lưu trữ trong CSDL để đảm bảo quản lý hiệu quả.
Khi người quản trị hoàn tất việc nhập thông tin, hệ thống sẽ tiến hành kiểm tra tính hợp lệ của dữ liệu trước khi cập nhật vào cơ sở dữ liệu (CSDL) Nếu thông tin không hợp lệ, hệ thống sẽ từ chối nhập và thông báo “Thông tin không hợp lệ” kèm theo chi tiết về thông tin sai Ngược lại, nếu thông tin hợp lệ, hệ thống sẽ thông báo “Thêm thành công”.
Mỗi sản phẩm trong cơ sở dữ liệu (CSDL) sẽ được gán một mã riêng biệt để phân biệt và quản lý hiệu quả Sau mỗi lần cập nhật thông tin sản phẩm, mã sản phẩm sẽ tự động tăng lên.
• Thông tin về sản phẩm sẽ được lưu vào CSDL
Chức năng này được thực hiện khi thông tin của sản phẩm đã có trong CSDL
• Khi thông tin về sản phẩm bị thay đổi (giá bán, chức năng …) nhà quản lý cần sửa lại thông tin và lưu thông tin đó vào CSDL
Trong quá trình sửa thông tin sản phẩm, người quản lý chọn sản phẩm cần chỉnh sửa, cập nhật thông tin và nhấn nút “Sửa” Hệ thống sẽ kiểm tra tính hợp lệ của thông tin mới; nếu hợp lệ, thông báo “Sửa thành công” sẽ được hiển thị và kết quả là bảng thông tin sản phẩm đã được cập nhật.
Khi một sản phẩm không còn được dự kiến bán trên thị trường, người quản lý cần xóa thông tin sản phẩm đó Để thực hiện việc xóa, người quản lý chọn sản phẩm cần xóa và nhấn nút “Xóa” trên giao diện Hệ thống cho phép xóa nhiều sản phẩm cùng lúc, và sau khi hoàn tất, một bảng kết quả mới sẽ được hiển thị.
Phân tích thiết kế hệ thống
Sau khi khảo sát hiện trạng em nắm bắt được những thông tin sau:
Mỗi mặt hàng được quản lý với các thông tin quan trọng như tên, đơn giá, số lượng, hình ảnh và mô tả Quá trình đặt hàng bắt đầu khi khách hàng xem và chọn mặt hàng cần mua, trong đó bộ phận bán hàng sẽ trực tiếp hỗ trợ và hướng dẫn khách hàng Sau khi khách hàng hoàn tất lựa chọn, bộ phận bán hàng sẽ lập đơn đặt hàng và tiếp nhận yêu cầu, sau đó tiến hành làm hóa đơn và thực hiện thanh toán.
Sau khi nhận yêu cầu từ cửa hàng, nhà cung cấp sẽ giao hàng kèm theo hóa đơn hoặc bảng chi tiết mặt hàng Thủ kho có trách nhiệm kiểm tra lô hàng và nếu phát hiện hàng hóa không đúng yêu cầu hoặc kém chất lượng, sẽ trả lại cho nhà cung cấp và yêu cầu giao lại Tiếp theo, thủ kho sẽ kiểm tra chứng từ giao hàng để xác định giá trị thành tiền cho từng sản phẩm, đồng thời cấp mã số và cập nhật giá bán Cuối cùng, sau khi hoàn tất nhập chứng từ, nhân viên nhập kho sẽ in phiếu nhập để lưu trữ trong hồ sơ.
Hệ thống được xây dựng nhằm phục vụ hai đối tượng chính: khách hàng và nhà quản lý, dựa trên quá trình thực hiện đã nêu.
Khách hàng là người có nhu cầu mua sắm hàng hóa, và khác với việc đặt hàng trực tiếp tại cửa hàng, họ phải tự thao tác qua từng bước để thực hiện giao dịch Trên mạng, các mặt hàng được phân loại rõ ràng, giúp khách hàng dễ dàng tìm kiếm Khi chọn một sản phẩm từ danh mục, thông tin chi tiết như hình ảnh, đơn giá và mô tả sẽ hiển thị, cùng với liên kết để thêm hàng vào giỏ hàng điện tử Giỏ hàng này chứa thông tin về hàng hóa và số lượng mà khách mua, được cập nhật liên tục Khi khách hàng quyết định đặt hàng, hệ thống sẽ hiển thị trang xác lập đơn đặt hàng với thông tin của khách và hàng hóa, và cuối cùng, khách hàng có quyền lựa chọn đặt hàng hay không.
Nhà quản lý là người đứng đầu hệ thống, có quyền kiểm soát toàn bộ hoạt động của nó Họ được cấp một tên đăng nhập và mật khẩu để truy cập vào hệ thống và thực hiện các chức năng cần thiết.
Sau khi đăng nhập thành công, quản lý có thể thực hiện các công việc như cập nhật thông tin mặt hàng, tiếp nhận, kiểm tra và xử lý đơn đặt hàng Khi cần nhập hàng từ nhà cung cấp, quản lý sẽ liên lạc để đặt hàng và cập nhật thông tin vào cơ sở dữ liệu.
Dựa vào mô tả hệ thống, ta xác định được các tác nhân :
Khách hàng là tác nhân chính ảnh hưởng đến hệ thống, họ sử dụng website của cửa hàng để thực hiện các giao dịch Chức năng của khách hàng bao gồm việc tương tác trực tiếp với hệ thống để hoàn tất các giao dịch mua sắm.
- Thêm sản phẩm vào giỏ hàng
• Người quản trị website có các chức năng:
- Sửa thông tin sản phẩm
• Website: tác nhân ngoài có chức năng
- Thông tin các giao dịch của khách hàng
- Hiển thị và thực thi các yêu cầu giao dịch của khách hàng
- Hiển thị thông tin về sản phẩm
- Hiển thị thông tin liên hệ
- Xác định các ca sử dụng của website
- Thêm sản phẩm vào giỏ hàng
- Xóa sản phẩm ra khỏi giỏ hàng
2.2.3 Đặc tả các trường hợp sử dụng
❖ Ca sử dụng đăng nhập
• Tên ca sử dụng: Đăng nhập
• Mục đích: Mô tả cách quản trị hệ thống đăng nhập vào hệ thống để thực thi các nhiệm vụ cho website
• Tác nhận: Quản trị hệ thống
• Các luông sự kiện chính
- Ca sử dụng bắt đầu khi ngưởi quản trị đăng nhập vào hệ thống
- Hệ thống kiểm tra tính hợp lệ của thông tin mà người quản trị hệ thống nhập vào Nếu thông tin nhập vào không hợp lệ thực hiện luồng A1
- Hệ thống ghi lại quá trình đăng nhập
- Luồng A1: Thông tin đưa vào không hợp lệ
- Hệ thống thông báo cho người dùng biết thông tin đó không hợp lệ
- Yêu cầu người dùng nhập lại
Nếu việc đăng nhập thành công, người quản trị hệ thống có thể thực hiện được các thao tác quản lý với hệ thống
❖ Ca sử dụng thêm sản phẩm
• Tên ca sử dụng: Thêm sản phẩm
• Mục đích: Mô tả cách mà quản trị hệ thống thêm sản phẩm vào các danh mục sản phẩm
• Tác nhân: Quản trị hệ thống b Các luồng sự kiện
- Sau khi đăng nhập thành công quản trị hệ thống có thể thực hiện các chức năng
- Ca sử dụng bắt đầu khi quản trị hệ thống lựa chọn chức năng thêm sản phẩm
- Hệ thống yêu cầu quản trị hệ thống nhập mã sản phẩm, tên sản phẩm, thông tin sản phẩm cần thêm
- Quản trị hệ thống nhập thông tin sản phẩm
- Hệ thống kiểm tra mã sản phẩm mà quản trị hệ thống nhập vào có hợp lệ hay không, nếu không hợp lệ thì thực hiện luồng A1
- Hệ thống hiển thị thông tin quản trị hệ thống vừa nhập vào
Quản trị hệ thống có thể nhấn “OK” để thêm sản phẩm, hoặc chọn "Cancel" nếu thông tin hiển thị không khớp với dữ liệu đã nhập.
- Luồng A1 : Mã sản phẩm nhập vào đã tồn tại
- Hệ thống hiển thị thông báo cho quản trị biết, quản trị có thể nhập lại thông tin hoặc ấn nút “Thoát ” để hủy bỏ việc thêm
❖ Ca sử dụng cập nhật sản phẩm
• Tên ca sử dụng: Sửa sản phẩm
• Mục đích: Mô tả cách mà quản trị hệ thống sửa sản phẩm trong các danh mục sản phẩm
• Tác nhân: Quản trị hệ thống
- Sau khi đăng nhập thành công quản trị hệ thống có thể thực hiện các chức năng
- Ca sử dụng bắt đầu khi quản trị hệ thống lựa chọn chức năng sửa sản phẩm
- Hệ thống yêu cầu quản trị hệ thống nhập mã sản phẩm, tên sản phẩm, thông tin sản phẩm cần sửa
- Quản trị hệ thống nhập thông tin sản phẩm
- Hệ thống kiểm tra mã sản phẩm mà quản trị hệ thống nhập vào có hợp lệ hay không, nếu không hợp lệ thì thực hiện luồng A1
- Hệ thống hiển thị thông tin quản trị hệ thống vừa nhập vào
Quản trị hệ thống có thể nhấn “OK” để sửa sản phẩm, hoặc chọn "Cancel" nếu thông tin hiển thị không đúng với dữ liệu đã nhập.
- Luồng A1 : Mã sản phẩm nhập vào đã tồn tại
- Hệ thống hiển thị thông báo cho quản trị biết, quản trị có thể nhập lại thông tin hoặc ấn nút “Thoát ” để hủy bỏ việc thêm
❖ Ca sử dụng xóa sản phẩm
• Tên ca sử dụng: Xóa sản phẩm
• Mục đích: Mô tả cách mà quản trị hệ thống xóa sản phẩm trong các danh mục sản phẩm
• Tác nhân: Quản trị hệ thống
- Sau khi đăng nhập thành công quản trị hệ thống có thể thực hiện các chức năng
- Ca sử dụng bắt đầu khi quản trị hệ thống lựa chọn chức năng xóa sản phẩm
Hệ thống yêu cầu quản trị hệ thống nhập mã sản phẩm cần xóa
- Quản trị hệ thống nhập mã sản phẩm
- Hệ thống kiểm tra mã sản phẩm mà quản trị hệ thống nhập vào có hợp lệ hay không, nếu không hợp lệ thì thực hiện luồng A1
- Hệ thống hiển thị mã sản phẩm và các thông tin liên quan đến sản phẩm quản trị hệ thống vừa nhập vào
- Quản trị hệ thống ấn “OK ” để thực hiện xóa sản phẩm.hoặc ấn "Cancel" nếu quản trị hệ thống không muốn xóa sản phẩm đó
- Luồng A1 : Mã sản phẩm nhập vào không tồn tại
- Hệ thống hiển thị thông báo cho quản trị biết, quản trị có thể nhập lại thông tin hoặc ấn nút “Thoát ” để hủy bỏ việc xóa
❖ Ca sử dụng thêm hàng vào giỏ
• Tên ca sử dụng: Thêm hàng vào giỏ
• Mục đích: Mô tả cách khách hàng thêm sản phẩm vào giỏ hàng của mình để có thể mua được sản phẩm
- Ca sử dụng bắt đầu khi khách hàng nhấp vào nút đặt mua Hệ thống sẽ tự động thêm sản phẩm đó vào trong giỏ hàng
- Hệ thống hiển thị giỏ hàng
Hệ thống hiển thị các sản phẩm
- Hệ thống yêu cầu khách hàng điền số lượng
- Khách hàng cập nhật sản phẩm
- Hệ thống kiểm tra xem hàng còn trong kho không Nếu không còn hệ thống thực hiện luồng A3
- Luồng A3: Nếu hàng trong kho không còn đúng số lượng mà khách hàng yêu cầu
- Hệ thống thông báo cho khách hàng biết hàng trong kho không đủ
- Yêu cầu khách hàng thêm sản phẩm khác
2.2.4 Biểu đồ trường hợp sử dụng (USE CASE) Đăng nhập với tài khoản quản trị viên
Khi người dùng đăng nhập với vai trò quản trị viên, người dùng sẽ có các trường hợp sử dụng sau:
Hình 2 1 Sơ đồ phân quyền Admin Đối với khách hàng
Hình 2 2 Sơ đồ khách hàng
Thiết kế cơ sở dữ liệu là yếu tố quan trọng không thể thiếu để xây dựng một hệ thống hiệu quả Việc thiết kế cần phải hợp lý và đáp ứng đúng yêu cầu của hệ thống Chương này sẽ trình bày cách thức xây dựng một hệ thống cơ sở dữ liệu phục vụ cho thiết kế.
Name Type Null Chú thích
ID Increments No Mã users
Name String No Tên users
Phone String No Số điện thoại
Password String No Mật khẩu
Avatar String No Ảnh đại diện
Role Integer No Phân quyền
Bảng 2 1 Bảng Users 2.2.6 Bảng loại sản phẩm
Name Type Null Chú thích
ID Increments No Mã loại sản pẩm
Name String No Tên đầy đủ loại sản phẩm
Name slug String No Tên không dấu
Description Text No Mô tả loại sản phẩm
Bảng 2 2 Bảng phân loại sản phẩm
Name Type Null Chú thích
ID Increments No Mã sản phẩn
Name String No Tên sản phẩm
Name slug String No Tên sản phẩm không dấu
Avatar String No Ảnh sản phẩm
Price String No Giá sản phẩm
Sale String Yes Giảm giá
Is_feature String No Sản phẩm nổi bật
Short_description Text No Mô tả ngắn
Description longText No Mô tả chi tiết
Name Type Null Chú thích
ID Increments No Mã dự án
Name slug String No Tên dự án không dấu
Avatar String No Ảnh dự án
Name Type Null Chú thích
ID Increments No Mã tùy chọn
Email String No Email liên hệ
Phone String No Số điện thoại liên hệ
Adress String No Địa chỉ cửa hàng
Images String No Ảnh về chúng tôi
Logo String No Logo cửa hàng
2.2.10.Bảng liên kết trung gian giữa sản phẩm và loại sản phẩm
Name Type Null Chú thích
ID Increments No Mã liên kiết product_id String No Mã sản phẩm category_id String No Mã loại sản phẩm
Bảng 2 6 Bảng liên kết trung gian giữa sản phẩm và loại sản phẩm
2.3 Thiết kế giao diện website bán hàng
2.3.1 Giao diện khách hàng đối với màn hình desktop
Hình 2 3 Giao diện trang chủ với màn hình desktop 2.3.1.2 Giao diện trang giới thiệu về cửa hàng
Hình 2 4 Giao diện trang giới thiệu với màn hình desktop
2.3.1.3 Giao diện trang dự án
Hình 2 5 Giao diện trang dự án với màn hình desktop 2.3.1.4 Giao diện trang sản phẩm
Hình 2 6 Giao diện trang chi tiết sản phẩm với màn hình desktop
2.3.1.5 Giao diện trang giỏ hàng
Hình 2 7 Giao diện trang giỏ hàng với màn hình desktop 2.3.1.6 Giao diện trang liên hệ
Hình 2 8 Giao diện trang liên hệ với màn hình desktop
Hình 2 9 Giao diện chân trang
2.3.2 Giao diện người dùng với màn hình điện thoại
Hình 2 10 Giao diện menu với màn hình điện thoại
Hình 2 11 Giao diện trang chủ với màn hình điện thoại
2.3.2.2 Giao diện trang giới thiệu
Hình 2 12 Giao diện trang giới thiệu với màn hình điện thoại
2.3.2.3 Giao diện trang dự án
Hình 2 13 Giao diện trang dự án với màn hình điện thoại
2.3.2.4 Giao diện trang sản phẩm
Hình 2 14 Giao diện trang chi tiết sản phẩm với màn hình điện thoại
2.3.2.5 Giao diện trang liên hệ
Hình 2 15 Giao diện trang liên hệ với màn hình điện thoại
2.3.3 Giao diện người dùng đối với dùng với màn hình ipad
Hình 2 16 Giao diện trang chủ với màn hình ipad
2.3.3.2 Giao diện trang giới thiệu
Hình 2 17 Giao diện trang giới thiệu với màn hình ipad
2.3.3.3 Giao diện trang dự án
Hình 2 18 Giao diện trang dự án với màn hình ipad
2.3.3.4 Giao diện trang sản phẩm
Hình 2 19 Giao diện trang chi tiết sản phẩm với màn hình ipad
2.3.3.5 Giao diện trang liên hệ
Hình 2 20 Giao diện trang liên hệ với màn hình ipad
2.3.4 Giao diện quản trị viên
Hình 2 21 Giao diện đăng nhập
2.3.4.2 Giao diện trang quản lý danh mục sản phẩm
Hình 2 22 Giao diện danh sách danh mục sản phẩm
Hình 2 23 Giao diện thêm danh mục sản phẩm 2.3.4.3 Giao diện trang quản lý sản phẩm
Hình 2 24 Giao diện danh sách sản phẩm
Hình 2 25 Giao diện thêm sản phẩm 2.3.4.4 Giao diện trang quản lý dự án
Hình 2 26 Giao diện danh sách dự án
Hình 2 27 Giao diện thêm dự án 2.3.4.5 Giao diện trang quản lý admin
Hình 2 28 Giao diện quản trị viên
Hình 2 29 Giao diện thêm quản trị viên
Chúng em đã hoàn thiện các chức năng tìm kiếm và mua hàng online, nhưng vẫn cần xác định rõ các kịch bản có thể xảy ra trong quá trình sử dụng Vì vậy, trong thời gian tới, nhóm chúng em sẽ tập trung vào việc này.
Nghiên cứu và áp dụng các công nghệ mới vào trang Web sẽ giúp cải thiện tốc độ xử lý các yêu cầu và nâng cao bảo mật của hệ thống.
− Đưa hệ thống chạy trên nền tảng di động, nền tảng mà đang thành xu thế phát triển rất mạnh trong thời gian gần đây
− Thêm các chức năng hỗ trợ khách hàng tiện lợi hơn như: thanh toán online, blog chia sẻ,…
Trong chương này, chúng tôi đã lựa chọn giải pháp và thiết kế để xây dựng một website thương mại điện tử Sau thời gian nghiên cứu và kiểm thử, chúng tôi đã hoàn thiện sản phẩm website thực tế cuối cùng.
Sản phẩm đáp ứng được yêu cầu đã đặt ra ban đầu