PHP
PHP

Trang chủ

Tìm hiểu về Cookie trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
19/06/2024
6 phút đọc
Theo dõi Vietnix trên

Tìm hiểu về Cookie trong PHP

Cookie là một khái niệm quan trọng trong lập trình web, cung cấp cách để lưu trữ thông tin trên trình duyệt của người dùng. Trong PHP, cookie được sử dụng để duy trì trạng thái và lưu trữ thông tin như các tùy chọn đăng nhập, ngôn ngữ được chọn, và các tùy chỉnh cá nhân khác. Bằng cách sử dụng cookies, các ứng dụng web có thể cung cấp trải nghiệm cá nhân hóa cho người dùng và lưu trữ thông tin trạng thái giữa các yêu cầu trang web. Hãy cùng Vietnix tìm hiểu thêm về chủ đề Cookie trong PHP qua bài viết sau đây.

Cookie trong PHP là một đoạn dữ liệu nhỏ được web server gửi đến và lưu trữ trên máy tính của người dùng (client). Chúng có thể được sử dụng để theo dõi thông tin như tùy chọn, giỏ hàng, và trong một số trường hợp, thông tin tài khoản người dùng. Điều này giúp trang web cá nhân hóa trải nghiệm cho người dùng khi họ quay lại.

Cookie trong PHP
Tìm hiểu cookie trong PHP

Cookie chỉ có thể được đọc từ tên miền mà nó đã được phát hành từ đó. Cookies cũng thường được đặt trong HTTP header nhưng Javascript cũng có thể đặt trực tiếp trong trình duyệt.

Cookie thường được sử dụng để theo dõi các hoạt động của người dùng, nhưng cũng cần phải được sử dụng một cách cẩn thận để đảm bảo quyền riêng tư và bảo mật của người dùng. Bên cạnh đó, trong PHP, các hàm và cú pháp được cung cấp để quản lý và tương tác với cookies, giúp các nhà phát triển xây dựng ứng dụng web mạnh mẽ và đáng tin cậy.

Cài đặt Cookie trong PHPĐể cài đặt, bạn dùng hàm setcookie(). Hàm này cần phải gọi lên trước bất kỳ output nào được tạo ra từ file script nếu không cookie sẽ không thể thiết lập.
Cú phápsetcookie(name, value, expire, path, domain, security);
Tham số1. Name: chỉ định tên cho cookie.
2. Value: dùng để đặt giá trị cho cookie.
3. Expire: dùng để đặt mốc thời gian hết hạn của cookie vá sau đó cookie sẽ không thể truy cập.
4. Path: dùng để chỉ định đường dẫn trên server mà cookie khả dụng.
5. Domain: chỉ định tên miền mà cookie khả dụng.
6. Security: chỉ định cookie chỉ có thể gửi đi nếu có kết nối HTTPS an toàn.

Mọi người cũng xem:

Giả định khởi tạo một cookie tên là Auction_Item and gán giá trị Luxury Car cho chúng. Gia hạn 2 ngày hiệu lực cho cookie (2 days * 24 hours * 60 mins * 60 seconds).

Bạn sẽ có mẫu ví dụ như sau:

<!DOCTYPE html>
<?php
	setcookie("Auction_Item", "Luxury Car", time() + 2 * 24 * 60 * 60);
?>
<html>
<body>
	<?php
		echo "cookie is created."
	?>
	<p>
		<strong>Note:</strong>
		You might have to reload the
		page to see the value of the cookie.
	</p>

</body>
</html>

Output nhận được là:

1 1
Demo khởi tạo cookie

Lưu ý: chỉ có tham số Name là bắt buộc, để bỏ qua các tham số khác bạn có thể thay bằng chuỗi trống.

Lời khuyên là bạn phải luôn kiểm tra điều này trước khi truy cập giá trị của cookie. Để kiểm tra thì cần dùng hàm isset()trong PHP. Ví dụ bạn sẽ kiểm tra cookie tên Auction_Item ban đầu khởi tạo bằng hàm isset() theo đoạn code sau:

<!DOCTYPE html>
<?php
	setcookie("Auction_Item", "Luxury Car", time() + 2 * 24 * 60 * 60);
?>
<html>
<body>
	<?php
	if (isset($_COOKIE["Auction_Item"]))
	{
		echo "Auction Item is a " . $_COOKIE["Auction_Item"];
	}
	else
	{
		echo "No items for auction.";
	}
	?>
	<p>
		<strong>Note:</strong>
		You might have to reload the page
		to see the value of the cookie.
	</p>

</body>
</html>

Output lúc này sẽ như sau:

20211128220022
Kiểm tra thiết lập cookie

Để truy cập vào giá trị cả cookie, bạn cần dùng biến superglobal $_COOKIE. Đó là một array chứa bản record mọi giá trị cookie được gửi đi bởi trình duyệt trong các request gần đây. Bản record này sẽ lưu trữ thành danh sách mà trong đó tên coockie sử dụng làm key. Ví dụ bạn muốn truy cập cookie tên Auction_Item, bạn sẽ viết đoạn code như sau:

<!DOCTYPE html>
<?php
	setcookie("Auction_Item", "Luxury Car", time() + 2 * 24 * 60 * 60);
?>
<html>
<body>
<?php
	echo "Auction Item is a " . $_COOKIE["Auction_Item"];
?>
	<p>
		<strong>Note:</strong>
		You might have to reload the page
		to see the value of the cookie.
	</p>

</body>
</html>

Output như sau:

2
Truy cập giá trị cookie

Để xóa cookie, người dùng sẽ chọn hàm setcookie(), được gọi bằng cách truyền tên cookie và các đối số khác hay chuỗi trống vào hàm. Tuy nhiên trong ví dụ sau, để xóa cookie thì người dùng sẽ đặt thời gian hết hạn lùi ngược về trước.

<!DOCTYPE html>
<?php
	setcookie("Auction_Item", "Luxury Car", time() + 2 * 24 * 60 * 60);
?>
<html>
<body>
	<?php
	setcookie("Auction_Item", "", time() - 60);
	?>
	<?php
		echo "cookie is deleted"
	?>
	<p>
		<strong>Note:</strong>
		You might have to reload the page
		to see the value of the cookie.
	</p>

</body>
</html>

Khi này output sẽ như sau:

3 1
Demo xoá cookie

Lưu ý: Trong trường hợp bạn chỉnh thời gian hết hạn về 0 hoặc bỏ qua nó, thì cookie sẽ chỉ hết hạn khi bạn đóng trình duyệt. Để đảm bảo rằng xóa đúng cookie, bạn nên truyền vào đúng đường dẫn, tên miền cũng như các đối số khác.

Lời kết

Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về Cookies trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn