1、cookie,w3cschool解释:cookie是由服务器发送到浏览器的变量。cookie通常是服务器嵌入到用户计算机中的小文本文件,每当计算机通过浏览器请求这个服务器的页面时,就会发送这个cookie。

2、setcookie用法:

setcookie(name,value,expire,path,domain,secure)
参数描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。需为字符串。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

 

 

 

 

 

 

 

注释:可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果你不需要这样,可以使用 setrawcookie() 代替。

//添加或更新cookie
setcookie("name","zxf",time()+3600);   
//删除cookie,expire须为过去时间才能触发浏览器清除cookie机制
setcookie("name","",time()-1);
//删除所有
foreach ($_COOKIE as $key => $value) {
 setcookie($key,"",time()-1);
}
3、cookie细节注意事项:
  <1>、expire     如果不设置有效期,则默认cookie为会话级别,即cookie保存在浏览器的内存中,浏览器的缓存中并无cookie文件存在。
  <2>、path        有效路径:a、如果不设置cookie 的服务器路径,则默认为当前脚本文件路径,并且在当前路径和后代路径有效。
             b、设置为 " / " ,则表示全站有效
  ·             c、路径指的是url网站路径
  <3>、domain    cookie有效域:当某顶级域名如(www.blog.com)下有两个二级域名 php.blog.com和java.blog.com,setcookie时 domain 参数设置为:
         setcookie( 'name', '张三', time() + 3600 , ' / ' , ' .blog.com' ) , 则我们访问 php.blog.com和java.blog.com时也可以访问该cookie
  <4>、secure  setcookie( 'name', '张三', time() + 3600 , '  ' , ' ' , true) ,则该cookie必须通过https协议进行传输。
  <5>、httponly   默认情况下,cookie是可以被其他脚本语句读取,比如js,如果不希望js来读取,则可以设置为 setcookie( 'name', '张三', time() + 3600 , '  ' , ' ' , ' ' , true ) , 则 document.cookie 将不能读取到该cookie。
 
posted on 2018-08-08 09:17  jhao~  阅读(244)  评论(0编辑  收藏  举报