thinkphp瀏覽歷史功能實(shí)現(xiàn)方法
本文實(shí)例講述了thinkphp瀏覽歷史功能實(shí)現(xiàn)方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法分析如下:
歷史瀏覽功能都是使用了cookie功能記錄用戶信息放到了本地了,這樣我們只要讀取存儲在cookies中的值就可以了,下面來給大家介紹一個(gè)基于thinkphp 實(shí)現(xiàn)瀏覽歷史功能例子。
就像瀏覽器一樣,能夠記錄訪問了哪些頁面,這樣能夠減少時(shí)間,下面我們實(shí)現(xiàn)瀏覽歷史的功能。
1.在你需要記錄瀏覽數(shù)據(jù)的產(chǎn)品或新聞頁面,記錄cookie需要保存的信息,例如下面這行代碼,把頁面ID,產(chǎn)品名稱,價(jià)格,縮略圖,網(wǎng)址傳給cookie_history。
2.function.php 里面添加代碼
+----------------------------------------------------------
* 瀏覽記錄按照時(shí)間排序
+----------------------------------------------------------
*/
function my_sort($a, $b){
$a = substr($a,1);
$b = substr($b,1);
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
/**
+----------------------------------------------------------
* 網(wǎng)頁瀏覽記錄生成
+----------------------------------------------------------
*/
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)); //設(shè)置cookie
if (!cookie('history')){//cookie空,初始一個(gè)
cookie('history',$cookie_history);
}else{
$new_history = array_merge(cookie('history'),$cookie_history);//添加新瀏覽數(shù)據(jù)
uksort($new_history, "my_sort");//按照瀏覽時(shí)間排序
$history = array_unique($new_history);
if (count($history) > 4){
$history = array_slice($history,0,4);
}
cookie('history',$history);
}
}
/**
+----------------------------------------------------------
* 網(wǎng)頁瀏覽記錄讀取
+----------------------------------------------------------
*/
function cookie_history_read(){
$arr = cookie('history');
foreach ((array)$arr as $k => $v){
$list[$k] = json_decode($v,true);
}
return $list;
}
3.在需要顯示瀏覽記錄的頁面輸出信息
模板里面用volist顯示出來就行了。
希望本文所述對大家的PHP程序設(shè)計(jì)有所幫助。
- ThinkPHP中ajax使用實(shí)例教程
- ThinkPHP中使用ajax接收json數(shù)據(jù)的方法
- ThinkPHP實(shí)現(xiàn)ajax仿官網(wǎng)搜索功能實(shí)例
- thinkphp中ajax與php響應(yīng)過程詳解
- ThinkPHP處理Ajax返回的方法
- ThinkPHP結(jié)合ajax、Mysql實(shí)現(xiàn)的客戶端通信功能代碼示例
- jquery ajax結(jié)合thinkphp的getjson實(shí)現(xiàn)跨域的方法
- ThinkPHP3.1新特性之對Ajax的支持更加完善
- thinkphp中AJAX返回ajaxReturn()方法分析
- thinkPHP統(tǒng)計(jì)排行與分頁顯示功能示例
- thinkphp區(qū)間查詢、統(tǒng)計(jì)查詢與SQL直接查詢實(shí)例分析
- thinkPHP+ajax實(shí)現(xiàn)統(tǒng)計(jì)頁面pv瀏覽量的方法
相關(guān)文章
基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法
本篇文章小編為大家介紹,基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法。需要的朋友參考下2013-04-04ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法
程序不斷的更新?lián)Q代,php版本也在不斷的推陳出新,自從php7.0推出,php5.5版本已落伍,但是目前使用php5.5的也不少,接下來,小編給大家整理關(guān)于ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法,小伙伴們一起來學(xué)習(xí)吧2015-08-08thinkPHP基于反射實(shí)現(xiàn)鉤子的方法分析
這篇文章主要介紹了thinkPHP基于反射實(shí)現(xiàn)鉤子的方法,結(jié)合實(shí)例形式分析了php基于系統(tǒng)自帶的ReflectionClass、ReflectionMethod 類與函數(shù)實(shí)現(xiàn)鉤子功能的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11PHP中__get()和__set()的用法實(shí)例詳解
在PHP5中,預(yù)定義了兩個(gè)函數(shù)“__get()”和“__set()”來獲取和賦值其屬性,對每個(gè)字段進(jìn)行set和get的操作。只需要加上兩個(gè)魔術(shù)方法即可2013-06-06