PHP is open source scripting language. It\'s widely used to develop web applications.  Home Web Programming PHP Outwards Link Counter
Your Ad Here

Outwards Link Counter


Outwards Link CounterThis will allow you to create a script that will count the amount of times a certain link has been clicked and display the results on your page.

SQL Query

DROP TABLE IF EXISTS 'LinkCounter';
CREATE TABLE 'LinkCounter' (
'ID' int(11) NOT NULL auto_increment,
'name' text NOT NULL,
'address' text NOT NULL,
'description' text NOT NULL,
'count' int(11) NOT NULL default '0',
KEY 'ID' ('ID')
) TYPE=MyISAM AUTO_INCREMENT=1;

The next file is named 'linkout.php'. If you wish to switch this name you must also switch it in the display code accordingly. I don't suggest you switch this unless you know what you are doing.

Remember to include your database information on all your pages. It is best to keep your details in a separate page.

<?php
$dbHost =; #Your db host
$dbUser =; #username
$dbPass =; #Pass
$dbname =; #Name of the database.
?>>

<?php

#include your database variables

function dbinsans($text) {
$text = strip_tags ($text, "");
$text = str_replace(chr(10),"",$text);
$text = str_replace(chr(13), "<br>", $text);
$text = str_replace(""","*",$text);
$text = str_replace("'","*",$text);
$text = addslashes($text);
return($text);
}

/* This function is used to check the input, a hacker could break the
query and use his own query if we're not careful and don't check
this stuff */

$link=dbinsans($_GET['link']);
$db = mysql_connect("$dbHost","$dbUser","$dbPass");
mysql_select_db($dbname,$db);
$requete = "SELECT * FROM LinkCounter WHERE ID='$link'";

$result = mysql_query ($requete,$db);
#Should return only one value, our link if it exists

$article = mysql_fetch_object($result);
#Gives an object with our row back

$addy = $article->address;
#Gets the address of the link


$count = $article->count + 1;
#Gets and adds one to counter variable

$sql = "UPDATE LinkCounter SET count='$count' WHERE ID='$link'";
#Updates count

mysql_query($sql, $db);
#Queries the database and updates the count at ID.

mysql_free_result($result);

header("Location: ".$addy);
#like Leo's tutorial this redirects the browser
exit();
?>

This next piece of code can go where you want the links to go, alternatively if you only want certain links to appear you could manipulate the query, maybe by adding another field with a section name and using the WHERE command in the query to match it.

<?php
#include database variables
$db = mysql_connect("$dbHost","$dbUser","$dbPass");
mysql_select_db($dbname,$db);


$requete = "SELECT * FROM LinkCounter";
$result = mysql_query ($requete,$db);

while ($article = mysql_fetch_object($result))
{
echo '<a href="/img_articles/9110/linkout.php?link='.$article->ID.'">'.$article->name.'</a>
Clicked ('.$article->count.') Times - '.$article->description.'<br />';
}

mysql_free_result($result);
?>

Admin Section Script, remember to include the database variables. This section will allow you to easily add links... I highly suggest you put this in an admin section or a password protected directory for protection.

<?php
if (!isset($_POST['submit'])) {
echo '<form method="post" action="'.$_SERVER['SCRIPT_NAME'].'" />';
echo 'Name Of Link : <input type="text" name="name" /><br />';
echo '<br />';
echo 'URL of Link (Include http://) :
<input type="text" name="address" /><br />';
echo '<br />';
echo 'Description of Link :
<input type="text" name="description"><br /><br />';
echo "<input type="submit" name="submit" value="Submit" />";
echo '</form>';
}
else {
$db = mysql_connect("$dbHost","$dbUser","$dbPass");
mysql_select_db($dbname,$db);

# I think we can trust our own input
# since this should be in a protected spot
$name = $_POST['name'];
$address = $_POST['address'];
$description = $_POST['description'];


$sql="INSERT INTO LinkCounter (name, address, description)
VALUES ('$name','$address', '$description')";

mysql_query($sql, $db);
echo 'Thank you your input it is now added.!';
}
?>


Author's URL: Joseph Skidmore
Thank you for voting.
Rate this Materials:
Bad 
1 2 3 4 5 Excellent
print this page subscribe to newsletter subscribe to rss

Web programming � everything from the basics of visual design and architecture to the specifics of applications, graphics, and scripting. More Web Programming: Most Popular Materials | Fresh Materials | More PHP Tutorials at LearnPHP.org

Add comments to "Outwards Link Counter"

Only registered users can write comment

Reader's comments