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 相关文章推荐
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
php自动跳转中英文页面
Jul 29 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
Thinkphp中的volist标签用法简介
Jun 18 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
浅析php创建者模式
Nov 25 PHP
php截取指定2个字符之间字符串的方法
Apr 15 PHP
详解php中 === 的使用
Oct 24 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 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语法(1)
2006/10/09 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
php判断访问IP的方法
2015/06/19 PHP
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
python3 xpath和requests应用详解
2020/03/06 Python
python实现人像动漫化的示例代码
2020/05/17 Python
基于python实现计算两组数据P值
2020/07/10 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
Python里面search()和match()的区别
2016/09/21 面试题
大学生开西餐厅创业计划书
2014/02/01 职场文书
高级编程求职信模板
2014/02/16 职场文书
听课评语大全
2014/04/30 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
企业务虚会发言材料
2014/10/20 职场文书
商务考察邀请函模板
2015/02/02 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers
Java数据结构之堆(优先队列)
2022/05/20 Java/Android