リンクのクリックをカウントする
リンクのクリックをカウントする
この方法は、ある程度JavaScript、PHPの理解がある方推奨です。とはいってもそこまで難しい方法ではないため、初心者の方でも十分実装可能です。
アクセスランキング等によって自サイトのINカウントは、把握できてるけど、OUTカウントも把握したいと思ったことはありませんか?
リンク先を自作PHPにしてカウントしても良いのですが、外部リンクにならず閲覧者にもリンク先が不明確で分かり難いです。
今回紹介する方法は、Aタグにオンクリックスクリプトを埋め込み、自然にリンクのクリックをカウントする方法です。
リンクのカウントサンプル
JavaScript(Ajax)、PHPでのリンクのカウントのサンプルソースを記述します。
headタグに記述するJavascriptになります。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
var Clickcount = {
set : function(date){
$.ajax({
type: "GET",
url: "https://adult-affi.info/php/clickcount.php", // 呼び出しPHPパス
data: "date="+date, // サンプルでは12345の数値を受け取る
async: false
});
return true;
}
};
</script>
clickcount.phpです。自サイト用に集計方法を変更してください。ここでは、受け取ったdate変数を元に、データベース(MYSQL)の対象レコードのカウントを加算しています。
<?php
// 不正呼び出し防止
if($_SERVER['HTTP_X_REQUESTED_WITH']!='XMLHttpRequest' || $_SERVER['HTTP_HOST']!='adult-affi.info'){
die('Illegal Access.');
}
// カウント対象を取得
$date1 = $_GET['date'];
// データベースに接続(ID、パスは変更要)
if (!$con = mysql_connect("localhost", "ID", "パスワード")) {
echo "接続エラー" ;
exit ;
}
// データベースを選択(データベース名は変更要)
if (!mysql_select_db("データベース名", $con)) {
echo "データベース選択エラー" ;
exit ;
}
// 加算処理
mysql_query("SET NAMES utf8");
// テーブル名、カラム名変更要
$sql="update sample_mst set outcount = outcount + 1 where no = '".$date1."' ";
if (!$res = mysql_query($sql)) {
echo "加算処理実行時エラー" ;
exit ;
}
// データベース切断
mysql_close($con);
?>
カウントしたいaタグになります。
<a href="http://test.com/" target="_blank" onclick="Clickcount.set('12345');">サンプル</a>
オンクリック時に渡す変数(サンプルでは12345)をURLに変更して、aタグのリンクURLを基準に処理するのも良いかと思います。