Hàm setcookie() của PHP
Định nghĩa và cách sử dụng
Hàm setcookie() gửi một HTTP cookie đến client.
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ởi biến có cùng tên. 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, nếu không thì trả về false.
Ngữ 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 hiệu lực 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ó gửi cookie qua kết nối HTTPS an toàn hay không. |
Hướng dẫn 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ú:Khi gửi cookie, giá trị của cookie sẽ tự động được mã hóa URL. Khi nhận sẽ được giải mã URL. Nếu bạn không cần như vậy, bạn có thể sử dụng setrawcookie() Thay thế.
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 setcookie("TestCookie",$value); ?> <html> <body> ... ...
<?php $value = "my cookie value"; // Gửi một cookie hết hạn sau 24 giờ setcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> ... ...
Ví dụ 2
Tìm kiếm các phương pháp khác nhau để lấy giá trị cookie:
<html> <body> <?php // 输出个别的 cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // Xuất ra tất cả cookie print_r($_COOKIE); ?> </body> </html>
Kết quả xuất ra:
my cookie value my cookie value Array ([TestCookie] => my cookie value)
Ví dụ 3
// Bằng cách đặt ngày hết hạn thành ngày/giờ quá khứ, xóa một cookie:
<?php // Đặt ngày hết hạn thành một giờ trước setcookie ("TestCookie", "", time() - 3600); ?> <html> <body> ... ...
Ví dụ 4
Tạo một mảng cookie:
<?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); // Xuất ra cookie (sau khi tải lại trang) if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />"; } } ?> <html> <body> ... ...
Kết quả xuất ra:
three : cookiethree two : cookietwo one : cookieone