thinkphp浏览历史功能实现方法


Posted in PHP onOctober 29, 2014

本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考。具体实现方法分析如下:

历史浏览功能都是使用了cookie功能记录用户信息放到了本地了,这样我们只要读取存储在cookies中的值就可以了,下面来给大家介绍一个基于thinkphp 实现浏览历史功能例子。

就像浏览器一样,能够记录访问了哪些页面,这样能够减少时间,下面我们实现浏览历史的功能。

1.在你需要记录浏览数据的产品或新闻页面,记录cookie需要保存的信息,例如下面这行代码,把页面ID,产品名称,价格,缩略图,网址传给cookie_history。

cookie_history($id,$info['title'],$info['price'],$info['pic'],$thisurl);

2.function.php 里面添加代码
/**

  +----------------------------------------------------------

 * 浏览记录按照时间排序

  +----------------------------------------------------------

 */

function my_sort($a, $b){

$a = substr($a,1);

$b = substr($b,1);

if ($a == $b) return 0;

return ($a > $b) ? -1 : 1;

  }

/**

  +----------------------------------------------------------

 * 网页浏览记录生成

  +----------------------------------------------------------

 */

function cookie_history($id,$title,$price,$img,$url){

$dealinfo['title'] = $title;

$dealinfo['price'] = $price;

$dealinfo['img'] = $img;

$dealinfo['url'] = $url;

$time = 't'.NOW_TIME;

$cookie_history = array($time => json_encode($dealinfo));  //设置cookie

if (!cookie('history')){//cookie空,初始一个

cookie('history',$cookie_history);

}else{

$new_history = array_merge(cookie('history'),$cookie_history);//添加新浏览数据

uksort($new_history, "my_sort");//按照浏览时间排序

$history = array_unique($new_history);

if (count($history) > 4){

$history = array_slice($history,0,4);

}

cookie('history',$history);

}

}

/**

  +----------------------------------------------------------

 * 网页浏览记录读取

  +----------------------------------------------------------

 */

function cookie_history_read(){

$arr = cookie('history');

foreach ((array)$arr as $k => $v){

$list[$k] = json_decode($v,true);

}

return $list;

}

3.在需要显示浏览记录的页面输出信息
$this->assign('history',cookie_history_read());

模板里面用volist显示出来就行了。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
php 数组的指针操作实现代码
Feb 08 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
PHP count()函数讲解
Feb 03 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 #PHP
thinkphp实现like模糊查询实例
Oct 29 #PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 #PHP
PHP多个文件上传到服务器实例
Oct 29 #PHP
php跨站攻击实例分析
Oct 28 #PHP
php获取根域名方法汇总
Oct 28 #PHP
3款值得推荐的微信开发开源框架
Oct 28 #PHP
You might like
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
jQuery使用动画队列自定义动画操作示例
2018/06/16 jQuery
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
python中关于for循环的碎碎念
2017/06/30 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
销售业务实习自我鉴定
2013/09/23 职场文书
影视制作岗位职责
2013/12/04 职场文书
《春笋》教学反思
2014/04/15 职场文书
走进敬老院活动总结
2014/07/10 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书