如何检测首次访问有 Cookie 和没有 Cookie 的网站


how to detect first visit to site with cookies, and without cookies

我正在向网站添加一个"欢迎加载器"。

我可以使用 cookie 检测访问是否是新的:

function show_loader()
{
 setcookie("loader_shown", "1", time() + 80,"/"); 
 echo "<div class='loader'>hello</div>";    
}
if(! $_COOKIE['loader_shown'])
{
 die(show_loader());
}
// the rest of the code to show the site.......

都适合启用了 cookie 的浏览器....但是对于未启用 cookie 的浏览器,我将如何处理这种情况?考虑设置另一个cookie,然后在运行此位之前查看它是否已设置....

明信片上的答案!

您可以将用户的 IP 和用户代理存储在服务器上,如果给定的 IP/UA 组合最近看到该消息,则不显示该消息。

如果你只想使用cookie,你必须这样做(伪代码):

# page 1
if(isset($_COOKIE['welcome_shown'])) {
  redirect('home page')
  exit
}
setcookie('has_cookies', true)
redirect(page 2)
# page 2
if(isset($_COOKIE['has_cookies']) && !isset($_COOKIE['welcome_Shown'])) {
  show_welcome_message()
  setcookie('welcome_shown', true)
  exit
}
redirect('home page')