thinkphp浏览历史功能实现方法_php实例

本文实例讲述了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程序设计有所帮助。

时间: 2024-09-12 04:00:57

thinkphp浏览历史功能实现方法_php实例的相关文章

ThinkPHP3.2.2实现持久登录(记住我)功能的方法_php实例

本文实例讲述了ThinkPHP3.2.2实现持久登录功能的方法.分享给大家供大家参考,具体如下: 实现持久登录,即用户在登录时,勾选了"记住我"之后,无论是否关闭浏览器,只要不退出登录,在指定的时间内始终保持登录状态(缺点是在另一台电脑上登录过后,之前那台电脑就不能继续保持登录状态). 首先,持久登陆使用 cookie 实现,但是 cookie 中不能保存用户密码这样重要的信息,即使加密过.解决方案是在用户登录表中新建3个字段identifier:第二身份标识,token:永久登录标识

ThinkPHP处理Ajax返回的方法_php实例

本文实例讲述了ThinkPHP处理Ajax返回的方法,分享给大家供大家参考.具体实现方法如下: 在ThinkPHP中可以直接使用ajax返回: 复制代码 代码如下: $.post(handleUrl,{username:username.val(),content:content.val()},function(data) { //这里是接收返回来的内容.},'json'); 而在处理过程中可以使用这个函数处理: 复制代码 代码如下: $this->ajaxReturn(要返回的内容,'json

ThinkPHP添加更新标签的方法_php实例

本文实例讲述了ThinkPHP添加更新标签的方法.分享给大家供大家参考.具体分析如下 我们知道,thinkphp的拓展案例blog,只告诉我们怎样去添加标签tag,却没有删除和更新标签的方法,我在前面的<彻底删除thinkphp3.1案例blog标签的方法>为拓展案例blog写了一个删除标签的方法,接下来将写一个标签的更新方法. 一般情况下,我们写博客后,很少去改动标签了,但是如果我们改动标签如,删除,添加,减少标签怎么办呢这无疑造成think_tag和think_tagged两个表垃圾信息的

thinkPHP实现瀑布流的方法_php实例

本文实例讲述了thinkPHP实现瀑布流的方法.分享给大家供大家参考.具体分析如下: 很多人都想做瀑布流的效果,这里告诉大家官网使用的方法,首先要下载瀑布流的插件jquery.masonry.min.js 地址:http://masonry.desandro.com/index.html里面包含的很多示例. 流程: 1. 页面初始化时,调用插件进行一次排版: 2. 当用户将滚动条拖到底部时,用ajax加载一次数据,并排版显示 3. 重复2,直到无数据 Html代码: 复制代码 代码如下: <!D

完善CodeIgniter在IDE中代码提示功能的方法_php实例

本文简述了完善CodeIgniter 在IDE中的代码提示功能的方法,只需将如下代码拷贝到system/core/路径下Controller.php及Model.php即可实现这一功能需求: /** * @var CI_Loader */ var $load; /** * @var CI_DB_active_record */ var $db; /** * @var CI_Calendar */ var $calendar; /** * @var Email */ var $email; /**

PHP+AJAX实现投票功能的方法_php实例

本文实例讲述了PHP+AJAX实现投票功能的方法.分享给大家供大家参考.具体如下: 在这个 AJAX 实例中,我们将演示一个投票程序,网页在不重新加载的情况下,就可以获得结果. 本例包括四个元素: ① HTML 表单 ② JavaScript ③ PHP 页面 ④ 存放结果的文本文件 一.HTML 表单 这是 HTML 页面.它包含一个简单的 HTML 表单,以及一个与 JavaScript 文件的连接: <html> <head> <script src="pol

destoon实现公司新闻详细页添加评论功能的方法_php实例

本文讲述了destoon实现公司新闻详细页添加评论功能的方法,具体步骤如下: 首先找到相应的页面:template\default\homepage\new.htm  在对应的地方添加如下代码: {if $could_comment && in_array($moduleid, explode(',', $EXT['comment_module']))} <div id="comment_div" style="display:;"> &

Yii2实现上下联动下拉框功能的方法_php实例

本文实例讲述了Yii2实现上下联动下拉框功能的方法.分享给大家供大家参考,具体如下: 首先我先解释下什么是上下联动的下拉框 假如一个view里面有两个select,第一个是公司名,第二个是分公司名.公司有多个,每个公司又有多个分公司,我们实现的就是点击当前公司后,分公司里面显示的事当前公司的分公司. 或者你直接理解成选择所属省份后,下面的select显示的是当前省份的县. 原理: 点击第一个select后,执行ajax获取当前公司的分公司,并使用jQuery修改分公司内容 两个select的部分

Yii2实现让关联字段支持搜索功能的方法_php实例

本文实例讲述了Yii2实现让关联字段支持搜索功能的方法.分享给大家供大家参考,具体如下: 这里有两张表,表结构如下,companies_compay_id 为外键 yii2advanced.branches表: branch_id:int(11) companies_company_id:int(11) branch_name:varchar(100) branch_address:varchar(255) branch_created_date:datetime branch_status:e