Hàm setrawcookie() của PHP

Định nghĩa và cách sử dụng

Hàm setrawcookie() không mã hóa URL cho giá trị cookie, gửi một HTTP cookie.

Cookie là biến được gửi từ máy chủ đến trình duyệt. Cookie thường là tệp văn bản nhỏ được máy chủ chèn vào máy tính của người dùng. Mỗi khi máy tính gửi yêu cầu trang thông qua trình duyệt, cookie này sẽ được gửi.

Tên của cookie được chỉ định bằng biến có tên tương tự. Ví dụ, nếu cookie được gửi có tên "name", sẽ tự động tạo biến $user chứa giá trị của cookie.

Phải gán giá trị cho cookie trước khi gửi bất kỳ đầu ra nào khác.

Nếu thành công, hàm này sẽ trả về true, ngược lại trả về false.

Cú pháp

setcookie(name,value,expire,path,domain,secure)
Tham số Mô tả
name Bắt buộc. Định nghĩa tên của cookie.
value Bắt buộc. Định nghĩa giá trị của cookie.
expire Tùy chọn. Định nghĩa thời gian hết hạn của cookie.
path Tùy chọn. Định nghĩa đường dẫn máy chủ của cookie.
domain Tùy chọn. Định nghĩa tên miền của cookie.
secure Tùy chọn. Định nghĩa có nên truyền cookie qua kết nối HTTPS an toàn hay không.

Cảnh báo và ghi chú

Ghi chú:Bạn có thể truy cập giá trị của cookie có tên "user" bằng $HTTP_COOKIE_VARS["user"] hoặc $_COOKIE["user"].

Ghi chú:setrawcookie() và setcookie() Hầu như hoàn toàn giống nhau, khác biệt là không tự động mã hóa URL cho giá trị cookie khi gửi đến máy khách.

Mô hình

Ví dụ 1

Cài đặt và gửi cookie:

<?php
$value = "my cookie value";
// Gửi một cookie đơn giản
setrawcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// Gửi một cookie hết hạn sau 24 giờ
setrawcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...

Ví dụ 2

Tìm kiếm giá trị cookie khác nhau bằng các phương pháp:

<html>
<body>
<?php
// 输出个别的 cookie
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Output tất cả cookie
print_r($_COOKIE);
?>
</body>
</html>

Output:

my cookie value
my cookie value
Array ([TestCookie] => my cookie value)

Ví dụ 3

// Xóa một cookie bằng cách đặt ngày hết hạn là ngày/giờ trong quá khứ

<?php
// Đặt ngày hết hạn là một giờ trước
setrawcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

Ví dụ 4

Tạo một mảng cookie:

<?php
setrawcookie("cookie[three]","cookiethree");
setrawcookie("cookie[two]","cookietwo");
setrawcookie("cookie[one]","cookieone");
// Output cookie (sau khi tải lại trang)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>
...
...

Output:

three : cookiethree
two : cookietwo
one : cookieone