我创建了名为“test”的Cookie,其值为“one”,并在页面index.php
<?php
setcookie('test','one');
echo $_COOKIE['test'];
?>
一旦我打开页面index.php,就不会打印Cookie,一旦刷新页面,就会打印出cookie(由于已创建cookie而打印)
我的问题是当我第一次运行页面index.php时创建cookie,一旦我打印出应该打印的cookie,那么
cookie在第一次运行中没有打印的原因是什么 本身?
答案 0 :(得分:0)
我的问题是当我运行index.php页面时创建了cookie 第一次本身,一旦我打印饼干它应该打印, 然后
index.php
时会创建cookie。cookie在第一次运行中没有打印的原因是什么 本身?
设置好Cookie后,可以在下一页加载时使用$_COOKIE
或$HTTP_COOKIE_VARS
数组访问这些Cookie。
浏览链接以查看常见的陷阱..
print_r($_COOKIE);
。explode()
设置一个包含多个名称和值的cookie。建议不要将serialize()
用于此目的,因为它可能会导致安全漏洞。答案 1 :(得分:0)
setcookie('test','one');
会将http标头的下方添加到响应中,用于让浏览器设置cookie。
Set-Cookie: test=one ...
<小时/> 如果cookie在浏览器端设置,那么下次访问页面时,请求标题将包含以下内容:
Cookie: name=value; ...
此数据用于设置超级全局$_COOKIE
,因此仅从第二次看到该值。
答案 2 :(得分:0)
你的回答在于你自己的问题
这一行:
setCookie方法( '试验', '一个') - &GT;当您运行index.php时,PHP脚本会在您的浏览器中发送cookie并 SET ,因此,您的PHP脚本将无法读取值,因为它只需在第一次运行时设置你的cookie。
因此,只有在 SET 之后,当您第二次运行时,[由于此时cookie包含值],它是 READ 并由PHP打印脚本 希望明确的事情
答案 3 :(得分:0)
您所做的是创建Cookie并将其打印在同一页面中,Cookie无法打印在同一页面本身,因为用户可以加载下一页。您可以尝试在下一页打印cookie。
<?php
echo $_COOKIE['test'];
?>
您可以通过
存储Cookie$a=$_COOKIE['test'];
将其存储在变量$ a中的目的是即使未设置cookie,cookie的值也将保持不变,但不应更改$ a的值。