Öncelikle kaydetmek için bir sql tablo yapmak;
CREATE TABLE `link_counter` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`link` text COLLATE utf8_general_ci NOT NULL,
`ip` text COLLATE utf8_general_ci NOT NULL,
`times` int(11) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Eğer php kodları ile IP adresleri öğrenmek ve global bir değişken ip yapmak için bilmeniz gerekir daha;
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
echo '<script type="text/javascript">
var ip='.$ip.';
</script>';
Bir senaryo yapmak daha;
<script type="text/javascript">
function record(link)
{ //jquery
$.post("record.php",{ link: link , ip: ip}); //post link to record.php
location.href=link; //go to link
}
</script>
Bu gibi bağlantı yapmak daha;
<a href="#" onclick="record('http://www.google.com')">GOOGLE</a>
ve son bir record.php yapmak;
$link=$_POST['link'];
$cip=$_POST['ip'];
if ($link!='' && $cip!='')
{
$sorgu="select count(id),times,id from link_counter where link=".$link." and ip=".$cip;
$what=mysql_query($sorgu);
while ($isit=mysql_fetch_array($what))
{
$recorded=$isit['count(id)'];
$id=$isit['id'];;
if ($recorded>0)
{
$times= $isit['times'];
}
else
{
$times=0;
}
}
$add_times=$times+1;
if ($recorded>0)
{
$add="update link_counter set times='".$add_times."' where id='".$id."'";
$add_action=mysql_query($add);
}
else
{
$add="insert into link_counter times='".$add_times."' , link='".$link."' , ip='".$cip."'";
$add_action=mysql_query($add);
}
}