程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> thinkphp浏覽歷史功能實現方法

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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved