我试图读取一个 PHP cookie,但我不能,尽管我能够在 Chrome 控制台中看到它。我自己找到了解决方案,使用调试方法,但如果其他人遇到同样的问题,我会自己回答这个问题,以节省您的时间。
我正在使用这段代码:
if(!empty($_COOKIE['my.cookie'])) {
echo "cookie value: ".$_COOKIE['my.cookie'];
}
// fallback
else {
echo "cookie not set!";
}
使用 var_dump() 函数帮助我发现了问题,因为 cookie 名称是由 PHP 自动更改的。(可能是一个错误,或者某种已知的限制——我的版本是 PHP 7.0.33。)
var_dump($_COOKIE);
这导致在网页上打印 cookie 列表,并且 cookie 名称从“my.page-LANG”更改为“my_page-LANG”。
所以我重命名了我的cookie,我很好:
if(!empty($_COOKIE['my_cookie'])) {
echo "cookie value: ".$_COOKIE['my_cookie'];
}
// fallback
else {
echo "cookie not set!";
}