• ベストアンサー

リンク(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
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPの変数値をリンクさせたい

    現在、PHP・MySQL・HTMLにてWebサイトを開発しています。 純粋なPHPで記述されたファイルがあり、その中にURL(例えば、BBSのアドレス)が変数に格納されています。そのURL先にジャンプさせたいのですが、どのように記述すれば良いのでしょうか?現在は「require」にてリンクさせていますが、これではページ自体は表示されるのですが、リンク先のページにあるリンク"新規投稿"や"検索"といった文字列をクリックしても「404 Page not found」となり表示されません。おそらくLocalのキャッシュを見ているのでは無いとか思われます。 PHPの初心者のため基本が出来てないのですが、ご教授頂ければ嬉しいです。

    • ベストアンサー
    • PHP
  • リンク集を作りたいのですが・・・

    PHP5、MySQL4、Apache2、DreamweaverMX2004を使って簡単なリンク集を作りたいのですが、 <A HREF="http://www.yahoo.co.jp/"><IMG SRC="http://img.yahoo.co.jp/images/yahoojp.gif" ALT="Yahoo! JAPAN" BORDER=0></a> 例えば上の様な画像リンクをPHPで表示させるにはどの様にしたら良いのでしょうか。 非常に初歩的な事で大変恐縮なのですが・・・。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPとSQLによるaタグ(リンク)の貼り付け方

    PHP・SQL初心者です。 MySQLとPHPでサイトを構築しています。 データベースへの接続・テーブル内容の表示等はできるのですが、リンクをどのようにすれば貼り付けることができるのかわからなかったため質問させていただきました。 ID 名前 友達1 友達2 ・・・ 1 田中 佐藤 前田 2 山田 XXX XXX 3 佐藤 XXX XXX 4 前田 XXX XXX ・ ・ このようなデータベースを用意し、 名前が「田中」さん(ID が 1)のページに ------------------------------------------- 田中さんの友達 友達1:佐藤 友達2:前田 ------------------------------------------- このように表示し、 「佐藤」「前田」の箇所にデータベースの「ID」を利用してリンクを貼り付けたいと考えております。 データの抽出・画面への表示は、 $quryset = mysql_query("SELECT ID,名前,友達1,友達2 FROM テーブル名 WHERE ID= '1' "); while ($data = mysql_fetch_array($quryset)){} このような関数で行っております。 表示は問題なくできているのですが、 表示の「佐藤」「前田」の箇所にリンクを設定するの方法がわかりません。 「ID」 = 1 の情報を表示しているため「山田」と表示している箇所に <a href="http://XXXX.com/$data[ID].php">山田</a> と設定してリンクをつけることはできます。 友達の欄の「佐藤」「前田」の箇所にリンクをつけることができません。 データベースの「ID」欄、を利用して ------------------------------------------- 田中さんの友達 友達1:<a href="http://XXXX.com/ID名.php">佐藤</a>    ID名=佐藤さんのID欄にある2 友達2:<a href="http://XXXX.com/ID名.php">前田</a>    ID名=前田さんのID欄にある4 ------------------------------------------- ↓↓↓ IDが抽出されて ------------------------------------------- 田中さんの友達 友達1:<a href="http://XXXX.com/2.php">佐藤</a> 友達2:<a href="http://XXXX.com/4.php">前田</a> ------------------------------------------- このような形で表示できれば理想なのですが、 使用する関数やSQLの構文がわかりません。 初心者のため、考え方が根本的に間違っているのかもしません。 お詳しい方、まったく別の方法でも構いませんので解決する方法をご教授頂ければ幸いです。

    • ベストアンサー
    • PHP
  • phpのwhile文で、ボタンをクリックすると次が表示されるようにしたい。

    初めまして。PHP+MySQLの初心者ですが、昔BASICなどは組んで遊んでいました。 現在、Mysqlでプライベートで使うためのと練習として、住所録データーベースを作っているのですが、whele文で一覧表示させたときに、10項目ずつぐらい表示させて、何らかのリンクボタンクリックすると、また次の10項目ぐらいが表示されるようにしたいのです。 いろいろと検索してみたのですが、どうもわかりません。どのようなスクリプトを書けばよろしいのでしょうか?

    • 締切済み
    • PHP
  • クリックランキング JavaScript+PHP

    クリックランキング JavaScript+PHPで作成しようと思います。 リンク画像をクリックすると、リンクページ先にページ移動&DBにクリックの値を追加をしたいのですが・・・・ おそらく、画像をクリックするとJavaScriptへリンク先URLと画像コードを渡して、リンク先は、Window.Openか何かで開いて、画像コードを PHPプログラムに渡すのではないかな?と思うのですが・・・。 書き方がいまいちわかりません。 サンプルコードかそのようなサイトはありませんでしょうか?? 教えて下さい。

  • PHPコードにMySQLが反応しない

    環境 OS:winXP SP2 HE(localhost) Apache 2.0.52 MySQL 5.0.2 PHP 5.0.3 Apache,MySQL起動しています。 自動起動なのでMySQLのタスクトレイの表示はありませんがMySQLCommandLineClientでログインできますし、SQL文も通ります。 データベースは用意してあります。 必要な設定は済んでいると考えています。 [httpd.conf,my.ini] PHPコードだけのスクリプトは動きます。 ファイルはApache2\htdocs\に入れて、ブラウザで呼び出しています。 問題ではないのかと思っているところはデフォルトフォルダの位置です。 MySQLは"C:\Program Files\MySQL\MySQL Server 5.0" Apacheは"C:\Program Files\Apache Group\Apache2" PHPは"C:\PHP" になっています。 要点 PHPにてデータベースを参照するためのクエリが通らないようです。 参考書などのサンプルスクリプトとデータベースを利用してもクエリは通りません。 何が悪いのかご意見ご教授頂ければ幸いです。

    • ベストアンサー
    • MySQL
  • リンクURLがクリックに反応しな

    受信メルマガ上のリンクURLをクリックすると 「アプリケーションが見つかりません?」 とのメッセージ・ウインドウが表示されるようになり リンクページに行けなくなったのですが 元に戻すには、どうすればいいのでしょうか?

  • locatin.hrefのリンク付き画像とPHP

    現在、MySQLとPHPを組み合わせたシステムを作っています。 MySQLのi5_volumeというカラムの中の数値が「1より大きい」ときにボタンを表示させ、0以下であれば表示させないようにしたいと考えています。 ボタンは画像でありlocation.hrefで別のページにリンクされています。 (OAuthで認証エラーを避けるため <a href></a> はNG) 画像からのリンクは下記のソースになります。 【画像のソース(locatin.hrefのリンク付き)】 <img src="./abc.png" onclick="location.href='sell.php?e2_id=<?php echo $price['e2_id']; ?>&time=<?php $time = date('G'); echo $time; ?>';" /> 「i5_volumeが1より大きければ画像を表示させ、0以下であれば表示させない」ためのPHPは下記です。 【規定値で画像が表示されるPHP(画像は直リンク)】 <?php IF ($my_volume['i5_volume'] >= 1) {echo "<IMG src=\"./abc.png\" >";} ELSE {echo "";} ?> 従い、 【規定値で画像が表示されるPHP(画像は直リンク)】 の画像のソース部分を 【画像のソース(locatin.hrefのリンク付き)】 に置き換えれば基本的にはいいはずなのですが、下記ではうまくいきません。エラーになり何も表示されません。 どこが悪いかご指摘頂けませんでしょうか? <?php <?php IF ($my_volume['i5_volume'] >= 1) {echo " <img src=\"./abc.png\" onclick="location.href='sell.php?e2_id=$_price['e2_id'];&time= $time = date('G'); echo $time;'" /> ";} ELSE {echo "";} ?>

    • ベストアンサー
    • PHP
  • link.php 

    私はphpの初心者です。どなた様か知恵をお貸し下さい。 <a href="http://www.a.net/link.php?url=http://www.b.com/">  html上でこのように表記されてるphpで、aが自社のドメイン、bが他社のドメインです。  b.comへリンクを飛ばす際の、phpの記述の方法はあるのでしょうか?

    • 締切済み
    • PHP
  • PHPでのリンクに関して教えて下さい

    リンクとイメージのソースコードを表示します。 print "<td class='rl'><a href=".$value["url"]. " target='blank'><img src='http://mozshot.nemui.org/shot?".$value["url"]; print "width='64' height='64'></a></td>"; $value[url]はMysqlから引っ張ってきて表示します。 例として http://hoge.comは取り出されたとします。 この状態で、リンクは貼れていますが、イメージの部分で http://mozshor.nemui.org/shot?http://hoge.comのようにしたいのですが、 今の状態ではサイト表示したときの画像のURLを見ると下の通りになります。 http://mozshor.nemui.org/shot?http://hoge.comwidth= 上のソースコードをどのように訂正すると http://mozshor.nemui.org/shot?http://hoge.comと表示するのでしょうか。

    • 締切済み
    • PHP
QL-800 カット位置ずれ
このQ&Aのポイント
  • 純正のロールを使ってもカットいちがずれます。カット位置ずれの調整方法について教えてください。
  • お使いの環境はMacOS 11.5で、接続はUSBケーブルです。関連するソフトはP-touch editorです。
  • 電話回線はひかり回線です。ブラザー製品のQL-800で起こるカット位置ずれについて詳しく知りたいです。
回答を見る

専門家に質問してみよう