Forum Sementara Putera.com

Would you like to react to this message? Create an account in a few clicks or log in to continue.
Forum Sementara Putera.com

Bersama kita perkemaskan forum ini sementara forum asal dalam pemulihan.

Forum putera dah kembali. Masalah sudah berjaya diselesaikan. Sila lawati http://forum.putera.com/tanya


2 posters

    hit counter guna php

    avatar
    kasut jepun
    Ahli Baharu
    Ahli Baharu


    Number of posts : 20
    Registration date : 19/02/2009

    hit counter guna php Empty hit counter guna php

    Post by kasut jepun Sat Sep 26, 2009 2:53 pm

    salam..
    ader saper2 tau tak coding dlm php untuk kira counter bila hit pada link
    aku dh wat guna cookies..ble user masuk akan stat kira..
    tp problem bos aku xnak camtu..dia nk user just click( hit) pada link terus dia kira..
    xperlu masuk dlm page tersebut..
    johnburn
    johnburn
    Moderators
    Moderators


    Gender : Male Number of posts : 755
    Location : Terengganu
    Registration date : 07/03/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by johnburn Sat Sep 26, 2009 5:55 pm

    mksd ko, ko nk bt counter untk click la ek.
    mksdnye brape byk user klik link tu, ke cmne? aku lmbt pham sket hehe
    satu lg, counter tu ko nk simpan kt db cmne? nk pkai flat file database ke, mysql ke or pe?
    --edit--
    lupa lak, satu lg ko nk unique count ke cmne?
    avatar
    kasut jepun
    Ahli Baharu
    Ahli Baharu


    Number of posts : 20
    Registration date : 19/02/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by kasut jepun Sat Sep 26, 2009 6:17 pm

    unique count tu aper?
    aku xtau la..

    cmni..aku ada satu main page nama index.php
    kat page tu aku ada senarai 50 links..
    kata kan user klik link-3..
    pastu dia akn g ke page login.php utuk daftar masuk dahulu..

    pastu nti kat index.php tu akn show likns ke3 bru viewed:1
    aku nk cari link paling popular yg org suka klik..
    tu maksud aku

    aku dh try guna cookies..ok..tp hanya ok klu ada 1 links..
    aku pun dh try create text file,ikut contoh dlm tenet..
    tp klu aku ada 50links xkn nk kene wat sampai 50 text file..
    benda ni aku klu boleh xnk save dlm dbase..
    klu ada cara bg tau aku..
    johnburn
    johnburn
    Moderators
    Moderators


    Gender : Male Number of posts : 755
    Location : Terengganu
    Registration date : 07/03/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by johnburn Sat Sep 26, 2009 6:22 pm

    oh gtu bleh je bt
    kl nk simpan dlm text file pn xyah bt sampai 50 text file
    just bg id je untk link2 tu
    jap nk try bt Very Happy
    avatar
    kasut jepun
    Ahli Baharu
    Ahli Baharu


    Number of posts : 20
    Registration date : 19/02/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by kasut jepun Sat Sep 26, 2009 6:28 pm

    tq la john burn..
    ko bk tolong aku..
    johnburn
    johnburn
    Moderators
    Moderators


    Gender : Male Number of posts : 755
    Location : Terengganu
    Registration date : 07/03/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by johnburn Sat Sep 26, 2009 9:08 pm

    Ok, ni contoh dr aku. Script ni akan rekodkan link mana yg diklik dan bilngn klik ke file bernama log.txt
    ko gak kne buat satu lg file nama id.txt untuk simpan id last yg dimasukkan
    basically, sume link yg ko nk track click dia ko kne gntikan dengan url yg menggunakan click.php
    untuk memudahkan ko menambah link, aku dh sediakan satu script nama admin.php
    kat admin.php, ko bleh add link dan jugak view statistik untuk link yg dh di add.
    katalah link yg ko nk track tu gini:
    www.domain.com/index.html

    ko add link tu kat admin.php
    katalah file click.php tu dok kat root folder domain ko, nt admin.php tu akan generate link dgan id untuk file index.html yg ko nk track tu. cnth:
    www.domain.com/click.php?id=1

    so nt kt site ko, ko kne ltak link dia cmni:
    <a href="click.php?id=1">INDEX</a>

    so nt bile user klik link INDEX tu, click.php akan rekodkan count sblom dia redirect user ke index.html
    aku xltak komen sgt kt script sbb malas hehe
    so kl ada xpham pe2, bleh tnya

    1) admin.php
    Code:

    <?php
    require_once 'settings.php';

     $action=htmlspecialchars($_REQUEST['action']);
     
     if ($action == 'add') {
     add();
     } else {
     main();
     }
     
     function main($notice='') {
    global $settings;
    ?>
    <form action="admin.php" method="POST">
    <p><a name="addlink"></a><b>Tambah link</b></p>

    <table border="0">
    <tr>
    <td>Mula kira dari:</td>
    <td><input type="text" name="count" value="0" size="6"></td>
    </tr>
    <tr>
    <td>URL Link:</td>
    <td><input type="text" name="url" value="http://" size="50"></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    </table>
    <p><input type="hidden" name="action" value="add"><input type="submit" value=" Tambah Link "></p>
    </form>
    <hr>
    <p><b>Statistik</b></p>
    <?php
    $lines = array();
    $jumlahklik = '';
    $popular = 0;
    $popID = 0;
    $kosong = 0;

    $lines = file($settings['logfile']);
    if (count($lines) == 0) {
        $kosong = 1;
    }

    if ($kosong == 1) {
        echo '<p>Tiada sebarang link dimasukkan.</p>';
    } else {
        $i=0;
        foreach ($lines as $thisline) {
            $thisline = trim($thisline);
            list($id,$url,$count)=explode('%%',$thisline);
            $jumlahklik += $count;
            if($count > $popular) {
                $popular = $count;
                $popID=$id;
            }
            $i++;
        }
       
        echo '
        <table border="0" cellspacing="0" cellpadding="2">
        <tr>
        <td>Jumlah link:</td>
        <td><b>'.$i.'</b></td>
        </tr>
        <tr>
        <td>Jumlah klik:</td>
        <td><b>'.$jumlahklik.'</b></td>
        </tr>
        ';
        if ($popular != 0) {
            echo '
            <tr>
            <td>Link popular:</td>
            <td><b>'.$popular.'</b> (link ID <b>'.$popID.'</b>)</td>
            </tr>
            ';
        }
        echo '
        <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        </tr>
        </table>';
    }
    if ($kosong == 0) {
        echo '
        <table border="1" cellpadding="3" cellspacing="0">
        <tr>
        <td align="center" valign="center"> <b>ID</b> </td>
        <td align="center" valign="center"> <b>Jumlah Klik</b> </td>
        <td align="center" valign="center"> <b>URL</b> </td>
        </tr>
        ';

        foreach ($lines as $thisline) {
            $thisline = trim($thisline);
            if (strlen($thisline) < 4) {
                continue;
            }

            list($id,$url,$count) = explode('%%',$thisline);
       
                if (strlen($url) > 40) {
                    $linkname = substr($url, 0, 20);
                    $linkname .= '...';
                    $linkname .= substr($url, -17);
                } else {
                    $linkname=$url;
                }
           

            echo '
            <tr>
            <td align="center" valign="center"> '.$id.' </td>
            <td valign="center"> <b>'.$count.'</b> </td>
            <td valign="center"> <a href="'.$url.'" target="_blank">'.$linkname.'</a> </td>
            </tr>
       ';
        }
       echo ' </table>';
    }
    }

    function add() {
    global $settings;

    $url=checkurl($_POST['url']);

    $start_from = input($_POST['count']);
    if (preg_match("/\D/",$start_from)) {
        $start_from = 0;
    }

    $previd = file_get_contents($settings['idfile']);
    $previd = trim($previd);
    $previd++;

    $fp = @fopen($settings['idfile'],'w') or error('Sila pastikan permission untuk file.'.$settings['idfile'].'!)');
    flock($fp, LOCK_EX);
    fputs($fp,$previd);
    flock($fp, LOCK_UN);
    fclose($fp);

    $addline = $previd . '%%' . $url . '%%'. $start_from . "\r\n";

    $fp = @fopen($settings['logfile'],'a') or error('Sila pastikan permission untuk file.'.$settings['logfile'].'!)');
    flock($fp, LOCK_EX);
    fputs($fp,$addline);
    flock($fp, LOCK_UN);
    fclose($fp);
    ?>
    <tr>
    <td><p>&nbsp;</p>
    <div align="center"><center>
    <table width="400" cellpadding="3"> <tr>
    <td align="center" class="head">Link ditambah</td>
    </tr>
    <tr>
    <td>
    <form>
    <p>&nbsp;</p>
    <p align="center"><b>Link baru berjaya ditambah!</b></p>
    <p>Link dengan ID <?php echo($previd); ?> telah berjaya ditambah.</p>
    <p>Sila gunakan link berikut untuk mengira jumlah klik:<br><br>
    <b><?php echo("$settings[click_url]?id=$previd"); ?></b>
    <p>&nbsp;</p>
    <p align="center">
    <a href="admin.php">
    Teruskan</a></p>
    <p>&nbsp;</p>
    </td>
    </tr> </table>
    </div></center>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    </td>
    </tr>
    <?php
    exit();
    }

    function checkurl($url) {
        if (empty($url) || $url == 'http://' || $url == 'https://') {
            error('Sila masukkan URL link yang hendak ditambah!');
        }
        if (strpos($url, '%%') !== false) {
            error('%% tidak dibenarkan dalam URL!');
        }
        return $url;
    }

    function input($in, $error = 0) {
        $in = trim($in);

        if ($error && strlen($in) == 0) {
            error($error);
        }

        return htmlspecialchars(stripslashes($in));
    }
    function error($err) {
    echo '<div style="font-family:Verdana;font-size:11px;text-align:center;"><b>'.$err.'</b></div>';
    exit();
    }
    ?>
    2) click.php
    Code:

    <?php

    if (defined('AKSES_TERUS')) {die('Anda tidak dibenarkan mengakses bahagian ini');}

    require_once 'settings.php';



    $id = $_GET['id'];

    if (empty($id) || preg_match("/\D/",$id)) {die('ID tidak sah. Hanya nombor dibenarkan!');}





    $lines = file($settings['logfile']);



    $found = 0;

    $i = 0;

    foreach ($lines as $thisline) {

        if (strpos($thisline, $id.'%%') === 0) {

            $thisline = trim($thisline);

            list($id,$url,$count) = explode('%%',$thisline);

            $count = $count + 1;

            $lines[$i]=$id.'%%'.$url.'%%'.$count."\r\n";

            $found=1;

            break;

        }

        $i++;

    }

    if ($found != 1) {die('ID tiada dalam rekod!');}



    Header('Location: '.$url);

    exit();

    ?>


    3) settigs.php, untuk ko tkar bbrapa parameter kl nk tkar
    Code:

    <?php

    if (defined('AKSES_TERUS')) {die('Anda tidak dibenarkan mengakses bahagian ini');}

    /* URL untuk file click.php*/

    $settings['click_url']='http://www.domain.com/click.php';



    /*log file */

    $settings['logfile']='log.txt';



    /* file untuk simpan last ID */

    $settings['idfile']='id.txt';



    ?>

    avatar
    kasut jepun
    Ahli Baharu
    Ahli Baharu


    Number of posts : 20
    Registration date : 19/02/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by kasut jepun Mon Sep 28, 2009 12:16 pm

    ok..aku dh try code yg ko bg..
    tp aku xpham kat page mane aku nk show bilagan user dh click..
    <a href="click.php?id=1">INDEX</a> tu aku nk letak kat page mana?

    kenape ble aku klik kat link yg aku tambah,jumlah klik xbertambah pun kat page admin.php?
    johnburn
    johnburn
    Moderators
    Moderators


    Gender : Male Number of posts : 755
    Location : Terengganu
    Registration date : 07/03/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by johnburn Mon Sep 28, 2009 12:24 pm

    ko bleh view statistik user klik kt admin.php

    <a href="click.php?id=1">INDEX</a> link yg ko akan ltak kt site ko
    sbnarnye bile user klik link tu, dia akan pegi ke click.php yg akan merekodkan bilangan klik sblom redirect user ke page link yg sbnr mengikut id yg dh di setkn
    avatar
    kasut jepun
    Ahli Baharu
    Ahli Baharu


    Number of posts : 20
    Registration date : 19/02/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by kasut jepun Mon Sep 28, 2009 12:49 pm

    xpaham..xpaham..
    boleh aku dptkn ym ko?
    sori sgt2 sbb sshkn ko
    johnburn
    johnburn
    Moderators
    Moderators


    Gender : Male Number of posts : 755
    Location : Terengganu
    Registration date : 07/03/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by johnburn Mon Sep 28, 2009 12:51 pm

    Demo, pegi ke:
    http://johnburn.freehostia.com/

    kat bahagian test untuk click counter, ada link untuk google, yahoo, dan putera
    kl ko view source, link dia cmni:
    Code:

    <p><a href=\"click.php?id=1\">Google</a></p>
    <p><a href=\"click.php?id=2\">Yahoo</a></p>
    <p><a href=\"click.php?id=3\">Putera</a></p>

    kl ko g kat bhgian admin, ko bleh tgk bilangan klik untuk setiap link ni:
    http://johnburn.freehostia.com/admin.php

    try ko klik link2 tu dan view blk bhgian admin Very Happy
    ym aku: burn861221
    avatar
    kasut jepun
    Ahli Baharu
    Ahli Baharu


    Number of posts : 20
    Registration date : 19/02/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by kasut jepun Mon Sep 28, 2009 12:59 pm

    ehmm..xbertambah pun bilangan kita clik...??
    aku dh clik 10 kali kat yahoo,kat admin.php xjadi 10x pun..
    still jadi 0..naper?
    ker aku yg xpaham
    johnburn
    johnburn
    Moderators
    Moderators


    Gender : Male Number of posts : 755
    Location : Terengganu
    Registration date : 07/03/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by johnburn Mon Sep 28, 2009 1:49 pm

    kasut jepun wrote:ehmm..xbertambah pun bilangan kita clik...??
    aku dh clik 10 kali kat yahoo,kat admin.php xjadi 10x pun..
    still jadi 0..naper?
    ker aku yg xpaham
    bkn ko xpham tp aku tertinggl line untuk tulis blk file log.txt dlm click.php tu pas aku dh ubah script tu, sori hehe
    ko ubah blk code click.php jd gini:
    Code:

    <?php

    if (defined('AKSES_TERUS')) {die('Anda tidak dibenarkan mengakses bahagian ini');}

    require_once 'settings.php';



    $id = $_GET['id'];

    if (empty($id) || preg_match("/\D/",$id)) {die('ID tidak sah. Hanya nombor dibenarkan!');}





    $lines = file($settings['logfile']);



    $found = 0;

    $i = 0;

    foreach ($lines as $thisline) {

        if (strpos($thisline, $id.'%%') ===0) {

            $thisline = trim($thisline);

            list($id,$url,$count) = explode('%%',$thisline);

       echo $id.$url.$count;

            $count = $count + 1;

            $lines[$i]=$id.'%%'.$url.'%%'.$count."\r\n";

            $found=1;

            break;

        }

        $i++;

    }

    if ($found != 1) {die('ID tiada dalam rekod!');}



    $content = implode('', $lines);

        $fp = fopen($settings['logfile'],'w') or die('Sila pastikan permission untuk file.'.$settings['logfile'].'!');

        flock($fp, LOCK_EX);

        fputs($fp,$content);

        flock($fp, LOCK_UN);

        fclose($fp);

    Header('Location: '.$url);

    exit();

    ?>

    bleh try blk demo sbb aku dh tukar gak hehe
    avatar
    kasut jepun
    Ahli Baharu
    Ahli Baharu


    Number of posts : 20
    Registration date : 19/02/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by kasut jepun Wed Sep 30, 2009 10:47 am

    dh settle..tq john burn..aku dh dpt dah..
    ssh kn ko jer..syukran2..
    johnburn
    johnburn
    Moderators
    Moderators


    Gender : Male Number of posts : 755
    Location : Terengganu
    Registration date : 07/03/2009

    hit counter guna php Empty Re: hit counter guna php

    Post by johnburn Wed Sep 30, 2009 11:35 am

    ok no hal
    ade pe2 leh tye lg hehe

    Sponsored content


    hit counter guna php Empty Re: hit counter guna php

    Post by Sponsored content


      Current date/time is Thu Mar 28, 2024 6:23 pm