• ベストアンサー

リンク(URL)をクリックした後、PHPへ

データベースにURLのリンク(<a href=>)を登録しています。 PHPを使って、そのデータ(リンク)を表示しています。 やりたいことは、 ブラウザからそのURLをクリックしたら、データベースに接続して、クリックしたことをカウントしたいと思います。 ランキングのためにカウント数をデータベースに保存したいです。 もちろん、カウントした後に、(ロスなく)リンク先のホームページを表示させたいと思います。 どのような方法をすればいいのでしょうか? ランキングは一般にどのように統計を取っているんでしょうか? どなたかご教授いただけると幸いです。 よろしくお願いします。 使用環境 ●Mac OSX(Tiger) ●Apache 1.3.33 ●PHP 4.4.4 ●MySQL 4.1.22

質問者が選んだベストアンサー

  • ベストアンサー
noname#82539
noname#82539
回答No.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のリフレッシュタグを使ってください。(別に出力することはないと思いますが。)

i_tes
質問者

お礼

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

その他の回答 (2)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

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

回答No.1

クリックした後のページが表示されるときにDBに接続して カウントアップする様にすればいいのでは? クリックする前のページでは無理だと思います。

i_tes
質問者

補足

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