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 相关文章推荐
很实用的一个完整email发送程序
Oct 09 PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
php 编写安全的代码时容易犯的错误小结
May 20 PHP
PHP的autoload自动加载机制使用说明
Dec 28 PHP
php压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
PHP过滤黑名单关键字的方法
Dec 01 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
thinkphp如何获取客户端IP
Nov 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php 团购折扣计算公式
2011/11/24 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
提高网站信任度的技巧
2008/10/17 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
vue接口请求加密实例
2020/08/11 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
javascript实现时钟动画
2020/12/03 Javascript
如何基于Python批量下载音乐
2019/11/11 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
python实现同一局域网下传输图片
2020/03/20 Python
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
工作室成员个人发展规划范文
2014/01/24 职场文书
酒店端午节活动方案
2014/08/26 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
于丹论语心得观后感
2015/06/15 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server