帝國CMS7.0數(shù)據(jù)庫記錄所有瀏覽訪問的會員教程

字號:


    1、新聞系統(tǒng)數(shù)據(jù)表中字段管理中添加“visituserid”字段,字段類型為“CHAR ”。
    2、在需要統(tǒng)計的頁面的<head></head>中添加如下代碼:
    <script src="[!--news.url--]/ly/jquery.js" type="text/javascript"></script>
    <script>
    //信息ID
    var id = [!--id--];
    //登陸用戶
    var userid = <?=$lguserid=intval(getcvar('mluserid'))?>;
    $(function(){
    if(userid)
    {
    $.post(
    '/ly/recorduser/index.php',
    {userid:userid,id:id},
    "html"
    );
    }
    })
    </script>
    3、添加數(shù)據(jù)代碼
    可以下載壓縮包將文件放在根目錄中
    文件路徑 根目錄/ly/recorduser/index.php
    index.php文件代碼:
    <?php
    require('../../e/class/connect.php'); //引入數(shù)據(jù)庫配置文件和公共函數(shù)文件
    require('../../e/class/db_sql.php'); //引入數(shù)據(jù)庫操作文件
    include('../../e/class/functions.php');
    $link=db_connect(); //連接MYSQL
    $empire=new mysqlquery(); //聲明數(shù)據(jù)庫操作類
    if(!$_POST['userid'])
    {
    exit;
    }
    /*
    userid
    visituserid
    /
    表名稱:
    欄目ID
    信息ID
    表名稱@@@欄目ID@@@信息ID::::::
    /
    */
    //查詢是否已有userid
    if($user=$empire->fetch1("select * from {$dbtbpre}ecms_news where id = {$_POST['id']}"))
    {
    //格式化字符串
    $visituserid="{$_POST['userid']}";
    //信息分隔符
    $dot='';
    //判斷是否已有記錄數(shù)
    if(strstr($user['visituserid'],$visituserid))
    {
    //已有記錄返回空
    die;
    }
    if($user['visituserid']!='')
    {
    $dot=',';
    }
    //大于1000調(diào)記錄數(shù)去掉最后的一條信息
    if($user['visituserid'] && substr_count($user['visituserid'],$dot)>=999)
    {
    //去除最后一條記錄數(shù)
    $arr=explode(',',$user['visituserid']);
    $arrvisituserid='';
    $dot1=$dot;
    for($i=0;$i<count($arr);$i++)
    {
    if($i!=(count($arr)-1))
    {
    if($i==(count($arr)-2))
    {
    $dot1='';
    }
    $arrvisituserid.=$arr[$i].$dot1;
    }
    }
    $visituserid.=$dot.$arrvisituserid;
    }
    else
    {
    $visituserid.=$dot.$user['visituserid'];
    }
    //不存在的記錄數(shù)、更新表
    $empire->query("update {$dbtbpre}ecms_news set `visituserid` = '{$visituserid}' where id = {$_POST['id']}");
    }
    //沒有記錄數(shù)插入一條
    else
    {
    $visituserid="{$_POST['userid']}";
    $sql=$empire->query(" INSERT INTO `{$dbtbpre}ecms_news` `visituserid` VALUES '{$visituserid}' ");
    }
    ?>
    4、調(diào)用已閱人員列表
    在需要調(diào)用的地方添加代碼如下:
    <div><li><b>已閱人:</b></li>
    <!--判斷visituserid是否為空-->
    <?php
    if($navinfor[visituserid])
    {
    ?>
    <!--visituserid不為空時顯示開始-->
    <?php
    $record=$empire->fetch1("select * from {$dbtbpre}ecms_news where id = $navinfor[id]");
    if($record)
    {
    $info=explode(",",$record['visituserid']);
    $visituserid='';
    foreach($info as $v)
    {
    $arr=explode($v);
    $sql=$empire->fetch1("select * from {$dbtbpre}enewsmember where userid = $v ");
    $visituserid.="<li><a href='/e/space/?userid=$v' title='點擊訪問{$sql[username]}的空間' target='_blank'>{$sql[username]}</a></li>";
    //print_r($arr);
    //die;
    }
    }
    ?>
    <?=$visituserid?>
    <!--visituserid不為空時顯示結(jié)束-->
    <?php
    }
    else
    {
    ?>
    <!--visituserid為空時顯示開始-->
    <!--visituserid為空時顯示結(jié)束-->
    <?php
    }
    ?>
    </div>
    這樣就可以了。