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