很多时候我们在电商网站几乎都有看到类似的功能,特别是一些购物网站均设计有浏览历史或者看过该咚咚的人还浏览了类似其他什么咚咚的。
实现的语言(不限于php)和方法是多样的。就我个人而言,比较喜欢将咚咚存储在Server端不应存储在Client端,至于为什么呢,马上分析下吧。
电商网店中ec是比较经典的一个例子了,那先来看看它的实现方式吧(存放在客户端的)
$_CFG['history_number']) { array_pop($history); } setcookie('ECS[history]', implode(',', $history), gmtime() + 3600 * 24 * 30);}else{ setcookie('ECS[history]', $goods_id, gmtime() + 3600 * 24 * 30);}?>
大概就是看客户端cookie里面存不存在历史记录,没有就压进入数组前面,控制历史数量。
这种方式有一定的弊端就是严重依赖客户端,一旦客户端禁用cookie,该功能不管你做的再牛逼,sorry,失效(包括很久以前的360buy啦),还有就是换做不同用户登录时,明明刚刚注册的新用户进入查看咚咚底层页时也有浏览历史,这显然是不合理的。
另一方面,存放在服务端,数据真实,不仅降低了客户端的依赖性,还有利于数据挖掘分析权重比较,从而实现类似的其他功能(足迹/推荐/热销...)
最后希望朋友们多多指正.