Cookie PHP
Cookie là gì?
Cookie thường được sử dụng để xác định người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi khi cùng một máy tính yêu cầu một trang có trình duyệt, nó cũng sẽ gửi cookie. Với PHP, bạn có thể vừa tạo và lấy các giá trị cookie.
Tạo cookie bằng PHP
Một cookie được tạo với setcookie()
chức năng.
Cú pháp
setcookie(name, value, expire, path, domain, secure, httponly);
Chỉ tham số tên là bắt buộc. Tất cả các thông số khác là tùy chọn.
PHP Tạo / Lấy Cookie
Ví dụ sau tạo một cookie có tên "người dùng" với giá trị "John Doe". Cookie sẽ hết hạn sau 30 ngày (86400 * 30). "/" Có nghĩa là cookie có sẵn trong toàn bộ trang web (nếu không, hãy chọn thư mục bạn thích).
Sau đó, chúng tôi truy xuất giá trị của cookie "người dùng" (sử dụng biến toàn cục $ _COOKIE). Chúng tôi cũng sử dụng isset()
chức năng này để tìm hiểu xem cookie có được đặt hay không:
Thí dụ
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Lưu ý: Hàmsetcookie()
phải xuất hiện TRƯỚC thẻ <html>.
Lưu ý: Giá trị của cookie tự động được mã hóa URL khi gửi cookie và tự động được giải mã khi nhận được (để ngăn mã hóa URL, hãy sử dụng setrawcookie()
thay thế).
Sửa đổi giá trị cookie
Để sửa đổi cookie, chỉ cần đặt (lại) cookie bằng cách sử dụng setcookie()
chức năng:
Thí dụ
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Xóa cookie
Để xóa cookie, hãy sử dụng setcookie()
chức năng có ngày hết hạn trong quá khứ:
Thí dụ
<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Kiểm tra xem Cookie đã được Bật chưa
Ví dụ sau tạo một tập lệnh nhỏ để kiểm tra xem cookie có được bật hay không. Trước tiên, hãy thử tạo cookie thử nghiệm với setcookie()
hàm, sau đó đếm biến mảng $ _COOKIE:
Thí dụ
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
Toàn bộ tham chiếu mạng PHP
Để có tài liệu tham khảo đầy đủ về các chức năng Mạng, hãy truy cập Tài liệu tham khảo mạng PHP hoàn chỉnh của chúng tôi .