thinkphp瀏覽歷史功能實(shí)現(xiàn)方法
本文實(shí)例講述了thinkphp瀏覽歷史功能實(shí)現(xiàn)方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法分析如下:
歷史瀏覽功能都是使用了cookie功能記錄用戶信息放到了本地了,這樣我們只要讀取存儲(chǔ)在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顯示出來就行了。
希望本文所述對(duì)大家的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新特性之對(duì)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)文章
Laravel 解決419錯(cuò)誤 -ajax請(qǐng)求錯(cuò)誤的問題(CSRF驗(yàn)證)
今天小編就為大家分享一篇Laravel 解決419錯(cuò)誤 -ajax請(qǐng)求錯(cuò)誤的問題(CSRF驗(yàn)證),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
CI框架自動(dòng)加載session出現(xiàn)報(bào)錯(cuò)的解決辦法
很多程序員在CI中使用session的時(shí)候,開啟自動(dòng)加載session之后網(wǎng)站就報(bào)錯(cuò)了,這篇文章主要介紹了CI框架自動(dòng)加載session出現(xiàn)報(bào)錯(cuò)的解決辦法,需要的朋友可以參考下2014-06-06
Zend?Framework基于Command命令行建立Zend?Framework項(xiàng)目的方法
這篇文章主要介紹了Zend?Framework基于Command命令行建立Zend?Framework項(xiàng)目的方法,較為詳細(xì)的分析了使用Command命令行建立Zend?Framework框架的具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-02-02
PHP Callable強(qiáng)制指定回調(diào)類型的方法
這篇文章主要介紹了PHP Callable強(qiáng)制指定回調(diào)類型的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
php-fpm重啟導(dǎo)致的程序執(zhí)行中斷問題詳解
這篇文章主要給大家介紹了關(guān)于php-fpm重啟導(dǎo)致的程序執(zhí)行中斷問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
基于PHP+mysql實(shí)現(xiàn)新聞發(fā)布系統(tǒng)的開發(fā)
這篇文章主要介紹了基于PHP+mysql實(shí)現(xiàn)新聞發(fā)布系統(tǒng)的開發(fā),文章通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下 面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
詳解PHP函數(shù) strip_tags 處理字符串缺陷bug
這篇文章主要介紹了詳解PHP函數(shù) strip_tags 處理字符串缺陷bug的相關(guān)資料,需要的朋友可以參考下2017-06-06
TP5使用RabbitMQ實(shí)現(xiàn)消息隊(duì)列的項(xiàng)目實(shí)踐
本文主要介紹了TP5使用RabbitMQ實(shí)現(xiàn)消息隊(duì)列的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06

