Cookie trong PHP

Cookie trong PHP là gì? Sử dụng như thế nào? Trong bài viết dưới đây, eLib sẽ hướng dẫn bạn sẽ tìm hiểu làm thế nào để sử dụng cookies trong PHP lưu trữ một số thông tin trong trình duyệt của người dùng. Cùng theo dõi nhé!

Cookie trong PHP

1. 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 trên máy tính của người dùng. Mỗi lần cùng một máy tính yêu cầu một trang với một trình duyệt, nó cũng sẽ gửi cookie tới server. Bạn có thể tạo và truy xuất các giá trị cookie trong PHP.

2. Tạo cookie trong PHP

Hàm setcookie() được sử dụng để tạo cookie:

Cú pháp:

setcookie(name, value, expire, path, domain, secure, httponly);

Chỉ có tham số name là bắt buộc. Tất cả các thông số khác là tùy chọn.

3. Tạo và đọc cookie trong PHP

Ví dụ sau tạo cookie có tên "user" với giá trị "David Vinh". 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 ta đọc giá trị của cookie "user" (sử dụng biến toàn cầu $_COOKIE). Chúng ta cũng sử dụng hàm isset() để kiểm tra xem cookie đã được tạo chưa:

File: cookie-trong-php-1.php

<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "David Vinh";
// 86400 = 1 day
setcookie($cookie_name, $cookie_value, time() + (86400 * 30) , "/");
?>
<html>
<body>

<?php
if (!isset($_COOKIE[$cookie_name]))
{
    echo "Cookie có tên '" . $cookie_name . "' chưa được tạo!";
}
else
{
    echo "Cookie '" . $cookie_name . "' đã được tạo!<br>";
    echo "Giá trị là: " . $_COOKIE[$cookie_name];
}
?>

<p><strong>Chú ý:</strong> Có thể bạn phải tại lại trang web này
để tạo cookie và đọc cookie.</p>

</body>
</html>

Kết quả:

Cookie 'user' đã được tạo!
Giá trị là: David Tèo
Chú ý: Có thể bạn phải tại lại trang web này để tạo cookie và đọc cookie.

Chú ý: Hàm setcookie() phải đặt TRƯỚC thẻ <html>.

4. Sửa đổi giá trị cookie trong PHP

Để sửa đổi một cookie, chỉ cần thiết lập (một lần nữa) cookie bằng cách sử dụng hàm setcookie():

File: cookie-trong-php-2.php

<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "David Tèo";
// 86400 = 1 day
setcookie($cookie_name, $cookie_value, time() + (86400 * 30) , "/");
?>
<html>
<body>

<?php
if (!isset($_COOKIE[$cookie_name]))
{
    echo "Cookie có tên '" . $cookie_name . "' chưa được tạo!";
}
else
{
    echo "Cookie '" . $cookie_name . "' đã được tạo!<br>";
    echo "Giá trị là: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>

Kết quả:

Cookie 'user' đã được tạo!
Giá trị là: David Tèo

5. Xóa cookie trong PHP

Để xóa cookie, hãy sử dụng hàm setcookie() với ngày hết hạn trong quá khứ:

File: cookie-trong-php-3.php

<?php
// thiết lập thời gian hết hạn là 1h trước
setcookie("user", "", time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' đã bị xóa.";
?>

</body>
</html>

Kết quả:

Cookie 'user' đã bị xóa.

6. Kiểm tra xem Cookies có được bật hay không

Ví dụ sau kiểm tra xem cookie có được bật hay không. Trước tiên, hãy thử tạo một cookie bằng hàm setcookie() trong PHP, sau đó đếm số phần tử của mảng mảng $_COOKIE:

File: cookie-trong-php-4.php

<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>

<?php
if (count($_COOKIE) > 0)
{
    echo "Cookies đang được bật.";
}
else
{
    echo "Cookies đang bị tắt.";
}
?>

</body>
</html>

Kết quả:

Cookies đang được bật.

Trên đây là bài viết của eLib.VN về Cookie trong PHP. Chúng tôi hi vọng bài viết này mang lại cho các bạn kiến thức để làm tiền đề khi đam mê lập trình PHP. Chúc các bạn thành công!

Ngày:09/10/2020 Chia sẻ bởi:Ngoan

CÓ THỂ BẠN QUAN TÂM