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 相关文章推荐
基于mysql的论坛(6)
Oct 09 PHP
php缓存技术介绍
Nov 25 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
php中常用的预定义变量小结
May 09 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
php反射应用示例
Feb 25 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
php精确的统计在线人数的方法
Oct 21 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
PDO::inTransaction讲解
Jan 28 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
js function使用心得
2010/05/10 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
JS实现“全选”和"全不选"功能代码实例
2020/02/06 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
Python使用numpy模块创建数组操作示例
2018/06/20 Python
对python模块中多个类的用法详解
2019/01/10 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
护理个人求职信范文
2014/01/08 职场文书
施工员岗位职责
2014/03/16 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
财务会计专业求职信
2014/06/09 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
工作检讨书500字
2014/10/19 职场文书
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis
tomcat下部署jenkins的方法
2022/05/06 Servers