用php实现类似淘宝,拍拍,易趣的最近浏览商品的功能模型代码,该如何处理
用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 {
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>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











setcookie php 실패에 대한 해결 방법: 1. 해당 PHP 파일을 엽니다. 2. 도메인 이름 매개변수가 표준화되었는지 확인합니다. 3. "foreach ($_COOKIE["cookie"])와 같은 코드를 통해 $name = > $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...".

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

웹 개발에서 쿠키는 웹 애플리케이션이 클라이언트 측에서 데이터를 저장하고 액세스할 수 있도록 하는 매우 일반적인 기술입니다. PHP 프로그래밍에서 쿠키 설정은 일반적으로 setcookie 함수를 사용하여 구현됩니다. setcookie 함수의 구문은 다음과 같습니다: boolsetcookie(string$name[,string$value[,int$expire[,string$path[,

PHP의 setcookie() 함수는 클라이언트 브라우저에 쿠키를 설정하는 방법입니다. 이를 통해 웹사이트는 다음 방문 시 쿠키를 통해 이용자를 인식하고 이에 상응하는 서비스를 제공할 수 있습니다. setcookie()에는 쿠키 이름, 값, 만료 시간 등을 포함한 여러 매개변수가 있습니다. 만료 시간을 설정할 때 타임스탬프로 지정할 수 있습니다. 그러나 때때로 타임스탬프가 0으로 설정되는 경우가 있습니다. 이는 무엇을 의미합니까?

PHP 함수 "setcookie"를 사용하여 쿠키 설정 웹사이트 개발에서 쿠키는 여러 페이지 간에 정보를 전달하기 위해 사용자 브라우저에 소량의 데이터를 저장하는 데 사용되는 매우 일반적인 기술입니다. PHP는 쿠키 값과 속성을 설정하기 위해 "setcookie"라는 함수를 제공합니다. 이번 글에서는 "setcookie" 함수를 사용하여 쿠키를 설정하는 방법을 알아보겠습니다. 다음은 "setcook"의 사용법입니다.

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

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

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