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脚本
Nov 26 PHP
ZF等常用php框架中存在的问题
Jan 10 PHP
php实现统计邮件大小的方法
Aug 06 PHP
PHP的PSR规范中文版
Sep 28 PHP
windows7下php开发环境搭建图文教程
Jan 06 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
Oct 18 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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 地址栏信息的获取代码
2009/01/07 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
快速掌握jQuery插件WebUploader文件上传
2016/11/07 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
python之django母板页面的使用
2018/07/03 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
在vscode中配置python环境过程解析
2019/09/28 Python
django admin 添加自定义链接方式
2020/03/11 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
详细分析Python垃圾回收机制
2020/07/01 Python
Python爬取梨视频的示例
2021/01/29 Python
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
人力资源专业推荐信
2013/11/29 职场文书
新学期家长寄语
2014/01/19 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
一些让Python代码简洁的实用技巧总结
2021/08/23 Python