Link Farm Code

  Home arrow Link Farm Code arrow Simple Outgoing Links/Url Hit Counter
LINK FARM CODE

Simple Outgoing Links/Url Hit Counter
By: Codewalkers
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 4 stars4 stars4 stars4 stars4 stars / 3
    2002-01-18

    Table of Contents:

     
     

    SEARCH CODEWALKERS

    TOOLS YOU CAN USE

    advertisement
    This will count your outgoing hits so you know where people are going from your site. This was created quickly to manage outgoing hits, perhaps it'll be of some use. I heavily commented it so hopefully all will understand its logic. It is a very simple script. It just tracks url and number of hits.

    By : philip

    A new version of this lives here :

    http://www.theprojects.org/scripts/linkTracker/

    <?php
    // : Filename : go.php
    // : Version 0.0.1d

    // Me : Philip Olson @ theprojects.org
    // : Do whatever you want, just don't take credit as your own.
    // : NO CREDIT REQUIRED. :-) This is simple, all should learn to
    // create such a script, which is why it is so commented :-)

    // Use : <a href="go.php?url=www.google.com">google</a>
    // : Will insert url name and hit count into database.
    // : Manages outgoing hit count.

    // Set : mysql table name hits and url. hits is integer about 8chars
    // and url is to hold at least the length of your longest linked
    // url, set to about or at least 80chars.
    // Ex : CREATE TABLE url_redirect (
    // url varchar(100) NOT NULL,
    // hits int(10) DEFAULT '1' NOT NULL,
    // PRIMARY KEY (url)
    // );
    //
    // TODO: Error checking does not exist and should / will in version .2
    // If you want a version .2 then email author and ask!

    /*-----------------------------------------------------------------
    BEGIN USER CONFIGURATIONS
    -----------------------------------------------------------------*/

    // If go.php is called directly, goes to default_url.

    $default_url = 'www.theprojects.org';

    // Your database settings. You should include these from a secure
    // location (out of your web root) but it's up to you :-)

    $db_host = 'localhost'; // usually localhost
    $db_name = '';
    $db_user = '';
    $db_pass = '';
    $db_table = ''; // table holding url and hits fields.

    // Debug TRUE or FALSE. If you're debuggin, set to TRUE

    $debug = FALSE;

    /*-----------------------------------------------------------------
    END USER CONFIGURATIONS
    ------------------------------------------------------------------*/

    // Db connect function
    function db_connect()
    {
    global $db_host,$db_name,$db_user,$db_pass,$db_table,$connected;
    global $err;

    $conn = mysql_connect($db_host, $db_user, $db_pass);

    if ($conn) {
    $db_link = mysql_select_db($db_name,$conn);
    if ($db_link) {
    $connected = TRUE;
    } else {
    $err .= '[Db not being selected]';
    }
    } else {
    $err .= '[Db not being connected]';
    }
    }

    // This connects to db. In future consider more 'useful' placement
    // for this function.
    db_connect();

    // If $url is not empty then process request
    if (!empty($url)) {

    // If connected to database then insert info into database otherwise
    // just redirect url.
    if ($connected) {
    $msg .= '[$connected is TRUE, database being query\'d]';

    // Select current hit count from db where field url equals url
    $r = mysql_query ("select hits from $db_table WHERE url='$url'");

    // Return the results from above query
    $hits = @mysql_result($r,0);

    // If not yet in database (0 hits) then insert new url, value=1 hit
    if ($hits == 0) {
    $q = "INSERT INTO $db_table (url,hits) VALUES('$url','1')";

    // Else use current hit count plus 1 as we just got a hit
    } else {
    $q = "UPDATE $db_table SET hits = $hits+1 WHERE url='$url'";
    }

    // And finally, put info into the database
    mysql_query($q);
    }

    // Else $url is empty so set as default $host
    } else {
    $url = "$default_url";
    }

    // If debug is TRUE then show debug information and do not redirect.
    if ($debug) {

    print '<li>$url is ' . $url;
    print '<li>$hits is ' . $hits;
    print '<li>$q is ' . $q;
    print '<li>db_connect is ' . print db_connect();

    // If $msg and $err are not empty then print them out.
    if (!empty($msg)) { print '<li>Messages are ' . $msg; }
    if (!empty($err)) { print '<li>Errors are ' . $err; }

    } else {

    // Do redirection. To be paranoid (for no good reason), clear
    // cache first.
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header ("Pragma: no-cache");
    header ("Cache-Control: no-cache, must-revalidate");
    header ("Location: http://$url");
    exit;
    }

    // Email me questions, will most likely answer them.
    ?>
    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

    More Link Farm Code Articles
    More By Codewalkers

    blog comments powered by Disqus

    LINK FARM CODE ARTICLES

    - FreshSoftware Banner Image Rotater
    - LinkMachine
    - Pagination
    - Ask and Receive version 2.0
    - MyLinks Version 1.1
    - Flexphplink Pro
    - Flexphplink
    - Please remove
    - Simple Outgoing Links/Url Hit Counter
    - PHP-LINKS


    © 2003-2012 by Developer Shed. All rights reserved. DS Cluster 6 - Follow our Sitemap