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中的实现trim函数代码
Mar 19 PHP
PHP iconv 函数转gb2312的bug解决方法
Oct 11 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
PHP实现更改hosts文件的方法示例
Aug 08 PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 PHP
PHP环形链表实现方法示例
Sep 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中文乱码解决方案
2015/03/05 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
实例讲解PHP表单
2020/06/10 PHP
Knockoutjs快速入门(经典)
2012/12/24 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
Python简单生成随机数的方法示例
2018/03/31 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
对python中的argv和argc使用详解
2018/12/15 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
python中列表的含义及用法
2020/05/26 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
计算机应用毕业生自荐信
2013/10/23 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
搞笑爱情保证书
2014/04/29 职场文书
校运会口号
2014/06/18 职场文书
学生会辞职信
2015/03/02 职场文书
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript