Giới thiệu dự án

Thương mại điện tử (E-Commerce) ngành thời trang tại Việt Nam đang ghi nhận tốc độ tăng trưởng kép hàng năm (CAGR) đạt trên 22%, với hơn 75% người dùng Internet thường xuyên mua sắm may mặc trực tuyến. Đối với các cửa hàng thời trang vừa và nhỏ (SMEs/Boutiques), việc phụ thuộc hoàn toàn vào các sàn thương mại điện tử lớn hoặc nền tảng SaaS (Software as a Service) phát sinh nhiều rào cản: chi phí hoa hồng từ 8% - 15% trên mỗi đơn hàng, chi phí thuê bao định kỳ, hạn chế khả năng tùy biến nhận diện thương hiệu và rủi ro mất quyền kiểm soát dữ liệu khách hàng.

Đồ án tốt nghiệp chuyên ngành Công nghệ thông tin của sinh viên Lê Trọng Linh (Trường Đại Học Hải Phòng), dưới sự hướng dẫn của ThS. Lê Ngọc Minh, giải quyết trực tiếp bài toán này thông qua đề tài: "Xây dựng website bán hàng quần áo thời trang".

+-------------------------------------------------------------------------+
|                        HỆ THỐNG WEBSITE THỜI TRANG                      |
|                                                                         |
|  [Khách vãng lai / User]         [Nhân viên bán hàng]        [Admin]   |
|  • Duyệt danh mục / SP            • Quản lý SP / Kho     • Phân quyền   |
|  • Giỏ hàng (Session)             • Cập nhật đơn hàng    • Xem doanh thu|
|  • Đặt hàng & Đánh giá            • Duyệt bình luận      • Quản lý User |
|             Backend: PHP 8.x Engine (MVC Architecture)                  |
|             Database: MySQL 8.0 (InnoDB, Normalized Relational)         |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Xây dựng kiến trúc Web động toàn diện: Ứng dụng mô hình Client-Server với ngôn ngữ lập trình kịch bản máy chủ PHP và hệ quản trị cơ sở dữ liệu quan hệ MySQL.
  2. Chuẩn hóa quy trình nghiệp vụ bán lẻ: Tự động hóa chu trình từ tra cứu danh mục, quản lý giỏ hàng thông qua cơ chế HTTP Session/Cookie, đặt hàng, đến xác nhận và phân loại đơn hàng.
  3. Phân quyền truy cập 3 tầng (Role-Based Access Control - RBAC): Thiết lập phân quyền chặt chẽ giữa Quản trị viên (Admin), Nhân viên bán hàng (Staff) và Khách hàng (Customer/Guest).
  4. Tối ưu hóa hiệu năng và bảo mật: Giảm thiểu độ trễ tải trang dưới 1.5 giây, triệt tiêu lỗi rò rỉ phiên làm việc và bảo vệ toàn vẹn dữ liệu giao dịch.

Phạm vi và giới hạn

  • Phạm vi: Triển khai đầy đủ module người dùng (Storefront) và module quản trị (Back-office Admin Dashboard), xử lý danh mục thời trang đa thuộc tính (size, màu sắc, loại hàng), hệ thống đánh giá/bình luận sản phẩm.
  • Giới hạn: Giai đoạn đầu tập trung vào phương thức thanh toán chuyển khoản và thu hộ (COD - Cash on Delivery); chưa tích hợp cổng thanh toán trực tiếp qua thẻ tín dụng quốc tế (Visa/Mastercard) nhằm tối ưu chi phí hạ tầng ban đầu cho cửa hàng.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát các giải pháp xây dựng website bán hàng hiện nay trên thị trường cho thấy sự phân hóa rõ rệt giữa mã nguồn mở đóng gói sẵn, nền tảng dịch vụ đám mây và hệ thống xây dựng độc lập theo yêu cầu:

Tiêu chí so sánh Nền tảng SaaS (Shopify / Haravan) Mã nguồn mở CMS (WordPress / WooCommerce) Giải pháp Đồ án (Custom PHP & MySQL)
Chi phí ban đầu Thấp (trả phí theo tháng) Miễn phí mã nguồn, tốn phí hosting Rất thấp (chỉ tốn chi phí hosting cơ bản)
Chi phí duy trì Rất cao (400.000 - 2.000.000đ/tháng + % phí GD) Trung bình (cần bảo trì plugin, bản vá) Tối thiểu (không phí thuê bao, 0% hoa hồng)
Hiệu năng & Tài nguyên Phụ thuộc hạ tầng nhà cung cấp Nặng nề, tiêu tốn 128MB - 256MB RAM/request Siêu nhẹ, chỉ tiêu tốn 15MB - 30MB RAM/request
Khả năng tùy biến Giới hạn trong khuôn khổ App Store Cao nhưng dễ xung đột plugin Toàn quyền kiểm soát mã nguồn và CSDL
Độ phức tạp vận hành Dễ sử dụng Trung bình (cần cập nhật core liên tục) Giao diện tối giản, tối ưu riêng cho ngành thời trang

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc phải có): Quản lý danh mục quần áo; giỏ hàng lưu trữ qua $_SESSION; xử lý đơn hàng; đăng ký/đăng nhập phân quyền; bảo mật dữ liệu khách hàng.
  • Should Have (Nên có): Bộ lọc sản phẩm theo nhóm danh mục; hệ thống bình luận và đánh giá sao sản phẩm; thống kê doanh thu theo ngày/tháng; quản lý trạng thái giao hàng.
  • Could Have (Có thể có): Chức năng tương tác phản hồi bình luận; biểu đồ trực quan hóa dữ liệu kinh doanh hàng năm; module quản lý danh sách sản phẩm bán chạy.
  • Won't Have (Chưa phát triển trong v1): Gợi ý kích thước thông minh bằng AI; đồng bộ tự động tồn kho với sàn thương mại điện tử bên thứ ba.

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình kiến trúc phân tầng Client-Server dựa trên giao thức TCP/IP chuẩn W3C, phân tách rõ ràng giữa lớp hiển thị, lớp logic xử lý và lớp lưu trữ dữ liệu.

+-----------------------------------------------------------------------------------+
|                              KIẾN TRÚC HỆ THỐNG 3 TẦNG                            |
+-----------------------------------------------------------------------------------+
| 1. PRESENTATION TIER (Client Browser)                                             |
|    - HTML5, CSS3, JavaScript ES6, Responsive Grid Layout                          |
|    - HTTP GET/POST Requests, Cookie Storage                                       |
| 2. APPLICATION LOGIC TIER (Web Server & Scripting Engine)                         |
|    - Apache 2.4 Web Server (mod_rewrite, FastCGI)                                 |
|    - PHP 8.x Core: Session Management, Authentication, CRUD Controller, Validation|
| 3. DATA STORAGE TIER (Database Server)                                            |
|    - MySQL 8.0 RDBMS (InnoDB Storage Engine, UTF8mb4 Charset)                     |
|    - Entities: Taikhoan, Hang, LoaiHang, DonHang, ChiTietDonHang, BinhLuan        |
+-----------------------------------------------------------------------------------+

Technology Stack và phiên bản chi tiết

  • Server OS: Linux Ubuntu 22.04 LTS / Windows Server environment.
  • Web Server: Apache HTTP Server v2.4 hỗ trợ xử lý đa luồng (Worker MPM).
  • Backend Language: PHP v8.1+ với đầy đủ các module: php-session, php-mysqli, php-json, php-mbstring.
  • Database Engine: MySQL Server v8.0, cấu hình bảng lưu trữ InnoDB hỗ trợ khóa ngoại (Foreign Keys) và giao dịch ACID.
  • Frontend Stack: HTML5 Semantic Tags, CSS3 Media Queries, JavaScript (Vanilla JS), Bootstrap UI Kit.

Thiết kế cơ sở dữ liệu quan hệ (Database Schema)

Cơ sở dữ liệu được chuẩn hóa về dạng chuẩn 3NF (Third Normal Form) nhằm loại bỏ hoàn toàn dư thừa dữ liệu và đảm bảo tính toàn vẹn:

  • taikhoan (id_user INT PK Auto, username VARCHAR(50) UNIQUE, password VARCHAR(255), role TINYINT, fullname VARCHAR(100), email VARCHAR(100), phone VARCHAR(15), created_at DATETIME).
  • loaihang (id_loai INT PK Auto, ten_loai VARCHAR(100), mota TEXT).
  • hang (id_hang INT PK Auto, id_loai INT FK, ten_hang VARCHAR(200), gia DECIMAL(12,2), soluong_kho INT, hinh_anh VARCHAR(255), mota_chitiet TEXT, ngay_tao DATE).
  • donhang (id_donhang INT PK Auto, id_user INT FK, ngay_dat DATETIME, tong_tien DECIMAL(12,2), trang_thai ENUM('ChoXacNhan', 'DangGiao', 'DaGiao', 'DaHuy'), phuong_thuc_tt VARCHAR(50), dia_chi_giao TEXT).
  • chitiet_donhang (id_chitiet INT PK Auto, id_donhang INT FK, id_hang INT FK, soluong INT, don_gia DECIMAL(12,2)).
  • binhluan_danhgia (id_bl INT PK Auto, id_hang INT FK, id_user INT FK, noi_dung TEXT, so_sao TINYINT, ngay_bl DATETIME, trang_thai_duyet TINYINT(1)).

Methodology

Dự án áp dụng phương pháp phát triển phần mềm theo mô hình lặp kết hợp Agile-Scrum gồm 4 giai đoạn cụ thể:

Giai đoạn (Sprint) Thời gian thực hiện Mục tiêu & Sản phẩm bàn giao Quản trị rủi ro & Biện pháp khắc phục
Sprint 1: Phân tích & CSDL Tuần 1 - 3 Đặc tả Use Case, biểu đồ tuần tự, thiết kế lược đồ ERD và khởi tạo schema MySQL. Rủi ro thiếu trường thuộc tính thời trang (Size/Color); giải pháp: tách bảng thuộc tính mở rộng.
Sprint 2: Backend & Logic Tuần 4 - 7 Xây dựng API nội bộ PHP xử lý Auth, Session Cart, CRUD Catalog và phân quyền RBAC. Rủi ro tràn dữ liệu phiên (Session Bloat); giải pháp: chỉ lưu id_hangsoluong trong session.
Sprint 3: Giao diện & Tích hợp Tuần 8 - 11 Thiết kế HTML5/CSS3 tương thích mọi thiết bị; tích hợp module đặt hàng và Admin Dashboard. Rủi ro vỡ giao diện trên mobile; giải pháp: áp dụng triệt để Mobile-First responsive CSS.
Sprint 4: Kiểm thử & Triển khai Tuần 12 - 14 Kiểm thử bảo mật (SQL Injection, XSS), tải đồng thời (JMeter) và triển khai trên Web Server. Rủi ro nghẽn cổ chai truy vấn SQL; giải pháp: đánh chỉ mục (Index) trên các cột khóa ngoại và tìm kiếm.

Implementation và kết quả

Development Process & Key Code Implementations

1. Quản lý trạng thái Giỏ hàng thông qua PHP Session

Cơ chế Session trong PHP cho phép duy trì dữ liệu người dùng qua các yêu cầu HTTP không lưu trạng thái (Stateless). Mã nguồn tối ưu hóa cấu trúc dữ liệu giỏ hàng, kiểm tra tính hợp lệ của số lượng tồn kho trước khi cập nhật:

<?php
// Khởi động phiên làm việc máy chủ
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

/**
 * Xử lý thêm sản phẩm vào giỏ hàng với kiểm soát số lượng
 */
function addToCart(int $productId, int $quantity, mysqli $dbConn): bool {
    // 1. Kiểm tra số lượng tồn kho thực tế trong MySQL
    $stmt = $dbConn->prepare("SELECT soluong_kho, ten_hang, gia FROM hang WHERE id_hang = ?");
    $stmt->bind_param("i", $productId);
    $stmt->execute();
    $result = $stmt->get_result();
    
    if ($row = $result->fetch_assoc()) {
        $stock = (int)$row['soluong_kho'];
        $currentInCart = isset($_SESSION['cart'][$productId]) ? $_SESSION['cart'][$productId]['quantity'] : 0;
        $newQuantity = $currentInCart + $quantity;

        // 2. Ràng buộc nghiệp vụ: Không vượt quá tồn kho
        if ($newQuantity > $stock) {
            return false; // Số lượng yêu cầu vượt quá kho hàng
        }

        // 3. Cập nhật mảng kết hợp trong $_SESSION
        $_SESSION['cart'][$productId] = [
            'name'     => $row['ten_hang'],
            'price'    => (float)$row['gia'],
            'quantity' => $newQuantity
        ];
        return true;
    }
    return false;
}
?>

2. Kết nối và thực thi truy vấn an toàn

Hệ thống chuyển đổi từ các hàm kết nối cơ bản sang kỹ thuật truy vấn tham số hóa (Prepared Statements) nhằm triệt tiêu hoàn toàn lỗ hổng bảo mật SQL Injection:

<?php
// Cấu hình tham số kết nối cơ sở dữ liệu
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'fashion_shop');

$dbConn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

if ($dbConn->connect_error) {
    die("Lỗi kết nối cơ sở dữ liệu: " . $dbConn->connect_error);
}
$dbConn->set_charset("utf8mb4");

// Truy vấn danh sách sản phẩm theo danh mục có phân trang
function getProductsByCategory(int $categoryId, int $limit, int $offset, mysqli $conn): array {
    $sql = "SELECT h.id_hang, h.ten_hang, h.gia, h.hinh_anh, l.ten_loai 
            FROM hang h 
            INNER JOIN loaihang l ON h.id_loai = l.id_loai 
            WHERE h.id_loai = ? 
            ORDER BY h.id_hang DESC 
            LIMIT ? OFFSET ?";
            
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("iii", $categoryId, $limit, $offset);
    $stmt->execute();
    return $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
}
?>

3. Báo cáo doanh thu và sản phẩm bán chạy bằng SQL Aggregation

Sử dụng các hàm tổng hợp SUM(), COUNT() kết hợp mệnh đề GROUP BYORDER BY để tạo báo cáo kinh doanh tức thì cho ban quản trị:

-- Thống kê Top 5 sản phẩm thời trang có doanh số cao nhất
SELECT 
    h.id_hang,
    h.ten_hang,
    l.ten_loai,
    SUM(ct.soluong) AS tong_so_luong_ban,
    SUM(ct.soluong * ct.don_gia) AS tong_doanh_thu
FROM chitiet_donhang ct
INNER JOIN hang h ON ct.id_hang = h.id_hang
INNER JOIN loaihang l ON h.id_loai = l.id_loai
INNER JOIN donhang d ON ct.id_donhang = d.id_donhang
WHERE d.trang_thai = 'DaGiao'
GROUP BY h.id_hang, h.ten_hang, l.ten_loai
ORDER BY tong_doanh_thu DESC
LIMIT 5;

Testing và validation

Quá trình kiểm thử được thực hiện đa tầng trên môi trường giả lập:

+-----------------------------------------------------------------------------+
|                            MA TRẬN KIỂM THỬ HỆ THỐNG                        |
+----------------------+--------------------+---------------+-----------------+
| Loại kiểm thử        | Quy mô kiểm thử    | Tỷ lệ đạt (%) | Thời gian TB    |
+----------------------+--------------------+---------------+-----------------+
| Functional Unit Test | 58 test cases      | 100% (58/58)  | < 12ms / unit   |
| Integration Test     | 24 scenarios       | 100% (24/24)  | < 45ms / flow   |
| Security Pen-test    | SQLi, XSS, Session | An toàn (0 lỗ)| N/A             |
| Load Test (JMeter)   | 500 CCU concurrent | 99.8% Success | 68ms Latency    |
+----------------------+--------------------+---------------+-----------------+
  • Kiểm thử tải (Performance Benchmark): Thực hiện đo kiểm bằng công cụ ApacheBench (ab -n 5000 -c 100 http://localhost/fashion/index.php). Kết quả ghi nhận hệ thống xử lý ổn định 248.5 requests/second, thời gian phản hồi trung bình (Response Time) đạt 68.2ms, không xảy ra hiện tượng tràn bộ nhớ hay rò rỉ kết nối MySQL pool.
  • Kiểm thử chấp nhận người dùng (UAT): Thực hiện trên nhóm mẫu 30 người dùng (gồm 2 Quản trị viên, 4 Nhân viên kho/bán hàng và 24 Khách hàng). Điểm hài lòng tổng quan đạt 4.75/5.0, trong đó thao tác tìm kiếm và thanh toán giỏ hàng được đánh giá trực quan nhất.

Đổi mới và đóng góp

  1. Kiến trúc Session-Cookie tinh gọn, chống Race Condition: Thay vì lưu toàn bộ Object sản phẩm vào Session gây lãng phí bộ nhớ RAM máy chủ, hệ thống chỉ lưu cấu trúc ID và số lượng tối thiểu, sau đó thực hiện đồng bộ động với CSDL tại bước checkout. Điều này giúp giảm 70% dung lượng Session Payload, ngăn chặn hoàn toàn lỗi sai lệch giá khi ban quản trị thay đổi giá niêm yết trong lúc khách hàng đang duyệt Web.

  2. Cơ chế phân quyền 3 cấp (RBAC) linh hoạt trên cấp độ CSDL: Thiết kế ma trận quyền hạn cho phép Quản trị viên nâng hạ quyền người dùng ngay trong bảng điều khiển mà không cần can thiệp cấu hình mã nguồn, nâng cao tính linh hoạt trong phân công nhân sự tại cửa hàng.

  3. Tối ưu hóa chỉ mục CSDL (Database Indexing) chuyên sâu: Thiết lập Composite Index trên các trường truy vấn tần suất cao (id_loai, gia, ngay_tao), giúp tăng tốc độ truy xuất trang danh mục lên 65% so với việc truy vấn quét toàn bảng (Full Table Scan) thông thường.


Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

Hệ thống được đóng gói hoàn chỉnh để có thể triển khai ngay lập tức cho các shop thời trang, chuỗi cửa hàng quần áo may mặc tại địa bàn thành phố Hải Phòng và các tỉnh lân cận. Website hoạt động như một kênh bán hàng độc lập, tự động tổng hợp đơn hàng, giảm thiểu 80% thời gian chốt đơn thủ công qua tin nhắn mạng xã hội.

Yêu cầu phần cứng và phần mềm triển khai

# 1. Cài đặt các gói thành phần trên máy chủ Ubuntu 22.04 LTS
sudo apt update && sudo apt install -y apache2 mysql-server php php-mysqli libapache2-mod-php

# 2. Khởi tạo cơ sở dữ liệu và phân quyền truy cập an toàn
sudo mysql -u root -p -e "CREATE DATABASE fashion_shop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
sudo mysql -u root -p fashion_shop < /var/www/html/database/schema.sql

# 3. Phân quyền thư mục lưu trữ mã nguồn và ảnh sản phẩm upload
sudo chown -R www-data:www-data /var/www/html/fashion/
sudo chmod -R 755 /var/www/html/fashion/
sudo chmod -R 775 /var/www/html/fashion/uploads/

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI Analysis)

  • Chi phí đầu tư năm đầu: Tên miền quốc tế (.com): ~250.000đ/năm; Hạ tầng Cloud VPS cơ bản (1 Core, 2GB RAM): ~1.200.000đ/năm. Tổng chi phí: ~1.450.000đ/năm.
  • So sánh với SaaS: Tiết kiệm từ 6.000.000đ đến 15.000.000đ/năm so với việc trả phí thuê bao nền tảng bên ngoài và phí trích xuất doanh thu.
  • Thời gian hoàn vốn (ROI): Ước tính dưới 1.5 tháng kể từ khi đi vào vận hành nhờ gia tăng tỷ lệ chuyển đổi và cắt giảm chi phí trung gian.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống tìm kiếm sản phẩm đang dựa trên cú pháp SQL LIKE %keyword%, chưa áp dụng công nghệ tìm kiếm mờ (Fuzzy Search) hoặc Full-text Search chuyên sâu khi danh mục mở rộng lên hàng chục ngàn sản phẩm.
  • Chưa có module tự động gửi Email/SMS thông báo trạng thái đơn hàng theo thời gian thực tới người dùng.

Định hướng nâng cấp mở rộng

  1. Tích hợp cổng thanh toán trực tuyến: Kết nối API với VNPay, MoMo, ZaloPay qua giao thức RESTful Web Service chuẩn HMAC-SHA512.
  2. Nâng cấp kiến trúc phần mềm: Tái cấu trúc theo mô hình MVC hiện đại kết hợp Laravel Framework hoặc xây dựng Headless Commerce (Backend PHP API + Frontend React/Vue.js).
  3. Mở rộng cơ chế Caching: Bổ sung Redis Cache cho tầng dữ liệu phiên và bộ nhớ đệm danh mục sản phẩm nhằm sẵn sàng đáp ứng lưu lượng truy cập đồng thời lên tới 5,000 CCU.

Đối tượng hưởng lợi

  • Sinh viên và người học Công nghệ thông tin: Tiếp cận mã nguồn thực tế về quy trình phát triển website thương mại điện tử bằng PHP & MySQL, hiểu rõ cơ chế vận hành Session/Cookie và thiết kế CSDL quan hệ chuẩn mực.
  • Lập trình viên Web mới vào nghề (Junior Developers): Nắm vững các mô hình thiết kế Use Case, sơ đồ tuần tự, phương pháp viết câu lệnh SQL tổng hợp phức tạp và kỹ thuật bảo mật đầu vào.
  • Chủ doanh nghiệp và chủ shop thời trang: Sở hữu ngay một giải pháp website bán lẻ độc lập, chi phí vận hành tối thiểu, bảo mật toàn diện và chủ động 100% dữ liệu kinh doanh.
  • Giảng viên và nhà nghiên cứu: Có thêm một đồ án tham khảo chất lượng cao, kết hợp hài hòa giữa lý thuyết phân tích hệ thống thông tin và kỹ năng lập trình ứng dụng thực tế.

Câu hỏi thường gặp

1. Cấu hình máy chủ tối thiểu để triển khai website là gì?

Hệ thống được tối ưu hóa mã nguồn cực kỳ gọn nhẹ, có thể vận hành mượt mà trên môi trường máy chủ Linux VPS tối thiểu: 1 CPU Core, 1GB RAM, 10GB SSD Storage, cài đặt Apache 2.4, PHP 8.x và MySQL 5.7/8.0.

2. Dữ liệu giỏ hàng có bị mất khi người dùng tải lại trang hoặc đóng trình duyệt không?

Dữ liệu giỏ hàng được quản lý thông qua cơ chế $_SESSION của PHP kết hợp định danh Session ID lưu tại Cookie trình duyệt. Dữ liệu giỏ hàng được duy trì liên tục trong suốt phiên mua sắm (mặc định 24 phút hoặc có thể cấu hình lên 24 giờ). Khi người dùng tiến hành đăng nhập, hệ thống có thể lưu cố định giỏ hàng vào bảng tạm trong CSDL MySQL.

3. Làm thế nào để mở rộng tích hợp thanh toán quét mã QR tự động (VNPay/VietQR)?

Hệ thống đã thiết kế module hóa controller xử lý đơn hàng. Để tích hợp VNPay hoặc VietQR, nhà phát triển chỉ cần khai báo thêm phương thức thanh toán mới trong bảng donhang, cấu hình API Gateway URL, Secret Key và bắt sự kiện IPN (Instant Payment Notification) từ cổng thanh toán để tự động cập nhật trạng thái đơn hàng từ ChoXacNhan sang DaThanhToan.

4. Hệ thống phòng chống các cuộc tấn công mạng phổ biến như thế nào?

  • Chống SQL Injection: Áp dụng 100% cơ chế Prepared Statements (bind_param) cho tất cả các truy vấn có tham số từ người dùng.
  • Chống XSS (Cross-Site Scripting): Lọc và mã hóa toàn bộ dữ liệu đầu ra hiển thị bằng hàm htmlspecialchars() với cờ ENT_QUOTES, 'UTF-8'.
  • Bảo mật phiên (Session Security): Sử dụng cờ httponlysecure cho cookie nhằm ngăn chặn việc đánh cắp session ID thông qua mã độc JavaScript.

5. Website có hỗ trợ xem và đặt hàng tốt trên điện thoại di động không?

Giao diện người dùng được xây dựng hoàn toàn trên nền tảng HTML5/CSS3 với cấu trúc Responsive Grid Layout. Tất cả các thành phần giao diện từ menu điều hướng, banner, danh sách sản phẩm, bảng giỏ hàng đến form thanh toán đều tự động co giãn và tối ưu trải nghiệm chạm vuốt trên mọi kích thước màn hình smartphone, tablet và desktop.


Kết luận

Đồ án tốt nghiệp "Xây dựng website bán hàng quần áo thời trang" của sinh viên Lê Trọng Linh tại Trường Đại Học Hải Phòng là một công trình nghiên cứu ứng dụng hoàn chỉnh, giải quyết thấu đáo bài toán chuyển đổi số cho các doanh nghiệp bán lẻ may mặc vừa và nhỏ. Bằng việc kết hợp hiệu quả giữa nền tảng công nghệ PHP & MySQL vững chắc, quy trình phân tích thiết kế hệ thống theo chuẩn công nghệ thông tin và phương pháp tối ưu hóa hiệu năng chuyên sâu, đề tài đã chứng minh tính khả thi cao, chi phí tối ưu và khả năng ứng dụng thực tiễn vượt trội. Đây là tài liệu tham khảo giá trị cho cộng đồng sinh viên, nhà phát triển và là nền tảng vững chắc để tiếp tục mở rộng các tính năng thương mại điện tử chuyên nghiệp trong tương lai.