gpt4 book ai didi

php - 使用 Cookie 来检查某人是否访问过某个页面

转载 作者:行者123 更新时间:2023-11-30 01:18:55 24 4
gpt4 key购买 nike

当用户访问一个页面时,我有:

setcookie("firstvisit", time()+3600);

在我拥有的每个页面的标题中包含的函数文件中:

if(isset($_COOKIE['firstvisit'])) {
$run = mysql_query("UPDATE `table` SET `firstvisit` = 1 WHERE `id` = '".$_SESSION['uid']."'");
setcookie("firstvisit", time()-3600);

如果我这样做(并且它有效),这意味着每次用户单击该页面时脚本都会运行。还有其他方法可以实现这一点吗?

最佳答案

您的代码只会在第二次访问时将数据库中的firstvisit设置为1。这是因为 isset($_COOKIE['firstvisit']) 必须评估为 true 才能运行查询,并且 cookie 仅在下一个请求中可用 - setcookie()不会添加到 $_COOKIE 数组中。

// assumes $_SESSION['uid'] is always set

if(!isset($_COOKIE['firstvisit'])) {
setcookie('firstvisit', time()); //set a cookie containing the timestamp of when this user first visited the page
$run = mysql_query("UPDATE `table` SET `firstvisit` = 1 WHERE `id` = '".$_SESSION['uid']."'");
}
else {
//it's not their first visit because the cookie already exists
}

请注意,此逻辑无法在多个页面上运行 - Cookie 会相互覆盖,并且代码将变得不可靠。

关于php - 使用 Cookie 来检查某人是否访问过某个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18776716/

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