Hàm setrawcookie () trong PHP
Thí dụ
Ví dụ sau tạo một cookie bằng PHP. Cookie được đặt tên là "người dùng" và giá trị sẽ là "John Doe". Giá trị cookie sẽ không được mã hóa URL. Cookie sẽ hết hạn sau 30 ngày (86400 * 30). Sử dụng "/", 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):
<?php
$cookie_name = "user";
$cookie_value = "John";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>
<?php
echo "Cookie is set.";
?>
</body>
</html>
?>
Định nghĩa và Cách sử dụng
Hàm setrawcookie () xác định một cookie (không có mã hóa URL) sẽ được gửi cùng với phần còn lại của tiêu đề HTTP.
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ên của cookie được tự động gán cho một biến có cùng tên. Ví dụ: nếu một cookie được gửi với tên "người dùng", một biến được tạo tự động có tên là $ user, chứa giá trị cookie.
Lưu ý: Hàm setrawcookie () phải xuất hiện TRƯỚC thẻ <html>.
Lưu ý: Để tự động mã hóa URL giá trị cookie khi gửi và tự động giải mã khi nhận, hãy sử dụng hàm setcookie () để thay thế.
Cú pháp
setrawcookie(name, value, expire, path, domain, secure);
Giá trị tham số
Parameter | Description |
---|---|
name | Required. Specifies the name of the cookie |
value | Optional. Specifies the value of the cookie |
expire | Optional. Specifies when the cookie expires. The value: time()+86400*30, will set the cookie to expire in 30 days. If this parameter is not set, the cookie will expire at the end of the session (when the browser closes) |
path | Optional. Specifies the server path of the cookie. If set to "/", the cookie will be available within the entire domain. If set to "/php/", the cookie will only be available within the php directory and all sub-directories of php. The default value is the current directory that the cookie is being set in |
domain | Optional. Specifies the domain name of the cookie. To make the cookie available on all subdomains of example.com, set domain to ".example.com". Setting it to www.example.com will make the cookie only available in the www subdomain |
secure | Optional. Specifies whether or not the cookie should only be transmitted over a secure HTTPS connection. TRUE indicates that the cookie will only be set if a secure connection exists. Default is FALSE. |
Chi tiết kỹ thuật
Giá trị trả lại: | ĐÚNG về thành công. FALSE khi thất bại |
---|---|
Phiên bản PHP: | 5+ |
Các ví dụ khác
Thí dụ
Truy xuất giá trị của cookie có tên "người dùng" (sử dụng biến toàn cục $ _COOKIE). Ngoài ra, hãy sử dụng hàm Isset () để tìm hiểu xem cookie có tồn tại hay không:
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Thí dụ
Để sửa đổi cookie, chỉ cần đặt (lại) cookie bằng hàm setrawcookie ():
<?php
$cookie_name = "user";
$cookie_value = "Alex";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Thí dụ
Để xóa cookie, hãy sử dụng hàm setrawcookie () với ngày hết hạn trong quá khứ:
<?php
$cookie_name = "user";
unset($_COOKIE[$cookie_name]);
// empty value and expiration one hour before
$res = setrawcookie($cookie_name, '', time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Thí dụ
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 bằng hàm setrawcookie (), sau đó đếm biến mảng $ _COOKIE:
<?php
setrawcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled";
} else {
echo "Cookies are disabled";
}
?>
</body>
</html>
❮ Tham chiếu mạng PHP