백엔드 개발 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 {
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 기반 앱

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 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"])와 같은 코드를 통해 $name = > $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...".

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

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

setcookie 함수를 사용하여 PHP에서 쿠키를 설정하는 방법 setcookie 함수를 사용하여 PHP에서 쿠키를 설정하는 방법 Jun 26, 2023 pm 12:00 PM

웹 개발에서 쿠키는 웹 애플리케이션이 클라이언트 측에서 데이터를 저장하고 액세스할 수 있도록 하는 매우 일반적인 기술입니다. PHP 프로그래밍에서 쿠키 설정은 일반적으로 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() 함수는 클라이언트 브라우저에 쿠키를 설정하는 방법입니다. 이를 통해 웹사이트는 다음 방문 시 쿠키를 통해 이용자를 인식하고 이에 상응하는 서비스를 제공할 수 있습니다. setcookie()에는 쿠키 이름, 값, 만료 시간 등을 포함한 여러 매개변수가 있습니다. 만료 시간을 설정할 때 타임스탬프로 지정할 수 있습니다. 그러나 때때로 타임스탬프가 0으로 설정되는 경우가 있습니다. 이는 무엇을 의미합니까?

Jul 25, 2023 am 09:22 AM

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