dポイントプレゼントキャンペーン実施中!

データベースにURLのリンク(<a href=>)を登録しています。
PHPを使って、そのデータ(リンク)を表示しています。

やりたいことは、
ブラウザからそのURLをクリックしたら、データベースに接続して、クリックしたことをカウントしたいと思います。
ランキングのためにカウント数をデータベースに保存したいです。
もちろん、カウントした後に、(ロスなく)リンク先のホームページを表示させたいと思います。

どのような方法をすればいいのでしょうか?
ランキングは一般にどのように統計を取っているんでしょうか?
どなたかご教授いただけると幸いです。
よろしくお願いします。

使用環境
●Mac OSX(Tiger)
●Apache 1.3.33
●PHP 4.4.4
●MySQL 4.1.22

A 回答 (3件)

 リンクが表示されるページをlinklist.htmlとします。


 linklist.phpで、表記するサイトURLを、相手のサイトのURLではなく、自分のサーバーにあるファイル count.php?id=(サイトの登録ID)
などとします。
(例:<a href="count.php?id=167">○○のページ</a>)

 そして、count.phpでは、
<?php
$GET_['id'];
//~データベースに登録されているカウント回数を1プラスする処理~
//(データベース苦手なので、この部分はご勘弁を・・・)
$site = "http://site.ne.jp/"; //相手サイトのURL。データベースから呼び出しておいてください。
header("Location: $site");//一番最後に置きます。
?>

 header("Location: Webサイトアドレス")は、HTMLの
<META http-equiv="refresh" content="0; URL=アドレス">
と同じもので、HTMLのリフレッシュタグよりも素早い移動ができます。
 なお、headerより前に何らかの出力があると無効になるそうなので、もしその前にprintなどを使う場合は、HTMLのリフレッシュタグを使ってください。(別に出力することはないと思いますが。)
    • good
    • 0
この回答へのお礼

ありがとうございました。
やっぱり1回クッションおかないといけないみたいですね。。
一度それでやってみます。。

お礼日時:2007/03/17 20:17

クリックカウンターで探せば、サンプルソースもいっぱい見つかると思います。



http://php.s3.to/tt/
上記チュートリアルをじっくり読んだ上で、同サイト配布のリンクカウンターのソースを読むのが近道かな。
http://php.s3.to/data/#jump
あとは、テキストログ保存のところをMySQLデータベース接続データ登録へ変更してみて下さい。
    • good
    • 0

クリックした後のページが表示されるときにDBに接続して


カウントアップする様にすればいいのでは?

クリックする前のページでは無理だと思います。

この回答への補足

リンク先が自分で作ったものであればいいんですが、外部リンクなのでクリックするときにカウントを取りたいんです。。
やはり無理でしょうか?

補足日時:2007/03/17 15:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!