php设置cookie和访问cookie不能同时进行
例如:
<?php
/**
* Created by PhpStorm.
* User: hh
* Date: 2021/5/13
* Time: 17:02
*/
setcookie('name','tom');
var_dump($_COOKIE['name']);
第一次访问:
第二次访问:
为什么会出现这种情况呢?
Cookies是保留在客户端的,每次发出页面请求时,都会把里面的数据发送给服务器端.
因为$_COOKIE获取的是客户端的cookie值而不是服务器中设置的
第一步,setcookie()虽然在服务端创建了cookie但是并没有立即返给客户端,因为var_dump($COOKIE[‘name’]);还没有执行,所以客户端中此时还没有返回这个cookie.
第二步,执行var_dump( C O O K I E [ ′ n a m e ′ ] ) 自 然 也 就 找 不 对 应 的 值 , 所 以 v a r d u m p ( _COOKIE['name'])自然也就找不对应的值,所以var_dump( COOKIE[′name′])自然也就找不对应的值,所以vardump(_COOKIE[‘name’])=null