我对cookies的经验很少,所以我不知道怎么做。
我有一个T恤店,每件T恤都有$articleID
。
每次用户访问T恤页面时,我都想将$articleID
添加到Cookie中。
然后将它添加到数组或其他东西,以便我以后可以检索它。
即使访问者两次访问相同的$articleID
,也不应该有任何重复$articleID
。
然后在主页面上,我想检索最后5个$articleID
访问者的列表,并显示ID列表。
我怎么能这样做?
谢谢!
答案 0 :(得分: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));
我希望这会有所帮助,并在此link
进行循环答案 1 :(得分: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;
}
答案 2 :(得分:0)
您是否尝试过使用会话? Cookie会将值存储在用户计算机上。每次加载页面时,该数据都会传输到您的Web服务器。
会话在服务器端存储数据。会话通过将会话ID作为cookie存储在用户的浏览器上,该cookie对应于存储在服务器上的会话。
如果您使用的是PHP,则可以使用
启动会话<?php
session_start();
$_SESSION['key'] = 'value';
echo $_SESSION['key']; // outputs: value
?>