用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>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penyelesaian untuk setcookie php kegagalan: 1. Buka fail PHP yang sepadan 2. Semak sama ada parameter nama domain diseragamkan 3. Laksanakannya melalui pembolehubah global, kod seperti "foreach ($_COOKIE["cookie"] sebagai $name =; > $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...".

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

Dalam pembangunan web, kuki ialah teknologi yang sangat biasa yang membolehkan aplikasi web menyimpan dan mengakses data di sisi pelanggan. Dalam pengaturcaraan PHP, menetapkan kuki biasanya dilaksanakan menggunakan fungsi setcookie. Sintaks fungsi setcookie adalah seperti berikut: boolsetcookie(string$name[,string$value[,int$expire[,string$path[,

Fungsi setcookie() dalam PHP ialah cara untuk menetapkan kuki kepada pelayar klien. Ia membolehkan tapak web mengenali pengguna melalui kuki pada lawatan seterusnya dan memberikan mereka perkhidmatan yang sepadan. setcookie() mempunyai beberapa parameter, termasuk nama kuki, nilai, masa tamat tempoh, dsb. Apabila menetapkan masa tamat tempoh, ia boleh ditentukan oleh cap masa. Walau bagaimanapun, kadangkala kita melihat cap masa ditetapkan kepada 0. Apakah maksudnya?

Tetapkan kuki menggunakan fungsi PHP "setcookie" Dalam pembangunan laman web, kuki ialah teknologi yang sangat biasa yang digunakan untuk menyimpan sejumlah kecil data dalam pelayar pengguna untuk menghantar maklumat antara halaman yang berbeza. PHP menyediakan fungsi yang dipanggil "setcookie" untuk menetapkan nilai dan atribut kuki. Dalam artikel ini, kita akan belajar cara menetapkan kuki menggunakan fungsi "setcookie". Berikut ialah penggunaan "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'
