cookie是http协议头的组成部分,必须在页面的其他内容出现之前发送。所以在设置cookie之前不能有任何文本输出,包括HTML标记、输出语句以及空白行。
一旦cookie被建立,那么下一次访问页面时,cookie就会通过_COOKIE或HTTP_COOKIE_VARS数组加载。
函数setcookie的作用是用来发送一个cookie。它的用法如下:
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
函数setcookie中,除了 $name 之外的其他参数都是可选参数,可以使用空字符串“”来跳过某些可选参数的设置。(参数具体含义请查看链接:http://php.net/manual/zh/function.setcookie.php)
接下来我们还是举一个简单的例子:
<?php
$name = 'last_login_time';
$value = date('Y-m-d');
setcookie($name, $value, time()+3600*24);
?>
<?php
date_default_timezone_set('Asia/Shanghai');
$name = 'last_login_time';
if(isset($_COOKIE[$name])){
echo '你上一次访问该网站的时间是'.$_COOKIE[$name].'<br>';
}else{
echo '欢迎你首次访问该网站!';
}
setcookie($name, date('Y年m月d日 H时i分s秒'));
?>
部署到SAE,结果如下:
第一次访问显示

第二次访问显示

注意:
setcookie($name, $value, time()+3600*24);作用是设置cookie在24小时之后失效。
最后,鉴于之前提到http头部信息,这里也顺便抓包看了一下

图片仅截取了部分信息,但是我们从中就可以发看出客户端把cookie发送给了服务器。
cookie的简单使用(1)
原文:http://blog.csdn.net/liuruiqun/article/details/45651293