thinkphp5|thinkphp 实现浏览历史功能

时间:2019-07-02  来源: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显示出来就行了。

thinkphp5|thinkphp 实现浏览历史功能

http://m.bbyears.com/jiaocheng/56103.html

推荐访问:thinkphp快速入门
相关阅读 猜你喜欢
本类排行 本类最新