cookie 详解
cookie 是在远程浏览器端存储数据并以此来跟踪和识别用户的机制
Cookie独立于语言存在,也就是说不论是PHP还是JSP的Cookie,其本质都是一样的,客户端脚本(javascript)均能读到。Cookie在很多语言中都有实现,如PHP,ASP,JAVA。严格地说,Cookie并不是这些语言实现的,而这些语言实现了对Cookie的间接操作,即发送HTTP指令,浏览器收到指令操作Cookie并返回给服务端。因此Cookie由浏览器来实现和管理。
Cookie的值设为false会使客户端尝试删除这个Cookie,所以要在Cookie上保存true或false时不应该直接使用boolean值,而应该用0表示false,用1表示true。只要愿意用A表示True,B表示false也是可以的
设置cookie ,php 用setcookie($name,$value[,$expire[,$path[,$domain[,$secure[,$httponly]]]]]);
php当前设置的cookie是不会立即生效的,要等到下个页面才能看到,这是由于设置的这个页面的Cookie由服务端传递给客户端浏览器,在下个页面浏览器才能把Cookie从客户端的机器里取出传回服务器,如果是javascript则是立即生效的。
cookie删除,只要把setcookie的$expire设置为过期时间,就会自动触发浏览器的删除机制。
设置cookie还可以借助header函数发送HTTP指令进行设置,但不推荐这么做,如:
header("Set-Cookie:name=$value[;path=$path[;domain=xxx.com[;...]]]");
没有设置过期时间的cookie会随着浏览器的关闭而消失