关于cookie的设置问题

面试题中,有时候出现下面一段代码,问你第一次运行时(从未执行过)会出现什么情况?为什么会这样?这题是想考察你对cookie的相关知识

<?php
setcookie('user','fei',time()+3600);
echo $_COOKIE['user'];

运行结果

会出现提示你未定义$_COOKIE这个全局变量中,不存在user这一项

原因分析

第一次运行时,服务端会将cookie发送客户端,所以第一次客户端相当于一个设置cookie的过程

第二次运行时,客户端有cookie了,会将cookie选项放到请求首部中发给服务端,出现正常情况

注意点

在chrome浏览器确实会按照分析的这种情况运行,但是在firefox下,会设置cookie到浏览器上,但是在请求首部中一直找不到cookie选项

firefox下,第二次运行截图:

总结

这题本身是没有难度的,只是我在不同的浏览器上运行时,出现了意外,所以总结下

 

posted @ 2018-05-07 15:57  rcj_飞翔  阅读(114)  评论(0)    收藏  举报