4-2 设置cookie
本节编程练习不计算学习进度,请电脑登录imooc.com操作

设置cookie

PHP设置Cookie最常用的方法就是使用setcookie函数,setcookie具有7个可选参数,我们常用到的为前5个:

name( Cookie名)可以通过$_COOKIE['name'] 进行访问
value(Cookie的值)
expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效
path(有效路径)如果路径设置为'/',则整个网站都有效
domain(有效域)默认整个域名都有效,如果设置了'www.imooc.com',则只在www子域中有效

$value = 'test';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  //有效期一小时
setcookie("TestCookie", $value, time()+3600, "/path/", "imooc.com"); //设置路径与域

PHP中还有一个设置Cookie的函数setrawcookie,setrawcookie跟setcookie基本一样,唯一的不同就是value值不会自动的进行urlencode,因此在需要的时候要手动的进行urlencode。

setrawcookie('cookie_name', rawurlencode($value), time()+60*60*24*365); 

因为Cookie是通过HTTP标头进行设置的,所以也可以直接使用header方法进行设置。

header("Set-Cookie:cookie_name=value");

任务

使用setcookie设置一个名为test,值为$value的Cookie。如果在这执行没有显示效果,可以试试自己配置PHP环境,写两个页面,第一个页面写入cookie,第二个页面输出cookie。

  1. <?php
  2. $value = time();
  3. //在这里设置一个名为test的Cookie
  4.  
  5. if (isset($_COOKIE['test'])) {
  6. echo 'success';
  7. }
下一节