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 相关文章推荐
在Windows版的PHP中使用ADO
Oct 09 PHP
PHP is_dir() 判断给定文件名是否是一个目录
May 10 PHP
解析PHP中的unset究竟会不会释放内存
Jul 18 PHP
php对数组排序的简单实例
Dec 25 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
2款PHP无限级分类实例代码
Nov 11 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
stripos函数知识点实例分享
Feb 11 PHP
PHP设计模式之PHP迭代器模式讲解
Mar 22 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 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留言板源码
2020/07/19 PHP
php下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
PHP 批量更新网页内容实现代码
2010/01/05 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
vuejs router history 配置到iis的方法
2018/09/20 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Python中实现最小二乘法思路及实现代码
2018/01/04 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
python list格式数据excel导出方法
2018/10/31 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
python中的unittest框架实例详解
2021/02/05 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
策划主管的工作职责
2013/11/24 职场文书
中专生自我鉴定书范文
2013/12/28 职场文书
新娘父亲婚礼致辞
2014/01/16 职场文书
销售简历自我评价
2014/01/24 职场文书
求职自我评价范文100字
2014/09/23 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
环境建议书
2015/02/04 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python
JavaScript 数组去重详解
2021/09/15 Javascript
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript