如何检测首次访问网站的cookie,没有cookie

时间:2012-06-22 17:54:07

标签: php cookies visited

我正在为网站添加“欢迎加载程序”。

我可以通过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,然后在运行此位之前查看它是否已设置....

明信片上的答案!

1 个答案:

答案 0 :(得分:1)

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

如果您只是想使用cookies,您必须这样做(伪代码):

# 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')