首頁 後端開發 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 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

在網路開發中,Cookie是一種非常常見的技術,它允許網路應用程式在客戶端儲存和存取資料。在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