20,358
社区成员
发帖
与我相关
我的任务
分享
// 记录浏览产品 存在session
function product_view($pdid)
{
$limit = 8; // 保存8条记录
if(is_numeric($pdid) && $pdid<>0)
{
if(!$_SESSION['pd_viewed']) // 第一次访问
{
$_SESSION['pd_viewed'] = array($pdid);
}
else // 已经访问过
{
if(count($_SESSION['pd_viewed'])>=$limit)
{ // 超出记录
if(!in_array($pdid,$_SESSION['pd_viewed']))
{ // 不存在
$_SESSION['pd_viewed'] = array_reverse($_SESSION['pd_viewed']); // 倒序数组
array_pop($_SESSION['pd_viewed']); // 去掉最后一个
$_SESSION['pd_viewed'][] = $pdid; // 加入新纪录
$_SESSION['pd_viewed'] = array_reverse($_SESSION['pd_viewed']); // 倒序数组
}
}
else
{ // 没有存满
if(!in_array($pdid,$_SESSION['pd_viewed']))
{ // 不存在记录
$_SESSION['pd_viewed'][] = $pdid;
}
}
}
}
}
define('MAX_ITEMS', 5);
$id = intval($_GET['id']); // 确保id是整数
if (isset($_COOKIE['recentlyGoods'])) {
// 已有历史数据,追加新数据
$goods = explode(',', $_COOKIE['recentlyGoods']); // 取得id数组
$key = array_search($id, $goods); // 在历史数据中查找当前id
if ($key !== false) {
unset($goods[$key]); // 找到则删除
}
$goods[] = $id; // 追加当前浏览的id
} else {
// 尚未有历史数据,创建并将当前浏览id加入
$goods = array($id);
}
// 如果数组中历史数据条目超出限制,则截取最后一段
if (count($goods) > MAX_ITEMS) {
// 从倒数第MAX_ITEMS条开始提取MAX_ITEMS条记录
$goods = array_slice($goods, 0 - MAX_ITEMS, MAX_ITEMS);
}
setcookie('recentlyGoods', join(',', $goods), time()+3600);