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
Dec 13 PHP
php 获取客户端的真实ip
Nov 30 PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
PHPThumb图片处理实例
May 03 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
浅谈PHP中的
Apr 23 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 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
隐藏你的.php文件的实现方法
2007/03/19 PHP
加强版phplib的DB类
2008/03/31 PHP
PHP 分页原理分析,大家可以看看
2009/12/21 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
Node.js自定义实现文件路由功能
2017/09/22 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
深入学习JavaScript中的bom
2019/05/27 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
基于python实现名片管理系统
2018/11/30 Python
python统计中文字符数量的两种方法
2019/01/31 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
如何在sublime编辑器中安装python
2020/05/20 Python
Pandas的数据过滤实现
2021/01/15 Python
英国假发网站:Hothair
2018/02/23 全球购物
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
法人授权委托书公证范本
2014/09/14 职场文书
会计入职心得体会
2016/01/22 职场文书