关于COOKIE的问题

原创
2016-06-23 14:09:27 643浏览


有没有办法在一个页面内,设置COOKIE,然后获取到该COOKIE

而不是第二次访问页面才拿到COOKIE


回复讨论(解决方案)

下个页面加载才可访问,不行的吧。

直接赋值不就行了?
setcookie('name', $val);
$_COOKIE['name'] = $val;


但有什么意义呢?

直接赋值不就行了?
setcookie('name', $val);
$_COOKIE['name'] = $val;
但有什么意义呢?

请问,例如INDEX.PHP,是不是一定要等它脚本执行完毕了,这个COOKIE才会存起来。
如果其中异步请求一个TEST.PHP,而且不等这个文件的返回结果,INDEX.PHP继续执行完毕。
这个TEST.PHP能否拿到COOKIE

基本概念
$_COOKIE 中的值是浏览器发送过来的
setcookie 设置的 cookie 是通过 http 协议头发送给浏览器的

只要浏览器收到了完整的 http 协议头,那么其中的 cookie 就开始生效了
如果 INDEX.PHP 中异步请求一个TEST.PHP, 这个 test.php 是能够获得该 cookie 的
如果异步的test.php请求属于同一浏览器的线程(选项卡)那也能够获得该 cookie
如果异步的test.php请求属于不同的浏览器的进程(在系统中又打开一个浏览器)那就必须等待index.php结束也能够获得该 cookie,当然还和失效期有关

同意楼上的解释

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。