首页 后端开发 php教程 用php实现类似淘宝,拍拍,易趣的最近浏览商品的功能模型代码,该如何处理

用php实现类似淘宝,拍拍,易趣的最近浏览商品的功能模型代码,该如何处理

Jun 13, 2016 am 10:03 AM
quot setcookie

用php实现类似淘宝,拍拍,易趣的最近浏览商品的功能模型代码
最近在做一个项目,要用到类似淘宝,拍拍,易趣的最近浏览商品的功能,在网络上遍寻不及,遂找出一ASP代码用PHP自行改写,得以下片段,先发上来和大家共享。此代码片段只包含cookie写入部分,读出处理的部分大家可以自行编写。最先跟帖提出建议的给以加分。

/*
RecentlyGoods File
Urchin Studio FoxCMS
Version: 1.1.6
Author: luckyfox ([email protected])
Copyright: Urchin Studio (www.itocean.net)
Last Modified: 2008-9-3

*/

//TempNum 显示临时记录数

$TempNum=5; 

//setcookie("RecentlyGoods", "12,31,90,39");

//RecentlyGoods 最近商品RecentlyGoods临时变量

if (isset($_COOKIE['RecentlyGoods']))
{
$RecentlyGoods=$_COOKIE['RecentlyGoods'];
$RecentlyGoodsArray=explode(",", $RecentlyGoods);
$RecentlyGoodsNum=count($RecentlyGoodsArray); //RecentlyGoodsNum 当前存储的变量个数

}

if($_GET['Id']!="")
{

$Id=$_GET['Id']; //ID 为得到请求的字符


//如果存在了,则将之前的删除,用最新的在尾部追加

if (strstr($RecentlyGoods, $Id)) 
{
//echo "已经存在,则不写入COOKIES


";
}
else
{
if($RecentlyGoodsNum<$TempNum) //如果COOKIES中的元素小于指定的大小,则直接进行输入COOKIES
{
if($RecentlyGoods=="")
{
setcookie("RecentlyGoods",$Id,time() 3600);
}
else
{
$RecentlyGoodsNew=$RecentlyGoods.",".$Id;
setcookie("RecentlyGoods", $RecentlyGoodsNew,time() 3600);
}
}
else //如果大于了指定的大小后,将第一个给删去,在尾部再加入最新的记录。
{
$pos=strpos($RecentlyGoods,",") 1; //第一个参数的起始位置
$FirstString=substr($RecentlyGoods,0,$pos); //取出第一个参数
$RecentlyGoods=str_replace($FirstString,"",$RecentlyGoods); //将第一个参数删除
$RecentlyGoodsNew=$RecentlyGoods.",".$Id; //在尾部加入最新的记录
setcookie("RecentlyGoods", $RecentlyGoodsNew,time() 3600);
}

}


}
?>


------解决方案--------------------
收藏。谢谢
------解决方案--------------------
学习..收藏。
------解决方案--------------------
up
------解决方案--------------------

------解决方案--------------------
up
------解决方案--------------------
jf
------解决方案--------------------
看看
------解决方案--------------------
支持.
------解决方案--------------------
if (strstr($RecentlyGoods, $Id)) 

//echo "已经存在,则不写入COOKIES
"; 
}

如果我看了100号,100保存了,然后我再看10号,那就不能保存了
------解决方案--------------------
很好,收藏了。。
------解决方案--------------------
学习..收藏。

------解决方案--------------------
对id的处理用字符串查找来处理,这样的方式其实不太合理。

PHP code
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);<div class="clear"></div>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

setcookie php 失效怎么办 setcookie php 失效怎么办 Oct 26, 2022 am 09:07 AM

setcookie php失效的解决办法:1、打开相应的PHP文件;2、查看域名参数是否规范;3、通过全局变量来实现即可,代码如“foreach ($_COOKIE["cookie"] as $name => $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...”。

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

PHP中如何使用setcookie函数设置Cookie PHP中如何使用setcookie函数设置Cookie Jun 26, 2023 pm 12:00 PM

在Web开发中,Cookie是一种非常常见的技术,它允许Web应用程序在客户端存储和访问数据。在PHP编程中,设置Cookie通常使用setcookie函数实现。setcookie函数的语法如下:boolsetcookie(string$name[,string$value[,int$expire[,string$path[,

php setcookie中的时间戳为0表示什么意思 php setcookie中的时间戳为0表示什么意思 Mar 22, 2023 am 10:38 AM

PHP中的setcookie()函数是将Cookie设置为客户端浏览器的一种方法。它可以让网站在下一次访问时,通过Cookie来识别用户,并为其提供相应的服务。setcookie()有几个参数,其中包括Cookie的名称、值、过期时间等。当设置过期时间时,可以通过时间戳来指定。但是,有时候我们会看到时间戳被设置为0的情况,这究竟表示什么意思呢?

使用PHP函数 'setcookie' 设置cookie 使用PHP函数 'setcookie' 设置cookie Jul 25, 2023 am 09:22 AM

使用PHP函数"setcookie"设置cookie在网站开发中,cookie是一种非常常用的技术,它用于在用户的浏览器中存储少量的数据,以便在不同页面之间传递信息。PHP提供了一个名为"setcookie"的函数,用于设置cookie的值和属性。在本文中,我们将学习如何使用"setcookie"函数设置cookie。下面是使用"setcook

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 Jun 13, 2016 am 10:15 AM

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

图片消失怎么解决 图片消失怎么解决 Apr 07, 2024 pm 03:02 PM

图片消失如何解决先是图片文件上传$file=$_FILES['userfile'];  if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

图片消失怎么解决 图片消失怎么解决 Jun 13, 2016 am 10:09 AM

图片消失如何解决先是图片文件上传$file=$_FILES['userfile'];  if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

See all articles