(PHP 4, PHP 5, PHP 7)
setcookie — ���� Cookie
$name
[, string $value
= ""
[, int $expire
= 0
[, string $path
= ""
[, string $domain
= ""
[, bool $secure
= false
[, bool $httponly
= false
]]]]]] ) : boolsetcookie() ������ Cookie�����ʣ�µ� HTTP ͷһ�����ͻ��ˡ� ������ HTTP ͷһ���������ڽű������������֮ǰ���� Cookie������Э������ƣ��� ���ڲ����κ����֮ǰ������ <html> �� <head> ���߿ո��ñ�������
һ������ Cookie ���´δ�ҳ��ʱ����ʹ�� $_COOKIE ��ȡ�� Cookie ֵͬ��Ҳ������ $_REQUEST��
» RFC 6265 �ṩ�� setcookie() ÿ�������IJο�����
name
Cookie ���ơ�
value
Cookie ֵ��
���ֵ�������û��ĵ��������������Ϣ��
���� name
�� 'cookiename'��
��ͨ�� $_COOKIE['cookiename'] ��ȡ����ֵ��
expire
Cookie �Ĺ���ʱ�䡣 ���Ǹ� Unix ʱ������� Unix ��Ԫ��������������ʱ�� 1970 �� 1 �� 1 �� 00:00:00���������� Ҳ����˵������������ time() �����Ľ������ϣ�����ڵ������� ����Ҳ������ mktime()�� time()+60*60*24*30 �������� Cookie 30 �����ڡ� ������ó��㣬���ߺ��Բ����� Cookie ���ڻỰ����ʱ���ڣ�Ҳ���ǹص������ʱ����
Note:
�����ע��ˣ�
expire
ʹ�� Unix ʱ������� Wdy, DD-Mon-YYYY HH:MM:SS GMT ���������ڸ�ʽ������Ϊ PHP �ڲ�����ת����
path
Cookie ��Ч�ķ�����·����
���ó� '/' ʱ��Cookie ���������� domain
����
������ó� '/foo/'�� Cookie ������ domain
�� /foo/ Ŀ¼������Ŀ¼��Ч������ /foo/bar/����
Ĭ��ֵ������ Cookie ʱ�ĵ�ǰĿ¼��
domain
Cookie ����Ч����/�������� ���ó������������� 'www.example.com'������ʹ Cookie ���������������������������Ч������ w2.www.example.com���� Ҫ�� Cookie ������������Ч����������ȫ������������ֻҪ���ó������Ϳ����ˣ������������ 'example.com'����
�ɰ��������Ȼ��ʹ�÷����� » RFC 2109�� ��Ҫһ��ǰ�õĵ� . ��ƥ��������������
secure
������� Cookie �Ƿ����ͨ����ȫ�� HTTPS ���Ӵ����ͻ��ˡ�
���ó� TRUE
ʱ��ֻ�а�ȫ���Ӵ���ʱ�Ż����� Cookie��
������ڷ������˴������������Ա��Ҫ�����ڰ�ȫ�����Ϸ��ʹ��� Cookie
��ͨ�� $_SERVER["HTTPS"] �жϣ���
httponly
���ó� TRUE
��Cookie ����ͨ�� HTTP Э����ʡ�
����˼���� Cookie ��ͨ������ JavaScript �����Ľű����Է��ʡ�
Ҫ��Ч���� XSS ����ʱ�������ȡ��Ϊ���ɽ����ô����ã���Ȼ���������������֧�֣����������˵�����������顣
PHP 5.2.0 ����ӡ�
TRUE
�� FALSE
����ڵ��ñ�������ǰ�Ͳ����������setcookie() �����ʧ�ܲ����� FALSE
��
��� setcookie() �ɹ����У����� TRUE
����Ȼ��������˼�����û��Ƿ��ѽ��� Cookie��
���� Cookie �ļ������ӣ�
Example #1 setcookie() ��������
<?php
$value = 'something from somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* 1 Сʱ���� */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
?>
ע�⣺�ڷ��� Cookie ʱ��ֵ�IJ��ֻᱻ�Զ� urlencode ���롣�յ� Cookie ʱ�����Զ����룬����ֵ���ɱ�� Cookie �����ϡ� ������뱻���룬����ʹ�� setrawcookie() ����——������ PHP �汾�� 5 �����ϡ� �ڽű���鿴���ǵIJ��� Cookie �����ݣ�ʹ�������һ�����ӣ�
<?php
// ��ӡһ�������� Cookie
echo $_COOKIE["TestCookie"];
// debug/test �鿴���� Cookie ����һ�ַ�ʽ
print_r($_COOKIE);
?>
Example #2 setcookie() ɾ������
Ҫɾ��һ�� Cookie��Ӧ�����ù���ʱ��Ϊ��ȥ���Դ����������ɾ�����ơ� ���������չʾ�����ɾ���ϸ�������� Cookie��
<?php
// ���ù���ʱ��Ϊһ��Сʱǰ
setcookie("TestCookie", "", time() - 3600);
setcookie("TestCookie", "", time() - 3600, "/~rasmus/", "example.com", 1);
?>
Example #3 setcookie() ������
ͨ���� array ��ǵ� Cookie ���ƣ�Ҳ���� Cookie ���ó����顣 ���������Ԫ�أ��������Ž� Cookie � �ű����յ�ʱ��Cookie �������ֵ����һ�����飺
<?php
// ���� Cookie
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// ��ҳˢ�º�ӡ����������
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
$name = htmlspecialchars($name);
$value = htmlspecialchars($value);
echo "$name : $value <br />\n";
}
}
?>
�������̻������
three : cookiethree two : cookietwo one : cookieone
�汾 | ˵�� |
---|---|
5.5.0 | �����ͻ��˵� Set-Cookie ͷ���ڻ���� Max-Age ���ԡ� |
5.2.0 |
��� httponly ������
|
Note:
Ҫ�ڵ��ñ�����ǰ������ݣ�����ʹ��������壺������������ڷ������ﻺ�������� ֱ����������������� ���ڽű������ ob_start() �� ob_end_flush()�� ������ output_buffering php.ini ������������ļ��������ָ�
Note:
��� PHP ָ�� register_globals ���ó� on��Cookie ֵ���Զ����óɱ����� ��������������� $TestCookie�� �����Ƽ���ʹ�� $_COOKIE��
ע��ܿӣ�
expire
�������õġ�
ֱ�ӵ��� print_r($_COOKIE); ���Լ�� Cookie �Ǹ��ܺõķ�ʽ��
FALSE
�����������������ϴε��� setcookie �Ծ�һ����
��ָ�������ƻᱻԶ�̿ͻ���ɾ����
�ڲ���ʵ���ǣ���ֵ���ó� 'deleted'�����ҹ���ʱ����һ��ǰ��
FALSE
�ᵼ�� Cookie ��ɾ��������Ҫ����ʹ�ò���ֵ��
���淽ʽ��0 �� FALSE
��1 �� TRUE
��
��ε��� setcookie() �ᰴ����˳��ִ�С�