PHP cookie的设置和获取实例

  1. 什么是cookie?
    Cookie保存在客户端浏览器中,cookie是Http头的一部分,通过浏览器请求页面时,它会被通过Http头的形式发送过去。被请求的页面,可以通过PHP来获取cookie的值。
    Cookie和浏览器和域名相关,不同浏览器各自存储,cookie只会在当前域名发送,其他域名不会带上cookie去请求。
  2. cookie的设置
    语法:
    setcookie( string name,[string value],[int expire],[string path],[string domain]);
    参数说明:
    name:cookie名
    value:cookie值
    expire:过期时间,时间戳格式。不设置则在浏览器关闭后cookie失效。
    path:服务器端有效路径。默认为当前设置cookie时页面的路径,’/‘表示整个域名有效,’/A’表示A分类目录下的页面有效。只有设置的路径包含的页面才可以拿到cookie值
    domain:该cookie有效的域名,只有指定的域名才可以拿到cookie,默认所有域名都可以拿到。 如,“www.baidu.com”,也可是“.baidu.com”。
    实例:
     setcookie("validCode","value",time()+3600*2,'/','www.baidu.com');
     //cookie名称:validCode
     //cookie值:value
     //过期时间:两个小时后过期
     //可以拿到cookie的页面:所有页面
     //可以拿到cookie的域名:www.baidu.com
    
  3. 获取cookie
    $_COOKIE['validCode']
    
  4. 判断cookie是否存在
    setcookie("validCode","value",time()+10); //过期时间为10秒
     if(!isset($_COOKIE['validCode'])){ //cookie是否存在
              echo "cookie已过期"; //不存在
      }else{
    		  echo "cookie"; //存在
      }
    
  5. 注意事项
    1. 一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个web站点最多设置的Cookie总数是20个
    2. setcookie()之前不能有任何html输出,包括空格 空行
    3. setcookie()后,你在当前页调用echo $_COOKIE[“name”]不会有输出。需要须刷新或到下一个页面在过期之前才可以看到Cookie值
    4. Cookie是保存在客户端的,如果你禁用了cookie,cookie就会失效.

你可能感兴趣的:(php)