Cookies

Biến $_COOKIE là biến superglobals lưu giữ các giá trị cookies mà trình duyệt gửi lên.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<!DOCTYPE html>
<html lang="en">
<body>
  <pre>
    <?php var_dump($_COOKIE); ?>
  </pre>
  <div>Load lại trang (Ctrl + R) lần đầu để thấy cookie myname</div>
  <script>
    document.cookie = 'myname=Bill Gates;';
  </script>
</body>
</html>

Hàm setcookie

Để gửi xuống các cookie mới cho trình duyệt, hãy sử dụng hàm setcookie. Hàm này có hai dạng như sau:

  • setcookie ( string $name [, string $value = "” [, int $expires = 0 [, string $path = "” [, string $domain = "” [, bool $secure = FALSE [, bool $httponly = FALSE ]]]]]] ) : bool
  • setcookie ( string $name [, string $value = "” [, array $options = [] ]] ) : bool

Trong hàm thứ hai giá trị của tham số $options là một mảng chứa các key expires, path, domain, secure, httponlysamesite.

Ví dụ sau sẽ tạo cookie myname với thời gian hết hạn là một giờ sau.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<!DOCTYPE html>
<html lang="en">
<body>
  <pre>
    <?php setcookie('myname', 'Steve Job', time()+3600); ?>
  </pre>
  <script>
    alert(decodeURI(document.cookie));
  </script>
</body>
</html>