Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Bài đăng này là về Hướng dẫn Giỏ hàng PHP bằng SESSIONS. Trước đây, chúng ta đã học cách xây dựng Giỏ hàng bằng PHP & MySQL nơi chúng ta sử dụng cơ sở dữ liệu MySQL để lưu trữ các sản phẩm được thêm vào giỏ hàng. Lần này, chúng tôi sẽ sử dụng các biến phiên PHP để lưu trữ các sản phẩm được thêm vào giỏ hàng

Show

nội dung

đầu ra cuối cùng

Hướng dẫn Giỏ hàng PHP sử dụng SESSION

Khi kết thúc hướng dẫn này, bạn sẽ đạt được các tính năng sau

  • Danh sách sản phẩm có phân trang
  • Trang sản phẩm
  • Chức năng thêm vào giỏ hàng
  • Cập nhật chức năng giỏ hàng
  • Xóa sản phẩm khỏi chức năng giỏ hàng
  • trang giỏ hàng
  • trang thanh toán
  • cảm ơn trang

Chuẩn bị cơ sở dữ liệu

Thiết kế cơ sở dữ liệu

Tên cơ sở dữ liệu của chúng tôi sẽ được gọi là “





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
9“, và chúng tôi sẽ có hai (2) bảng. Hình ảnh dưới đây là một biểu diễn trực quan của các bảng cơ sở dữ liệu của chúng tôi và cách chúng liên quan

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Tạo cơ sở dữ liệu

Bắt đầu Apache và MySQL. Nếu bạn đang sử dụng XAMPP như tôi, bạn có thể làm điều đó bằng bảng điều khiển của nó

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Khi Apache và MySQL đang chạy, hãy mở PhpMyAdmin của bạn (http. // localhost/phpmyadmin). Tạo cơ sở dữ liệu mới. Sử dụng “shop_cart_sessions_1” làm tên cơ sở dữ liệu. Nhấp vào nút “Tạo”

Tạo bảng “sản phẩm”

Phần này chúng ta sẽ tạo bảng “products” (dùng PhpMyAdmin) trên cơ sở dữ liệu vừa tạo. Bảng này sẽ lưu trữ hồ sơ sản phẩm

Chạy câu lệnh SQL bằng PhpMyAdmin. Nhấp vào cơ sở dữ liệu “shop_cart_sessions_1”. Nhấp vào tab "SQL". Sao chép câu lệnh SQL bên dưới và dán vào vùng văn bản. Nhấp vào nút "Đi"

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;

Tạo bảng “danh mục”

Bảng này sẽ chứa các hình ảnh liên quan đến sản phẩm. Cũng chạy câu lệnh SQL sau trên PhpMyAdmin. Thực hiện theo các bước tương tự chúng tôi đã làm trên bảng "sản phẩm"

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;

Tải xuống dữ liệu mẫu

Bảng sản phẩm và sản phẩm_hình ảnh sẽ không hoạt động đầy đủ nếu không có dữ liệu mẫu và tệp hình ảnh liên quan. Sử dụng nút sau để tải xuống tệp ZIP

Tải xuống tệp SQL và hình ảnh

Trích xuất và nhập dữ liệu

Sau khi tải về, vui lòng giải nén các tập tin. Nhập tệp SQL bằng PhpMyAdmin

Đặt các tệp hình ảnh vào thư mục “php-shopping-cart-using-sessions-level-1/uploads/images/”. Thư mục đó chưa tồn tại. Làm theo các bước dưới đây để tạo nó

Tạo thư mục “php-shopping-cart-using-sessions-level-1” và mở nó. Đây là thư mục chính của dự án của chúng tôi. Tạo thư mục “uploads” và mở nó. Tạo một thư mục “hình ảnh” và mở nó. Sao chép và dán hình ảnh vào thư mục này

Tệp kết nối cơ sở dữ liệu

Tệp này sẽ được sử dụng để thiết lập kết nối cơ sở dữ liệu. Tạo thư mục “

		
0” và mở nó. Tạo tập tin “
		
		

	
	











1” và mở nó. Đặt đoạn mã sau

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>

đầu ra

PhpMyAdmin của chúng ta sẽ giống như hình bên dưới. Một cơ sở dữ liệu với hai bảng

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Chúng tôi chưa có đầu ra chương trình thực tế vì chúng tôi chỉ thiết lập cơ sở dữ liệu. Hãy tiếp tục hướng dẫn của chúng tôi bên dưới để đạt được nhiều đầu ra hơn

Tạo các tệp bố cục

Các tệp bố cục chứa mã có thể được sử dụng lại trên mỗi trang web. Giao diện của các trang của chúng tôi sẽ nhất quán nhờ các tệp bố cục đầu trang và chân trang này

Tạo tệp bố cục tiêu đề

Tệp “

		
		

	
	











2” này sẽ được bao gồm ở phần đầu của các tệp PHP sẽ cần nó. Bằng cách này, chúng tôi sẽ không phải viết cùng một mã tiêu đề mỗi lần

Chúng tôi sử dụng khung Bootstrap để làm cho dự án của chúng tôi trông đẹp mắt. Nếu bạn chưa quen với Bootstrap, bạn có thể học từ hướng dẫn Bootstrap của chúng tôi tại đây

Tạo tập tin “

		
		

	
	











2”. Đặt đoạn mã sau. Nhân tiện, xin lưu ý rằng sau khi chúng tôi đặt mã vào tệp, hãy luôn lưu các thay đổi của bạn. Bạn có thể dùng CTRL+S để lưu lại nếu đang dùng Windows như mình

Mã này chứa biến phiên của chúng tôi sẽ chứa các sản phẩm được thêm vào giỏ hàng. Chúng tôi đặt nó ở đây để chúng tôi không cần phải khởi tạo lại nó trên mỗi trang

Các thẻ tiêu đề chứa mã PHP sẽ làm cho tiêu đề trang của chúng tôi động. Bootstrap CSS và CSS tùy chỉnh của chúng tôi được bao gồm bên trong các thẻ đầu. Thanh điều hướng của chúng tôi nằm bên trong điều hướng. php, chúng tôi sẽ tạo tệp này sau





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    

Tạo tệp bố cục chân trang

“layout_footer này. php” sẽ được bao gồm ở cuối các tệp PHP sẽ cần nó. Bằng cách này, chúng tôi sẽ không phải viết cùng một mã chân trang mỗi lần

Chúng tôi đang sử dụng JavaScript của jQuery và Bootstrap trong tệp bố cục chân trang. jQuery được yêu cầu bởi JavaScript của Bootstrap, cần thiết cho các tính năng như trình đơn thả xuống điều hướng

Tạo một “layout_footer. tập tin php”. Đặt đoạn mã sau

		
		

	
	











Tạo tệp bố cục điều hướng

Tạo tệp “

		
		

	
	











4 ”. Đặt đoạn mã sau. Mã này sẽ hiển thị thanh điều hướng với các liên kết menu “Sản phẩm” và “Giỏ hàng”. Nó cũng sẽ hiển thị số lượng sản phẩm được thêm vào giỏ hàng.

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
1

Tạo tệp CSS tùy chỉnh

phong tục này. tệp css là nơi đặt các kiểu tùy chỉnh của chúng tôi

  • Mở thư mục “
    		
    		
    
    	
    	
    
    
    
    
    
    
    
    
    
    
    
    
    5”
  • Mở thư mục “
    		
    		
    
    	
    	
    
    
    
    
    
    
    
    
    
    
    
    
    6”
  • Mở thư mục “
    		
    		
    
    	
    	
    
    
    
    
    
    
    
    
    
    
    
    
    7”
  • Tạo tập tin “
    		
    		
    
    	
    	
    
    
    
    
    
    
    
    
    
    
    
    
    8”
  • Đặt đoạn mã sau

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
6

đầu ra

Các tệp chúng tôi đã tạo trong phần này được sử dụng trong một tệp PHP khác. Nếu chúng tôi cố chạy các tệp, chúng tôi sẽ không thấy bất kỳ điều gì có ý nghĩa

Nếu bạn sẽ chạy layout_header. php tập tin, nó sẽ trông như thế này

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Trang phục, Hải quan. css trông như thế này

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

điều hướng. php trông như thế này

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

chân trang. php trống. Hãy xem tiếp phần tiếp theo để xem điều gì đó có ý nghĩa

Sản phẩm trưng bày

Tạo sản phẩm. php

Bây giờ chúng ta sẽ bắt đầu hiển thị các sản phẩm từ cơ sở dữ liệu. Tạo

		
		

	
	











9 với mã cơ bản sau

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
8

Bao gồm các lớp PHP

Đặt đoạn mã sau vào sau “session_start();”

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
9

Tạo tệp đối tượng “sản phẩm”

Tạo thư mục “

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
10”. Bên trong nó, tạo tệp
CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
11 với đoạn mã sau

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
2

Tạo tệp đối tượng “hình ảnh sản phẩm”

Tạo tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
12 bên trong thư mục “
CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
10”

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
0

Kết nối với cơ sở dữ liệu

Mở sản phẩm. tập tin php. Thay thế ______114 nhận xét bằng đoạn mã sau.

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
1

Khởi tạo hành động và phân trang

Đặt đoạn mã sau vào sau đoạn mã trên phần trước

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
2

Hiển thị thông báo dựa trên hành động

Chúng tôi sẽ hiển thị thông báo dựa trên hành động nhất định

Đặt đoạn mã sau vào sau mã include ‘

		
		

	
	











2‘; .

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
3

Yêu cầu dữ liệu từ cơ sở dữ liệu

Yêu cầu dữ liệu từ cơ sở dữ liệu. Đặt đoạn mã sau vào sau đoạn mã trên phần trước

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
4

Thêm các phương thức “đọc” và “đếm”

Phần trước sẽ không hoạt động nếu không có đoạn mã sau bên trong “đối tượng/sản phẩm. tệp đối tượng php”

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
5

Mẫu trưng bày sản phẩm

		
		

	
	











9 sẽ không hoạt động nếu không có “
CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
17“, vì vậy hãy tạo tệp đó và đặt đoạn mã sau

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
6

Thêm phương thức “readFirst()”

Thêm phương thức “readFirst()” vào tệp “

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
18”. Phần trước sẽ không hoạt động nếu không có nó

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
7

Làm cho nút “thêm vào giỏ hàng” hoạt động

Mở tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
19. Thay thế ______160 nhận xét bằng đoạn mã sau.

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
8

Tạo tập tin phân trang

Tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
17 sẽ không hoạt động nếu không có tệp
CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
62. Tạo
CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
62 với đoạn mã sau

CREATE TABLE IF NOT EXISTS `product_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `name` varchar(512) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='image files related to a product' AUTO_INCREMENT=105 ;
9

đầu ra

Chạy sản phẩm của bạn. php trên trình duyệt http. //localhost/php-shopping-cart-using-sessions-level-1/products. php. Bạn sẽ thấy một đầu ra như hình bên dưới

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Làm thế nào để thêm vào giỏ hàng?

Tạo add_to_cart. php

Tạo tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
64 vì khi nhấp vào nút 'Thêm vào giỏ hàng', tệp có mã sau bên trong sẽ được thực thi

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
0

Tạo giỏ hàng. php

Tạo

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
65 với mã cơ bản sau

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
1

Hiển thị thông báo dựa trên hành động

Chúng tôi sẽ hiển thị thông báo trên giỏ hàng. php dựa trên hành động nhất định

Đặt đoạn mã sau vào sau include ‘

		
		

	
	











2‘; của phần trước.

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
2

Hiển thị các mặt hàng giỏ hàng

Đặt mã sau sau mã của phần trước

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
3

Đọc sản phẩm theo ID

Phần trước sẽ không hoạt động nếu không có phương thức “readByIds()” bên trong tệp “

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
67” sau đây

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
4

đầu ra

Khi người dùng nhấp vào nút “Thêm vào giỏ hàng”

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Chuyển đến trang giỏ hàng bằng cách nhấp vào tùy chọn “Giỏ hàng” trên thanh điều hướng

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Làm thế nào để cập nhật giỏ hàng?

Cập nhật số lượng giỏ hàng bằng JavaScript

Chúng tôi có nút 'cập nhật' trên giỏ hàng. tập tin php. Khi nút đó được nhấp, mã javascript được kích hoạt

Đặt đoạn mã sau vào bên trong $(document). sẵn sàng(function(){ của layout_footer. tập tin php .

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
5

Tập lệnh PHP để cập nhật giỏ hàng

Phần trước sẽ không hoạt động nếu không có tệp này

Tạo

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
68 tệp. Đặt đoạn mã sau và lưu nó.

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
6

Làm thế nào để loại bỏ sản phẩm trên giỏ hàng?

Chúng tôi có nút 'xóa' trên tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
65. Khi nút đó được nhấp, nó sẽ kích hoạt remove_from_cart. tập tin php

Tạo tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
80. Đặt đoạn mã sau và lưu nó

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
7

Tạo trang thanh toán

Trang thanh toán trông giống như trang giỏ hàng nhưng không thể cập nhật hoặc xóa các mặt hàng. Nó giống như tóm tắt các đơn đặt hàng. Tạo

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
81 với đoạn mã sau

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
8

Tạo place_order. php

Chúng tôi sẽ sử dụng tệp này để hiển thị thông báo “cảm ơn” và xóa tất cả các mặt hàng trong giỏ hàng

Tạo tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
82. Đặt đoạn mã sau

conn = null;

		try{
			$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
		}catch(PDOException $exception){
			echo "Connection error: " . $exception->getMessage();
		}

		return $this->conn;
	}

}
?>
9

đầu ra

Khi người dùng nhấp vào nút “Cập nhật” trong trang giỏ hàng

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Nếu người dùng nhấp vào nút “Xóa”

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

trang thanh toán

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Khi người dùng nhấp vào nút “Đặt hàng”

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Làm thế nào để làm cho trang sản phẩm?

tạo sản phẩm. php

Tạo

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
11 với mã cơ bản sau





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
0

Đọc chi tiết sản phẩm

Đặt đoạn mã sau vào sau “$product_image = new ProductImage($db);”





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
1

Đọc phương pháp một sản phẩm

Phần trước sẽ không hoạt động nếu không có phương thức “readOne()”. Thêm phương thức sau vào trong tệp “

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
67”





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
2

Hiển thị hình thu nhỏ của sản phẩm

Khi các hình thu nhỏ của sản phẩm này được di chuột, nó sẽ hiển thị phiên bản lớn hơn của hình ảnh. Đó là phong cách Amazon

Mở tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
11. Thay thế ______186 nhận xét bằng đoạn mã sau.





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
3

Đọc hình ảnh liên quan đến sản phẩm

Phần trước đó sẽ không hoạt động nếu không có phương thức “readByProductId()” bên trong tệp “

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
18”





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
4

Chỉ có một hình ảnh sản phẩm được hiển thị tại một thời điểm. Phần này hiển thị hình ảnh sản phẩm lớn hơn dựa trên hình thu nhỏ của sản phẩm được di chuột

Mở tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
11. Thay thế ______189 nhận xét bằng đoạn mã sau.





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
5

Làm cho hình ảnh di chuột hoạt động

Đặt đoạn mã jQuery sau vào bên trong “$(document). ready(function(){” của tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
19





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
6

Hiển thị chi tiết sản phẩm

Phần này hiển thị giá sản phẩm, mô tả và danh mục

Mở tệp

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='products that can be added to cart' AUTO_INCREMENT=41 ;
11. Thay thế ______192 nhận xét bằng đoạn mã sau.





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
7

Kết xuất nút 'Giỏ hàng'

Lúc này sẽ hiển thị nút “Thêm vào giỏ hàng” nếu sản phẩm chưa được thêm vào giỏ hàng. Nếu không, chúng tôi sẽ hiển thị nút 'cập nhật giỏ hàng'

Đặt mã sau sau mã của phần trước





    
    
    

    <?php echo isset($page_title) ? $page_title : "The Code of a Ninja"; ?>

    
    

    
    




	

    
    
8

đầu ra

Khi người dùng nhấp vào bất kỳ hình ảnh sản phẩm nào trong sản phẩm. php, anh ấy sẽ chuyển đến trang sản phẩm giống như hình bên dưới

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Nếu người dùng di chuột vào bất kỳ hình thu nhỏ hoặc hình ảnh nhỏ nào, thì hình ảnh lớn cũng sẽ thay đổi. Nút “Thêm vào giỏ hàng” cũng đang hoạt động

Đây là kết quả khi sản phẩm đã được thêm vào giỏ hàng.

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Nếu người dùng nhấp vào nút “Cập nhật giỏ hàng”, anh ấy sẽ đến trang giỏ hàng nơi anh ấy có thể cập nhật số lượng giỏ hàng.

Mọi người nói gì về mã này?

Tôi rất vui vì mã này làm hài lòng người khác. Sau đây là một số trong số họ từ phần bình luận

★★★★★ “Này Mike, tên tôi là Leonardo đến từ Argentina. Tôi đã đọc blog của bạn khoảng 4 tháng kể từ bây giờ và tôi thực sự phải nói. hướng dẫn của bạn rất hay, chúng đã giúp tôi trong nhiều công việc của mình… Chà, cảm ơn bạn rất nhiều. Tôi thực sự ngưỡng mộ công việc của bạn. ” ~ Leonardo

★★★★★ “Trời ạ, hướng dẫn của bạn thật tuyệt vời. Tôi rất vui vì tôi đã tìm thấy blog của bạn. tôn trọng lớn. ” ~ Milos

★★★★★ “Tôi đã mua mã nguồn cấp 2 của bạn và nó rất tốt, giúp ích rất nhiều cho tôi. Đó là giá trị nó. Cám ơn rất nhiều. ” ~ Ashley Deanna Plata

★★★★★ “Xin chào, Đây là một kịch bản tuyệt vời và tôi đã trả tiền cho công việc của bạn (Thật xứng đáng). ” ~ Louis Blais

★★★★★ “Không từ ngữ nào có thể diễn tả được tôi biết ơn như thế nào đối với công việc và những bài báo bạn đăng, có một số rắc rối khi làm một số việc nhưng các bài báo của bạn như thường lệ đã giáng một đòn mạnh vào đầu. Chúng cũng là một cách tuyệt vời để mở rộng sau này. ” ~ Jeremy Smith

Tải xuống mã nguồn

Chúng tôi thực sự khuyên bạn nên làm theo hướng dẫn từng bước, chi tiết của chúng tôi ở trên trước. Không có gì đánh bại kinh nghiệm khi nói đến học tập. Nhưng chúng tôi tin rằng bạn sẽ học nhanh hơn nếu bạn cũng xem mã nguồn cuối cùng. Chúng tôi coi đó là hướng dẫn bổ sung của bạn

Hãy tưởng tượng giá trị hoặc nâng cấp kỹ năng mà nó có thể mang lại cho bạn. Thu nhập bổ sung bạn có thể nhận được từ công việc, dự án hoặc kinh doanh của mình. Thời gian quý báu mà bạn tiết kiệm được

Danh sách các tính năng

Tính năngMã nguồn CẤP 1Mã nguồn CẤP 2Học cách viết mã chức năng giỏ hàng đơn giảnCÓCÓLiệt kê tất cả các sản phẩm từ cơ sở dữ liệu MySQLCÓCÁC Trang trên trang danh sách sản phẩmCÓCÓThêm vào nút hành động giỏ hàngCÓCÓXóa khỏi nút hành động giỏ hàngCÓCẬP NHẬTCập nhật số lượng sản phẩmCÓCÚNGTrang thanh toán, trang đặt hàng & trang cảm ơnCÓCÓCtrang chi tiết sản phẩm kiểu AmazonCÓCÓThay đổi hình ảnh

MUA MÃ NGUỒN CẤP 1

MUA MÃ NGUỒN CẤP 2

Làm thế nào để chạy mã nguồn?

Khi bạn đã tải xuống mã nguồn, đây là cách bạn có thể chạy nó

  1. Giải nén các tập tin vào thư mục máy chủ của bạn
  2. Truy cập PhpMyAdmin của bạn, tạo cơ sở dữ liệu với tên “shop_cart_sessions_1”
  3. Nhập “shop_cart_sessions_1. sql” nằm trong thư mục “README”
  4. Bạn có thể cần thay đổi thông tin xác thực cơ sở dữ liệu trong/config/database. php
  5. Chạy “sản phẩm. php”, đây là tệp PHP chính. Chúng tôi không có chỉ số. php

Cần nhiều tính năng hơn?

Mô-đun giỏ hàng PHP. Bạn có thể tải xuống mã nguồn “PHP Shopping Cart & Ordering Module” của chúng tôi. Nó có một số tính năng bạn cần tìm hiểu thêm về cách xử lý người dùng, giỏ hàng và đặt hàng bằng công nghệ PHP & MySQL. CLICK VÀO ĐÂY ĐỂ TÌM HIỂU THÊM

Hệ thống giỏ hàng PHP. Bạn cũng có thể tải xuống mã nguồn “Hệ thống giỏ hàng PHP” của chúng tôi. Nhiều bạn yêu cầu mã nguồn kiểu này mà không có ở đây

Bạn cần một hệ thống giỏ hàng có quản lý người dùng (người bán và khách hàng), quản lý sản phẩm, quản lý đơn hàng, bảo mật và nhiều tính năng khác dựa trên mã nguồn của chúng tôi tại đây trong codeofaninja. com. CLICK VÀO ĐÂY ĐỂ TÌM HIỂU THÊM

Cái gì tiếp theo?

lựa chọn 1. Chúng tôi vừa học cách viết mã giỏ hàng trực tuyến từ đầu bằng PHP SESSIONS. Nhưng bạn có biết rằng chúng ta có thể tạo hầu hết các chức năng tương tự bằng cách sử dụng một cơ chế PHP khác có tên là COOKIES không?

Nếu bạn hào hứng tìm hiểu khái niệm mới này, hãy chuyển sang phần hướng dẫn tiếp theo. Hướng dẫn Giỏ hàng PHP Sử dụng COOKIES

Lựa chọn 2. Hướng dẫn tiếp theo này là bước khởi đầu cho hành trình lập trình JavaScript của chúng ta. Đi đến hướng dẫn tiếp theo của chúng tôi. Cách tạo API REST đơn giản trong PHP – Hướng dẫn từng bước

Hướng dẫn liên quan

Chúng tôi đã liệt kê tất cả các hướng dẫn phát triển web full-stack chất lượng cao tại đây. Bấm vào đây

Một số lưu ý

Tìm thấy một vấn đề?


Nếu bạn gặp sự cố với mã này, vui lòng gửi email cho chúng tôi. Trước khi bạn gửi email, vui lòng đọc quy tắc ứng xử của chúng tôi. Địa chỉ email của nhóm chúng tôi là [email được bảo vệ]


Vui lòng mô tả về vấn đề của bạn. Vui lòng cung cấp thông báo lỗi, ảnh chụp màn hình (hoặc bản ghi màn hình) và URL thử nghiệm của bạn. Cảm ơn


Đăng ký CodeOfaNinja


Nhận các hướng dẫn phát triển web có giá trị qua email của bạn. Đăng ký MIỄN PHÍ ngay bây giờ


Tên

E-mail

HP


Cảm ơn

Cảm ơn bạn đã nghiên cứu Hướng dẫn Giỏ hàng PHP của chúng tôi bằng SESSIONS. Hãy chia sẻ hướng dẫn của chúng tôi với bạn bè của bạn

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Bạn có thể sử dụng $_SESSION để lưu trữ Id mặt hàng và Số lượng . Trên trang thanh toán khi người dùng gửi/xác nhận đơn đặt hàng, bạn có thể lấy giá trị mặt hàng từ DB so với Id mặt hàng và tính Giá thực tế cho mặt hàng đó. Lưu câu trả lời này.

Làm cách nào để tạo giỏ hàng đơn giản trong PHP mà không cần cơ sở dữ liệu?

Tất cả hành động của giỏ hàng được thực hiện bằng cách sử dụng jQuery AJAX. .
Thư viện sản phẩm và HTML giỏ hàng. Tôi đã thiết kế landing page gồm 2 phần chính là sản phẩm và giỏ hàng. .
Nhận mảng sản phẩm và tạo thư viện. .
Thao tác giỏ hàng jQuery AJAX. .
Mã PHP để thực hiện hành động giỏ hàng. .
Lớp sản phẩm PHP

Làm cách nào để thêm nhiều mặt hàng vào giỏ hàng trong PHP?

Mỗi mặt hàng sản phẩm được hiển thị dưới dạng thẻ có tùy chọn hộp kiểm. Hộp kiểm này được sử dụng để chọn sản phẩm nếu người dùng muốn chuyển nó vào giỏ hàng. Sau khi chọn các sản phẩm yêu thích bằng cách sử dụng các hộp kiểm này, nút gửi Thêm vào giỏ hàng được sử dụng để gửi phần lớn các sản phẩm đã chọn tới PHP .