背景知识 Session:在计算机中,尤其是在网络应用中,称为“会话”。 Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。 具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。 Cookie:有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109。它是网景公司的前雇员Lou Montulli在1993年3月的发明。
1. PHP 的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。 PHP 在http 协议的头信息里发送cookie,因此 setcookie() 函数必须在其它信息被输出到浏览器 前调用,这和对 header() 函数的限制类似。 1.1 设置cookie: 可以用 setcookie()或 setrawcookie()函数来设置 cookie。也可以通过向客户端直接发送http 头来 设置。 1.1.1 使用 setcookie()函数设置cookie: bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] ) name: cookie 变量名 value: cookie 变量的值 expire: 有效期结束的时间 path: 有效目录 domain: 有效域名,顶级域唯一 secure: 如果值为 1,则cookie 只能在https 连接上有效,如果为默认值 0,则http 和 https 都可 以。 例子: 代码片段
<?php $value = 'something from somewhere'; setcookie("TestCookie", $value); /* 简单 cookie设置 */ setcookie("TestCookie", $value, time()+3600); /* 有效期 1个小时 */ setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); /* 有效目录 /~rasmus,有效域名 example.com及其所有子域名 */ ?> |
设置多个 cookie 变量:setcookie('var[a]','value'); 用数组来表示变量,但他的下标不用引号。这 样就可以用$_COOKIE[‘var’][‘a’]来读取该COOKIE 变量。 1.1.2. 使用 header()设置cookie; header("Set-Cookie: name=$value[;path=$path[;domain=xxx.com[;...]]"); 后面的参数和上面列出 setcookie 函数的参数一样。 比如: 代码片段
$value = 'something from somewhere'; header("Set-Cookie:name=$value"); |
|