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 和 MySQL 开发的 8 个技巧
Oct 09 PHP
使用php4加速网络传输
Oct 09 PHP
php表单转换textarea换行符的方法
Sep 10 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
Jun 07 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
php截取中文字符串不乱码的方法
Dec 25 PHP
ThinkPHP分组下自定义标签库实例
Nov 01 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
Jan 17 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
PHP字符串与数组处理函数用法小结
Jan 07 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
PHP生成便于打印的网页
2006/10/09 PHP
php模板引擎技术简单实现
2016/03/15 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
Python 占位符的使用方法详解
2019/07/10 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
实习生自我评价
2014/01/18 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
2014年物流工作总结
2014/11/25 职场文书
结婚老公保证书
2015/02/26 职场文书
售后服务质量承诺书
2015/04/29 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
病假条格式范文
2015/08/17 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB