我正在向网站添加一个"欢迎加载器"。
我可以使用 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')