我正在尝试在我的项目上设置cookie,但它在Safari或Firefox上不起作用。
不过,我在谷歌浏览器上得到结果。
这是我的代码:
setcookie('mycookiename', 'data', time()+60*60*24*365, '/', false);
print_r($_COOKIE['mycookiename']);
感谢您的帮助。
此代码工作正常
setcookie("mycookiename", 'data', time()+60*60*24*365, "/", "", "", TRUE);
print_r($_COOKIE['mycookiename']);
对我来说,这是因为ajax和fetch。
Fetch 不会发送 Cookie,除非您设置了凭据初始化选项:
fetch(url, {
method: 'POST',
credentials: 'same-origin',
headers: {...},
...
});
此外,如果您正在执行跨源请求,则似乎也应该设置Access-Control-Allow-Credentials: true
标头。 看到这个:https://stackoverflow.com/a/40255834/4718434
有时我会遇到这个问题,当我使用 Cookie 的小写名称时,例如"geoLoсationCode"。当我更改为大写"GEO_LOCATION_CODE"时,它适用于 Safari。