关于PHP的COOKIE:
COOKIE可以存放将一些数据放在客户端上,而不用服务器端来保留这些记录
这也就是说 COOKIE可以被客户端那方任意修改 所以说 不能存重要的东西
设置COOKIE
usage : bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )
string name : 要存放的名字,存入的cookie相当于个数组
string value : 存放的值
int expire : 设置过期时间 存入的为unix时间戳(现行时间戳:time()), 如果设置的小于time(),则浏览器自动删除这个过期cookie, 设置一小时后过期: time() + 3600(60分 * 每份60秒)
string path : 设置cookie存放的目录,不设置即为'/', 也就是全站都生效,要在其他单独目录下生效就为 '/dir/'
string domain : 默认使cookie在你的服务器下 xxx.com都可以用,比如你有 a.xxx.com 还有 b.xxx.com ,如果设置为 a.xxx.com 则存在于a的不会再b的网址出现,设置为 '.xxx.com' 即为通用(默认)
string secure : 设置验证cookie是否通过安全的HTTPS连接, 如果为true且不是安全的HTTPS连接则会设置失败,默认为false
bool httponly: 设置是否让cookie存放于document中 设置false之后 无法用js的document.cookie获取
<?php
// 使用setcookie之后需要刷新才可以被$_COOKIE获取
setcookie('my_name', 'xxx', time() + 60 * 60 * 24, '/', '.xxx.com', false, false);
// 创建 COOKIE 数组
setcookie('my[name]', 'xxx');
setcookie('my[age]', 'xxx');
setcookie('my[sex]', 'xxx');
// 空数组 , 需要刷新
var_dump($_COOKIE);
?>
获取COOKIE
<?php
var_dump($_COOKIE);
var_dump($_COOKIE['my_name']);
// 使用 $_COOKIE['xx'] = 'xxx'; 不可直接更改 需要再次使用 setcookie()
?>
删除COOKIE
<?php
setcookie('my_name', '', time() - 1); // 过期
?>