我对这段非常短的代码遇到了问题,我无法开始工作。
基本上,我想显示两条不同的消息,具体取决于用户是新用户还是返回用户。
<?php
if(isset($_COOKIE['visit']) && ($_COOKIE['visit'] == "true"))
{
echo 'cookie set, welcome back';
}else{
echo 'cookie not set, welcome new user';
}
setcookie("visit", "true", time()+60*60*24*600);
?>
Run Code Online (Sandbox Code Playgroud)
问题是cookie没有被设置。我不知道出了什么问题,有人可以帮助我吗?
您需要将 setcookie 移至条件中:
<?php
if(isset($_COOKIE['visit']) && $_COOKIE['visit'] == "true"){
echo 'cookie set, welcome back';
}else{
echo 'cookie not set, welcome new user';
setcookie("visit", "true", time()+60*60*24*600);
}
?>
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,那么您应该检查 cookie 是否被发送回脚本。例如您的浏览器或某些浏览器插件干扰。
请注意,有一项新法律规定,如果您的服务器位于欧盟,则要求您先获得访问者的知情同意,然后才能在该计算机上存储或检索任何信息。http://www.cookielaw.org/