>  기사  >  백엔드 개발  >  为什么$GLOBALS['a']生成了变量a,$_COOKIE['a]没有生成cookie a;

为什么$GLOBALS['a']生成了变量a,$_COOKIE['a]没有生成cookie a;

WBOY
WBOY원래의
2016-06-23 13:40:30936검색


$GLOBALS['a']=1; 自动生成了 $a=1的变量; 我用 xdebug 看了,也可以直接echo $a输出;

$_COOKIE['a]=1; 却只在数组中增加了一个元素,cookie中没有添加 ;


问题1:
echo 1111;
setcookie('a',1);
$_COOKIE['name']
?>
这个脚本,PHP执行时; 向用户浏览器首先发送什么内容? 是setcookie('a',1); $_COOKIE['name']还是 1111;
cookie是mime头具体是指什么; PHP编译器先把代码分析下,发现有setcookie,先把setcookie做报头发给浏览器,然后再输出其他内容?

问题2: 为什么$GLOBALS['a']=1生成了变量$a,$_COOKIE['a]=1没有生成cookie a,即使刷新也不生成; 

求讲解,谢谢;


回复讨论(解决方案)

因?你?有?置?期??。
setcookie('a',1, time()+3600);

1、setcookie('a',1);
将在发送给客户端的 HTTP 头中增加一项:Set-Cookie: a=1

2、没有将 $_COOKIE['a]=1 理解为 setcookie('a',1) 是 php 的疏忽,造成风格不统一
但是统一处理 setcookie 的多项参数,也是总口难调的,不如维持原状

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.