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:风雨欲来 路在何方?
Oct 09 PHP
php 友好URL的实现(吐血推荐)
Oct 04 PHP
PHP中文件上传的一个问题
Sep 04 PHP
让PHP以ROOT权限执行系统命令的方法
Feb 10 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
新手菜鸟必读:session与cookie的区别
Aug 22 PHP
PHP实现利用MySQL保存session的方法
Aug 23 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 PHP
php-msf源码详解
Dec 25 PHP
解决PhpStorm64不能启动的问题
Jun 20 PHP
php+laravel 扫码二维码签到功能
May 15 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设计模式之命令模式使用示例
2014/03/02 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
《这儿真好》教学反思
2014/02/22 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
努力工作保证书
2015/02/28 职场文书
保安辞职信范文
2015/02/28 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript
解析原生JS getComputedStyle
2021/05/25 Javascript