PHP - Cookies
Cấu trúc của Cookie
Cookies là những phần nhỏ dữ liệu được lưu trữ trên máy tính của người dùng bởi trình duyệt web trong quá trình duyệt web. Chúng được sử dụng để ghi nhớ thông tin về người dùng, chẳng hạn như sở thích hoặc trạng thái đăng nhập, giữa các phiên. Trong PHP, cookies có thể được thiết lập và truy cập bằng cách sử dụng các hàm内置.
Cookie là gì?
Một cookie là một tệp văn bản mà một trang web đặt trên đĩa cứng của máy tính của bạn. Mỗi lần bạn truy cập trang web, trình duyệt sẽ gửi cookie quay lại máy chủ để thông báo cho trang web về hoạt động trước đó của bạn. Điều này cho phép các trang web tùy chỉnh trải nghiệm của bạn dựa trên các tương tác trước đó của bạn với chúng.
Loại Cookies
Có hai loại cookies: cookies phiên và cookies vĩnh viễn.
- Cookies Phiên: Những cookies này là tạm thời và sẽ bị xóa khi người dùng đóng trình duyệt. Chúng hữu ích cho việc lưu trữ thông tin tạm thời như danh sách các mục trong giỏ hàng.
- Cookies Vĩnh Viễn: Những cookies này tồn tại trên máy tính của người dùng cho đến khi chúng đạt đến ngày hết hạn hoặc bị người dùng xóa手动. Chúng được sử dụng cho việc theo dõi lâu dài, chẳng hạn như duy trì sở thích người dùng hoặc các phiên đăng nhập.
Làm thế nào để thiết lập một Cookie trong PHP?
Để thiết lập một cookie trong PHP, bạn sử dụng hàm setcookie()
. Dưới đây là cách bạn có thể làm điều đó:
<?php
// Thiết lập một cookie tên là "username" với giá trị "JohnDoe" và hết hạn sau 30 ngày
setcookie("username", "JohnDoe", time() + (86400 * 30), "/");
?>
Trong ví dụ này, chúng ta đang thiết lập một cookie tên là "username" với giá trị "JohnDoe". Tham số thứ ba là thời gian hết hạn, được tính bằng cách thêm số giây trong 30 ngày vào thời gian hiện tại (time()
). Tham số thứ tư là đường dẫn mà cookie khả dụng. Bằng cách đặt nó là "/", điều đó có nghĩa là cookie khả dụng trên toàn bộ trang web.
Truy cập Cookies với PHP
Khi một cookie đã được thiết lập, bạn có thể truy cập giá trị của nó bằng cách sử dụng mảng $_COOKIE
toàn cục trong PHP. Dưới đây là một ví dụ về cách lấy giá trị của cookie "username":
<?php
if(isset($_COOKIE["username"])) {
echo "Chào mừng quay lại, " . $_COOKIE["username"] . "!";
} else {
echo "Chào mừng, khách!";
}
?>
Trong đoạn mã này, chúng ta kiểm tra xem cookie "username" có được thiết lập hay không bằng cách sử dụng isset()
. Nếu nó tồn tại, chúng ta hiển thị một tin nhắn chào mừng với tên người dùng. Nếu không, chúng ta hiển thị một tin nhắn chào mừng chung cho khách.
Xóa Cookies
Để xóa một cookie, bạn cần thiết lập thời gian hết hạn của nó thành một ngày đã qua. Dưới đây là cách bạn có thể xóa cookie "username":
<?php
// Xóa cookie "username"
setcookie("username", "", time() - 3600);
?>
Bằng cách thiết lập thời gian hết hạn thành một ngày đã qua, trình duyệt sẽ tự động xóa cookie. Trong ví dụ này, chúng ta đang thiết lập thời gian hết hạn thành một giờ trước, hiệu quả là xóa cookie "username".
Đó là tất cả! Bây giờ bạn đã biết cách thiết lập, truy cập và xóa cookies trong PHP. Nhớ rằng, cookies nên được sử dụng một cách có trách nhiệm, vì chúng có thể lưu trữ thông tin nhạy cảm. Luôn đảm bảo rằng trang web của bạn tuân theo các thực hành tốt nhất cho quản lý cookies và quyền riêng tư của người dùng.
Chúc bạn viết mã vui vẻ!
Credits: Image by storyset