php使用cookie获取浏览记录,php使用cookie存库浏览记录详解

本文介绍了如何利用PHP和cookies来记录用户的浏览历史。当用户访问页面时,系统会检查当前浏览的商品是否已在历史记录中,若不存在则添加,已存在则更新。代码示例展示了如何限制历史记录数量,确保不超过指定长度,并将数据存储到cookie中,同时提供了一个简单的查询方法,用于从数据库中获取并显示浏览过的商品列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在做项目的时候,往往会一些模块是浏览记录列表,但我们又如何在PHP中实现浏览记录功能呢,现在我们通过cookies来实现

我们首先来分析一下思路

访问页面

获取存储浏览记录里面的商品数据列表

如果当前浏览的商品没有在历史记录里面则添加,有则更新

如果大概知道思路可以直接看代码

完整代码如下:

5){

//将数组最后一个单元弹出,直到它的长度小于等于5为止

array_pop($history);

}

//把这个数组用逗号连成一个字符串写入COOKIE,并设置其过期时间为30天

setcookie('SHOP[history]', implode(',', $history), $cur_time + 3600 * 24 * 30);

}else{

//如果COOKIE里面为空,则把当前浏览的商品ID写入COOKIE ,这个只在第一次浏览该网站时发生

setcookie('SHOP[history]', $id, $cur_time + 3600 * 24 * 30);

}

//以上均为记录浏览的商品ID到COOKIE里,下面将讲到怎样用这样COOKIE里的数据

//取得COOKIE里的数据 ,格式为1,2,3,4 这样,当然也有可以为0

$history =isset ($_COOKIE['SHOP']['history']) ? $_COOKIE['SHOP']['history'] : 0;

//写SQL语句,用IN 来查询出这些ID的商品列表

$sql_history = "SELECT * FROM `goods` WHERE `goods_id` in ({$history})";

//执行SQL语句,返回数据列表

$goods_history = $db->getAll($sql_history);

if ($goods_history) {

$tpl->assign ('goods_history',$goods_history);

}

?>

下面获取根据存储ID获取商品信息的mysql操作,可以根据自己的代码获取,可以使用原生态,也可以使用框架的查询数据库方法,自己可以适当修改一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值