php之cookie【1】

cookie是一种会话技术,通常用来保存会话中需要长时间存储的数据。比如记录登录信息(最好MD5加密存储),未登录状态购物车信息存储。

php之cookie【1】_第1张图片

如上图可见cookie的产生和内容是由服务器发出的指令,而cookie的保存和提交(请求时携带cookie提交到服务器)是由浏览器内部实现的。

在php中用setcookie这个函数来告诉浏览器去产生和保存cookie。

/**
 * 
 * $name  string 键名
 * $value string 键值
 * $expire int 有效期 默认是0 在会话结束时失效 , time()+3600 是一小时内有效
 * $path string 默认当前目录,cookie对当前目录及其子目录有效,设置'/'对整站有效
 * $domain string有效域,默认是当前域名, 可设置为 ".baidu.com",那么news.baidu.com的子域名也有效
 * $secure boolean   是否仅对https时携带cookie  默认 false 
 * $httponly boolean 是否仅在http下能使用, 默认false,那么JS也可以读取,如为true,仅http下能使用cookie
 */
setcookie($name, $value, $expire, $path, $domain, $secure, $httponly)

setcookie的七个形参,表明了cookie有7个属性。其中$name,
$value是必选参数,其他都为可选,$value的值类型只能为字符串类型。

如果要保存非字符串类型的值可以做如下处理:

//保存非string类型的值
setcookie('KEY',serialize($val));

//读取
unserialize($_COOKIE['KEY']);

删除一个cookie就是让有效期过期

setcookie('KEY','value',time()-1);
//或者如下
setcookie('KEY','');

你可能感兴趣的:(PHP,cookie)