gpt4 book ai didi

php - 检查 PHP cookie 是否存在,如果没有设置它的值

转载 作者:IT王子 更新时间:2023-10-29 01:11:13 24 4
gpt4 key购买 nike

我正在开发一个多语言网站,所以我尝试了这种方法:

echo $_COOKIE["lg"];
if (!isset($_COOKIE["lg"]))
setcookie("lg", "ro");
echo $_COOKIE["lg"];

这个想法是,如果客户端没有 lg cookie(因此,这是他们第一次访问该站点)然后设置一个 cookie lg = ro 为该用户。

一切正常,除了如果我第一次进入这个页面,第一个和第二个 echo 什么都不返回。仅当我刷新页面时才设置 cookie,然后 echo 都打印我期望的“ro”字符串。

如何设置此 cookie 以便在用户第一次访问/页面加载时从第二个 echo 中查看其值?应该不需要刷新页面或创建重定向。

最佳答案

回答

你不能根据PHP manual :

Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays.

这是因为 cookie 在响应 header 中发送到浏览器,然后浏览器必须将它们与下一个请求一起发送回来。这就是它们仅在第二个页面加载时可用的原因。

解决方法

但您也可以通过在调用 setcookie() 时设置 $_COOKIE 来解决它:

if(!isset($_COOKIE['lg'])) {
setcookie('lg', 'ro');
$_COOKIE['lg'] = 'ro';
}
echo $_COOKIE['lg'];

关于php - 检查 PHP cookie 是否存在,如果没有设置它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10738593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com