便宜vps推荐!

帝国cms如何调用会员浏览记录

时间:|浏览:| 评论 ()

我想在会员中心调用会员的浏览记录,在论坛里搜了好几个有关的代码都不能使用,另外,变量需要用RepPostVar()函数过滤一下,我不会,哪位帮忙处理一下,大家谁有可用的代码,谢谢。

答:

这个主耍是展示会员浏览记录的。在哪儿都可以调用(第4步就是调用方法),另外是各个模型都可以调用,方法是在各个模型的内容页上写上第2步。我是在会员中心调用的,是用来展示会员最近9条浏览记录。

注意下面的代码变量没过滤好,或者说没过滤,比如用户id要转成整型,下面所有的$_POST变量都应加RepPostVar()函数处理过滤一下。

1:首先新建一张表

帝国后台--系统--备份数据--执行sql:

是utf8 编码的用下面代码:

CREATE TABLE phome_ly_recorduser (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`userid` INT( 10 ) NOT NULL ,
`text` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;



是gb2312 编码的用下面代码:

CREATE TABLE `3`.`phome_ly_recorduser` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`userid` INT( 10 ) NOT NULL ,
`text` TEXT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

2:在需要记录信息的内容模板中插入以下代码:(注意-需要先引入jquery.js 下面代码要在jquery插件后面在插入)
 

<script>

function time(){//构建方法
        var time=new Date();//new 出当前时间
        var h=time.getFullYear();//获取年
        var m=time.getMonth()+1;//获取月
        var d=time.getDate();//获取日
        var H = time.getHours();//获取时
        var M = time.getMinutes();//获取分
        var S = time.getSeconds();//获取秒
        return h+"-"+m+"-"+d+" "+H+":"+M+":"+S; //返回 年-月-日 时:分:秒
}

//栏目ID
var classid = [!--classid--];
//信息ID
var id = [!--id--];
//表名称
var tbname = '<?=$class_r[$navinfor['classid']]['tbname']?>';
//登陆用户
var userid = <?=$lguserid=intval(getcvar('mluserid'))?>;
$(function(){
if(userid)
{
$.post(
'/ly/recorduser/index.php',
{userid:userid,classid:classid,id:id,tbname:tbname,time:time},               
"html"
);
}
})
</script>

3:处理函数:

可以自己复制代码,也可以直接下载压缩包上传到网站根目录下
文件路径 根目录/ly/recorduser/index.php
index.php文件代码:

<?php
require('../../e/class/connect.php');        //引入数据库配置文件和公共函数文件
require('../../e/class/db_sql.php');        //引入数据库操作文件
include('../../e/class/functions.php');

$link=db_connect();                //连接MYSQL
$empire=new mysqlquery();        //声明数据库操作类
        
if(!$_POST['userid'])
{
        exit;        
}

/*
userid
text
/
        表名称:
        栏目ID
        信息ID
表名称@@@栏目ID@@@信息ID::::::
/
*/        
//查询是否已有userid
if($user=$empire->fetch1("select * from {$dbtbpre}ly_recorduser where userid = {$_POST['userid']}"))
{
        //格式化字符串
        $text="{$_POST['tbname']}@@@{$_POST['classid']}@@@{$_POST['id']}";        
        //信息分隔符
        $dot='';
        //判断是否已有记录数
        if(strstr($user['text'],$text))
        {
                //已有记录
                die;        
        }
        if($user['text']!='')
        {
                $dot='::::::';
        }
        
        //大于10调记录数去掉最后的一条信息
        if($user['text'] && substr_count($user['text'],$dot)>=9)
        {
                //去除最后一条记录数
                $arr=explode('::::::',$user['text']);
                $arrtext='';
                $dot1=$dot;
                for($i=0;$i<count($arr);$i++)
                {
                        if($i!=(count($arr)-1))
                        {
                                if($i==(count($arr)-2))
                                {
                                        $dot1='';        
                                }
                                $arrtext.=$arr[$i].$dot1;
                        }
                }
                $text.=$dot.$arrtext;
        }
        else
        {
                $text.=$dot.$user['text'];
        }
        //不存在的记录数、更新表
        $empire->query("update {$dbtbpre}ly_recorduser set `text` = '{$text}' where userid = {$_POST['userid']}");
}
//没有记录数插入一条
else
{
        $text="{$_POST['tbname']}@@@{$_POST['classid']}@@@{$_POST['id']}";        
        $sql=$empire->query(" INSERT INTO `{$dbtbpre}ly_recorduser` (`id`,`userid`,`text`) VALUES ( '' , {$_POST['userid']} , '{$text}' ) ");
}
?>

4:在使用的地方插入以下代码(样式套用自己的即可)

<ul>
                <?php
$record=$empire->fetch1("select * from {$dbtbpre}ly_recorduser where userid = $user[userid]");
$i=0;
if($record)
{
$info=explode("::::::",$record['text']);
$text='';
foreach($info as $v)
{
$i=$i+1;
$arr=explode("@@@",$v);
$sql=$empire->fetch1("select * from {$dbtbpre}ecms_{$arr[0]} where classid = {$arr[1]} and id = {$arr[2]}");
$titleurl=sys_ReturnBqTitleLink($sql);
$text.=" <li>
              <div class='user-info'> <a class='user-avatar' target='_blank' href='{$titleurl}'> <img src='{$sql[titlepic]}' alt=''> <span class='rank-tag rank-tag-first'> <b class='txt'>
                      {$i}
                      </b> <b class='floor'></b> </span> </a>
                      <div class='info-details'>
                        <p> <a class='user-name textoverflow' target='_blank' href='{$titleurl}'>
                          {$sql[title]}
                          </a> </p>
                        <p> <a href='' target='_blank' style='text-decoration:none'> <img  src='/skin/cp/358time.png' style='width:16px; height:16px; margin-top:3px;' >&nbsp;&nbsp;{$arr[3]}</a> </p>
                      </div>
                    </div>
                  </li>";
//print_r($arr);
//die;        
}
}
?>
<?=$text?>   

</ul>
声明:VPSNO仅为VPS服务器信息分享,任何IDC都有倒闭和跑路可能,本站无法作任何保障,请网友购买前自行斟酌,衡量评估风险,自负责任。数据勤备份是最佳选择。本文由VPSNO网站发布,转载请保留链接:《帝国cms如何调用会员浏览记录》站长联系QQ:22⑧2六8⑦肆8,邮箱为QQ邮箱。
网友评价
评论列表
共有 条评论

精选便宜VPS - VPS排行

  • No.1 最便宜的大厂云服务器
    UCloud云服务器

    UCloud云服务器

    UCloud(优刻得)是国内最大的中立公有云服务商,全球包含香港、台湾共25个数据中心,52元/年起

  • No.2 国内用户最多的云服务器
    阿里云服务器

    阿里云服务器

    阿里云是国内云服务器第一梯队头部商家,目前国内用户选择最多的云服务器商。

  • No.3 号称“良心云”的云服务器
    腾讯云服务器

    腾讯云服务器

    和阿里云规模相当的国内云服务器商,套路少,给100%CPU资源,拥有更好的性价比。

  • 热度飙升最快的国外VPS
    RackNerd

    RackNerd

    RackNerd是2019年成立的主机商,以提供便宜VPS、大带宽VPS闻名,近年来在国内用户中知名度颇高。

  • 最受国人欢迎的国外VPS
    bandwagonhost搬瓦工

    bandwagonhost搬瓦工

    搬瓦工VPS可能是中国用户数量最多的服务商,专为大陆用户定制了大量功能,线路有特别优化,快而稳定。

  • 实力雄厚的老牌国外VPS
    vultr

    vultr

    Vultr是成立于2014年的老牌IDC,全球16个机房,硬件配置极高,新用户注册赠送100美元余额。