欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」帝国CMS实现用户当前访问的历史记录(产品浏览记录)

作者 : 自学哈 本文共1566个字,预计阅读时间需要4分钟 2022-11-26 共118人阅读
也想出现在这里? 联系我们

帝国如何实现调用用户的访问记录,今天跟着小编来看一看吧,效果图如下

一:在e/class/userfun.php中加:

//--------------------开始------------------
functionuser_SetCook($name,$id,$time=0,$num=10){//cookie名称ID时间戳数量
if(!$id){
printerror2('不存在的记录',$_SERVER['HTTP_REFERER']);
}
$prodq=$id.'|';
$projilu=getcvar($name);
if($projilu){
$prozuhe=$prodq.$projilu;//把新浏览的放在第一
$pro_arr=explode('|',$prozuhe);
$new_arr=array_merge(array_unique($pro_arr));//去除重复,重新索引下标
foreach($new_arras$key=>$val){
if(($key<$num)&&$val){
$pro.=$val.'|';
}
}
}else{
$pro=$prodq;
}
esetcookie($name,$pro,$time);
//esetcookie($name,'',0);
//print_r($_COOKIE);

}
functionuser_GetCook($name,$tbname,$num=10){//名称数据表数量
global$empire,$dbtbpre;
if(preg_match("/^[0-9\|]+$/",getcvar($name))){
$jilu_all=substr(getcvar($name),0,-1);//1|2|3
$jilu_arr=explode('|',$jilu_all);
foreach($jilu_arras$k=>$v){
$jilu_idin.=(int)$v.',';
}
$jilu_idin=substr($jilu_idin,0,-1);//1,2,3
$sql=$empire->query("selectid,title,titlepic,titleurlfrom{$dbtbpre}ecms_{$tbname}whereidin({$jilu_idin})orderbyfind_in_set(id,'{$jilu_idin}')limit{$num}");//按idin里面的排序
while($jilu_r=$empire->fetch($sql)){
$titleurl=sys_ReturnBqTitleLink($jilu_r);
echo'<li><ahref="'.$titleurl.'">'.$jilu_r['title'].'</a></li>';//此处是修改样式需要图片自己加

}
}else{
echo'暂时浏览记录!';
}
}
//--------------------结束------------------

二:在内容页模版最上面加:

<?=user_SetCook('cookiepro',$navinfor[id],0,10);//cookie名称可以自己定别重复ID时间戳数量?>

三:在要显示的地方加一句:

<?=user_GetCook('cookiepro','shop',10);//名称数据表名数量?>

本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」帝国CMS实现用户当前访问的历史记录(产品浏览记录)
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号