版权声明:转载请附上文章地址 https://blog.csdn.net/weixin_38134491/article/details/86701987
访问一个web页面需要使用http协议实现,但http协议是无状态协议,就是说http没有一个内联机制来维护
两个事物之间的状态,当用户请求一个页面之后再请求同一个网站的另一个页面的时候http协议并不知道这两次
请求都来自同一个用户,也就是两次访问联系不在一起!
cookie
cookie是将网站的资料记录在客户端的技术, 当用户成功登录网站后
他的信息会被保存在客户端然后实现访问同一个网站(请服务器请求发出请求)无需再输入个人信息的操作
- 向客户端在设置cookie:
setcookie();
var_dump(setcookie('name','罗宾房',time()+3600));
设置了setcookie()之后再访问这个网站的别的页面时都默认携带了用户的信息,有效时间为1个小时
比如说可以用下面的$_COOKIE变量获取到存储的用户信息
- 在服务器端读取cookie的内容:
$_COOKIE;
var_dump($_COOKIE);
用这个变量我们判断请求是不是来自同一个用户
- 将多维数组引用于cookie中:
setcookie("member[name]", 'Robin');
setcookie("member[email]", '[email protected]')
var_dump(setcookie("member[name]",'罗宾房',time()+3600));
var_dump(setcookie("member[email]",'[email protected]',time()+3600));
/* 产生随机ID */
$id=uniqid(rand(1000,9999).'_');
var_dump(setcookie('id',$id,time()+3600));
- 删除cookie:
setcookie("member",' ',time( )-1);
var_dump(setcookie("member[name]",'',time()-3600));
var_dump(setcookie("member[email]",'',time()-3600));
/* 用循环删除记录 */
foreach ($_COOKIE['member'] as $key=>$val){
var_dump(setcookie("member[$key]",'',time()-3600));
}
不同浏览器获识别用户cookie id是不同的