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 adodb连接带密码access数据库实例,测试成功
May 14 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
php生成RSS订阅的方法
Feb 13 PHP
分享一则PHP定义函数代码
Feb 26 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
PHP 中常量的知识整理
Apr 14 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 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
Oracle 常见问题解答
2006/10/09 PHP
php生成WAP页面
2006/10/09 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
jquery cookie插件代码类
2009/05/26 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
Python打印输出数组中全部元素
2018/03/13 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
Python中的__init__作用是什么
2020/06/09 Python
Python编写万花尺图案实例
2021/01/03 Python
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
简短的公司员工自我评价分享
2013/11/13 职场文书
工厂厂长的职责
2013/12/12 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
读书演讲主持词
2014/03/18 职场文书
妇联主席先进事迹
2014/05/18 职场文书
导游词之天津古文化街
2019/11/09 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python