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自动更新新闻DIY
Oct 09 PHP
二十行语句实现从Excel到mysql的转化
Oct 09 PHP
IIS环境下快速安装、配置和调试PHP5.2.0
Dec 17 PHP
php 短链接算法收集与分析
Dec 30 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
php结合mysql与mysqli扩展处理事务的方法
Jun 29 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
YII2框架中behavior行为的理解与使用方法示例
Mar 13 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
Aug 26 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小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
判断对象是否Window的实现代码
2012/01/10 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
Python 正则表达式(转义问题)
2014/12/15 Python
python模拟鼠标拖动操作的方法
2015/03/11 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
python中 logging的使用详解
2017/10/25 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
Python处理session的方法整理
2019/08/29 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
python3中编码获取网页的实例方法
2020/11/16 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
解释一下Windows的消息机制
2014/01/30 面试题
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
我们的节日清明节活动方案
2014/03/05 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
防火标语大全
2014/10/06 职场文书
商家认证委托书格式
2014/10/16 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang