使用Ajax实现友情链接无页面跳转点击统计

上一篇 / 下一篇  2008-02-14 09:41:48

查看( 87 ) / 评论( 19 )
演示图:

鼠标在链接上时.jpg

  1. 升级数据库

    CODE:

    ALTER TABLE `cdb_forumlinks` ADD `hits` INT( 9 ) UNSIGNED NOT NULL DEFAULT '0';
  2. 打开文件“include\cache.func.php”,查找

    CODE:

                                       while($flink = $db->fetch_array($query)) {
                                            if($flink['description']) {
                                                    $forumlink['content'] = "<h5><a href=\"$flink[url]\" target=\"_blank\">$flink[name]</a></h5><p>$flink[description]</p>";
                                                    if($flink['logo']) {
                                                            $forumlink['type'] = 1;
                                                            $forumlink['logo'] = $flink['logo'];
                                                    } else {
                                                            $forumlink['type'] = 2;
                                                    }
                                                    $data[] = $forumlink;
                                            } else {
                                                    if($flink['logo']) {
                                                            $tightlink_logo .= "<a href=\"$flink[url]\" target=\"_blank\"><img src=\"$flink[logo]\" border=\"0\" alt=\"$flink[name]\" /></a> ";
                                                    } else {
                                                            $tightlink_text .= "<a href=\"$flink[url]\" target=\"_blank\">[$flink[name]]</a> ";
                                                    }
                                            }
                                    }
    替换

    CODE:

                                       while($flink = $db->fetch_array($query)) {
                                            if($flink['description']) {
                                                    $forumlink['content'] = "<h5><a href=\"$flink[url]\" nclick=\"ajaxlink('$flink[id]')\" title=\"网站名称:$flink[name]
    网站地址:$flink[url]
    点击次数:$flink[hits]\" target=\"_blank\">$flink[name]</a></h5><p>$flink[description]</p>";
                                                    if($flink['logo']) {
                                                            $forumlink['type'] = 1;
                                                            $forumlink['logo'] = $flink['logo'];
                                                    } else {
                                                            $forumlink['type'] = 2;
                                                    }
                                                    $data[] = $forumlink;
                                            } else {
                                                    if($flink['logo']) {
                                                            $tightlink_logo .= "<a href=\"$flink[url]\" nclick=\"ajaxlink('$flink[id]')\" target=\"_blank\"><img src=\"$flink[logo]\" border=\"0\" alt=\"网站名称:$flink[name]
    网站地址:$flink[url]
    点击次数:$flink[hits]\" /></a> ";
                                                    } else {
                                                            $tightlink_text .= "<a href=\"$flink[url]\" nclick=\"ajaxlink('$flink[id]')\" title=\"网站名称:$flink[name]
    网站地址:$flink[url]
    点击次数:$flink[hits]\" target=\"_blank\">[$flink[name]]</a> ";
                                                    }
                                            }
                                    }
  3. 打开风格模板“discuz.htm”,查找

    CODE:

    <!--{loop $_DCACHE['forumlinks'] $flink}-->在其上添加

    CODE:

    <SCRIPT. LANGUAGE="JavaScript">

    <!--

    function InitAjax()

    {

    var ajax=false;

    try {

      ajax = new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e) {

      try {

       ajax = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (E) {

       ajax = false;

      }

    }

    if (!ajax && typeof XMLHttpRequest!='undefined') {

      ajax = new XMLHttpRequest();

    }

    return ajax;

    }

    //-->

    </SCRIPT>

    <SCRIPT. LANGUAGE="JavaScript">

    <!--

    function ajaxlink(linkID)

    {

    if (typeof(linkID) == 'undefined')

    {

      return false;

    }

    var url = "hit.php?linkid="+ linkID;

    var ajax=InitAjax();

    ajax.open("GET", url, true);

    ajax.send(null);

    }

    //-->

    </SCRIPT>
  4. 打开文件“admin\misc.inc.php",查找

    CODE:

    } elseif($action == 'forumlinks') {

    省略N行……

    } elseif($action == 'medals') {
    省略的代码替换成 (红色是添加或修改的地方)

    QUOTE:

            if(!submitcheck('forumlinksubmit')) {

                    $forumlinks = '';
                    $query = $db->query("SELECT * FROM {$tablepre}forumlinks ORDER BY displayorder");
                    while($forumlink = $db->fetch_array($query)) {
                            $forumlinks .= "<tr align=\"center\">\n".
                                    "<td class=\"altbg1\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$forumlink[id]\"></td>\n".
                                    "<td class=\"altbg2\"><input type=\"text\" size=\"3\" name=\"displayorder[$forumlink[id]]\" value=\"$forumlink[displayorder]\"></td>\n".
                                    "<td class=\"altbg1\"><input type=\"text\" size=\"15\" name=\"name[$forumlink[id]]\" value=\"".dhtmlspecialchars($forumlink[name])."\"></td>\n".
                                    "<td class=\"altbg2\"><input type=\"text\" size=\"15\" name=\"url[$forumlink[id]]\" value=\"$forumlink[url]\"></td>\n".
                                    "<td class=\"altbg1\"><input type=\"text\" size=\"15\" name=\"description[$forumlink[id]]\" value=\"$forumlink[description]\"></td>\n".
                                    "<td class=\"altbg2\"><input type=\"text\" size=\"15\" name=\"logo[$forumlink[id]]\" value=\"$forumlink[logo]\"></td>\n".
                                    "<td class=\"altbg1\"><input type=\"text\" size=\"9\" name=\"hits[$forumlink[id]]\" value=\"$forumlink[hits]\"></td></tr>\n";
                    }

                    shownav('menu_misc_links');
                    showtips('forumlinks_tips');

    ?>
    <form. method="post" action="admincp.php?action=forumlinks">
    <input type="hidden" name="formhash" value="<?=FORMHASH?>">
    <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
    <tr class="header"><td colspan="7"><?=$lang['forumlinks_edit']?></td></tr>
    <tr align="center" class="category">
    <td><input class="checkbox" type="checkbox" name="chkall" class="category"><?=$lang['del']?></td>
    <td><?=$lang['display_order']?></td><td><?=$lang['forumlinks_edit_name']?></td><td><?=$lang['forumlinks_edit_url']?></td><td><?=$lang['forumlinks_edit_description']?></td>
    <td><?=$lang['forumlinks_edit_logo']?></td><td>点击次数</td></tr>
    <?=$forumlinks?>
    <tr class="altbg1" align="center">
    <td><?=$lang['add_new']?></td>
    <td><input type="text" size="3"        name="newdisplayorder"></td>
    <td><input type="text" size="15" name="newname"></td>
    <td><input type="text" size="15" name="newurl"></td>
    <td><input type="text" size="15" name="newdescription"></td>
    <td><input type="text" size="15" name="newlogo"></td>
    <td><input type="text" size="9" name="newhits"></td>
    </tr></table><br />
    <center><input class="button" type="submit" name="forumlinksubmit" value="<?=$lang['submit']?>"></center></form></td></tr>
    <?

            } else {

                    if(is_array($delete)) {
                            $ids = $comma =        '';
                            foreach($delete        as $id)        {
                                    $ids .=        "$comma'$id'";
                                    $comma = ',';
                            }
                            $db->query("DELETE FROM        {$tablepre}forumlinks WHERE        id IN ($ids)");
                    }

                    if(is_array($name)) {
                            foreach($name as $id =>        $val) {
                                    $db->query("UPDATE {$tablepre}forumlinks SET displayorder='$displayorder[$id]', name='$name[$id]', url='$url[$id]',description='$description[$id]',logo='$logo[$id]', hits='$hits[$id]' WHERE id='$id'");
                            }
                    }

                    if($newname != '') {
                            $db->query("INSERT INTO        {$tablepre}forumlinks (displayorder, name, url, description, logo, hits) VALUES ('$newdisplayorder', '$newname', '$newurl', '$newdescription', '$newlogo', '$newhits')");
                    }

                    updatecache('forumlinks');
                    cpmsg('forumlinks_succeed', 'admincp.php?action=forumlinks');

            }
  5. 下载附件解压后上传到论坛根目录。
  6. 更新缓存!OK!
    [attach]225625[/attach]


    [ 本帖最后由 £翱翔白鹭 于 2008-1-30 19:42 编辑 ]

    hit.rar
    (2008-01-30 19:14:59, Size: 393 B , Downloads: 21)


    6.0修改好的.rar
    (2008-01-30 19:20:17, Size: 27.7 KB, Downloads: 15)


    TAG: Ajax AJAX ajax 友情链接 点击统计

    我来说两句

    (可选)

    Open Toolbar