Maison >développement back-end >tutoriel php >À propos de la façon dont thinkphp implémente la fonction d'historique de navigation

À propos de la façon dont thinkphp implémente la fonction d'historique de navigation

不言
不言original
2018-06-08 15:06:311773parcourir

Cet article présente principalement comment implémenter la fonction d'historique de navigation thinkphp. Il peut réaliser la fonction d'historique de navigation du navigateur. C'est une compétence très pratique. Les amis qui en ont besoin peuvent s'y référer. L'article donne l'exemple de l'historique de navigation de thinkphp. La méthode d'implémentation de la fonction est partagée avec tout le monde pour votre référence. La méthode de mise en œuvre spécifique est analysée comme suit :

La fonction de navigation historique utilise la fonction cookie pour enregistrer les informations de l'utilisateur et les stocker localement. De cette manière, nous n'avons besoin que de lire la valeur stockée dans les cookies. présentez-en un. Exemple d'implémentation de la fonction d'historique de navigation basée sur thinkphp.

Tout comme un navigateur, il peut enregistrer les pages qui ont été visitées, ce qui peut réduire le temps. Ensuite, nous implémentons la fonction d'historique de navigation.

1. Sur la page du produit ou de l'actualité où vous devez enregistrer les données de navigation, enregistrez les informations que le cookie doit enregistrer. Par exemple, dans la ligne de code suivante, transmettez l'identifiant de la page, le nom du produit, prix, vignette et URL vers cookie_history.

2.Ajouter du code dans function.php
cookie_history($id,$info['title'],$info['price'],$info['pic'],$thisurl);

3. Afficher les informations sur la page qui doit afficher l'historique de navigation
/**
  +----------------------------------------------------------
 * 浏览记录按照时间排序
  +----------------------------------------------------------
 */
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;
}

Utiliser volist dans le modèle, montrez-le simplement.
$this->assign('history',cookie_history_read());

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Utilisez ThinkPHP pour générer des vignettes et les afficher


À propos de la méthode de thinkPHP pour implémenter la suppression par lots


Analyse sur l'utilisation par ThinkPHP de la méthode getlist pour implémenter la fonction de recherche de données


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn