0

我对饼干的经验很少,所以我不知道该怎么做。

我有一家 T 恤店,每件 T 恤都有一个$articleID.

每次用户访问 T 恤页面时,我都想将其添加$articleID到 cookie 中。然后将其添加到数组或其他东西中,以便我以后可以检索它。$articleID即使访问者访问了$articleID两次,也不应该有任何重复。

然后在主页上,我想检索最近 5 次$articleID访问的列表并显示 ID 列表。

我怎么能那样做?

谢谢!

4

3 回答 3

2

为了在您的 cookie 中存储一个数组,您需要对其进行序列化,因此请检查此代码是否有帮助

$articles = array();

if ( isset($_COOKIE["viewed_articles"]) )
  $articles = unserialize($_COOKIE["viewed_articles"]);

if ( ! in_array($articleID, $articles)){
    $articles[] = $articleID;
}
// at the end update the cookies
setcookie("viewed_articles", serialize($articles));

我希望这会有所帮助,并在此链接上有一个循环

于 2013-03-06T20:04:02.780 回答
1

像这样的东西?

<?php
$article_id = 1; // Whichever article you're currently viewing
session_start();

if ( ! isset($_SESSION['viewed_articles']))
{
    $_SESSION['viewed_articles'] = array();
}

if ( ! in_array($article_id, $_SESSION['viewed_articles']))
{
    $_SESSION['viewed_articles'][] = $article_id;
}
于 2013-03-06T19:53:31.337 回答
0

您是否尝试过使用会话?Cookies 将值存储在用户计算机上。每次页面加载时,该数据都会传输到您的 Web 服务器。

会话将数据存储在服务器端。会话通过将会话 ID 作为 cookie 存储在用户浏览器上来工作,该 cookie 对应于存储在服务器上的会话。

如果您使用的是 PHP,您可以使用

<?php
session_start();
$_SESSION['key'] = 'value';
echo $_SESSION['key']; // outputs: value
?>
于 2013-03-06T19:53:31.483 回答