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进行MySQL删除记录操作代码
Jun 07 PHP
php 进度条实现代码
Mar 10 PHP
PHP学习之数组的定义和填充
Apr 17 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
PHP独立Session数据库存储操作类分享
Jun 11 PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 PHP
PHP定时任务获取微信access_token的方法
Oct 10 PHP
php 魔术常量详解及实例代码
Dec 04 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
几个学习PHP的网址
2006/11/25 PHP
php的socket编程详解
2016/11/20 PHP
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
Python字符串和文件操作常用函数分析
2015/04/08 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
python for和else语句趣谈
2019/07/02 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
俄罗斯女装店:12storeez
2019/10/25 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
怎样客观的做好自我评价
2013/12/28 职场文书
学生思想表现的评语
2014/01/30 职场文书
入党介绍人评语
2014/05/06 职场文书
大专生自荐书范文
2014/06/22 职场文书
社团招新宣传语
2015/07/13 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA