我目前正在其中一个网页上实现基本页面计数功能。它基于在访问该特定页面时记录用户的cookie,如果用户之前没有访问该页面,我给他/她一个持续1天的cookie,然后在数据库中将页面视图增加一个。如果用户在同一天再次访问同一页面,则不会发生任何事情。以下是我的代码:
<?php
$cookie_name = "user";
$cookie_value = "someone";
setcookie($cookie_name, $cookie_value, time() + 86400);
if (!isset($_COOKIE[$cookie_name])) {
//code that inserts into database;
echo "Data recorded!";
}
?>
上面的代码只会写在我的一个名为“image.php”的脚本中,其中我将从我的数据库中提取多个图像,并将在URL上列出如下所示“ ... image.php?image_1.jpg“等等。我面临的问题是,在我成功查看其中一个图像并将视图计数记录到数据库之后,我无法在另一个图像上执行相同操作,它仍然保留上一页的cookie。我试图添加特定路径甚至域,但它们没有按预期工作,例如:
setcookie($cookie_name, $cookie_value, time() + 86400, '/image.php?image_1.jpg');
我肯定看到cookie在页面中共享,因为我可以看到$ _COOKIE [$ cookie_name]在我调用时是相同的。但我无法弄清楚如何解决这个问题,或者有更好的方法来解决这个问题。感谢所有的反馈,对不起我的混乱英语感到抱歉。