• 締切済み

リンクのクリック数をカウンタしたい

YouTubeの等サムネイル画像をクリックするとJavascript(Ajax)によって同じページ内にムービービデオ(動画)をオーバーレイ表示するVideobox(Lightbox for videos)を使っていますが、動画毎にクリック数を把握したいですが、教えてください。 普通は、次のような型式ですが、 例:<a href="http://www.youtube.com/watch?v=VhtIydTmOVU" rel="vidbox 600 400" title="caption">our video1</a> → onclickを入れて、phpでカウントアップしたいですが、方法がありますか? 例:<a href="http://www.youtube.com/watch?v=VhtIydTmOVU" rel="vidbox 600 400" title="caption" onclick="<?php count(); ?>">our video1</a> <?php function count(){ dbのカウントをアップ; } ?>

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • thezen5
  • ベストアンサー率84% (27/32)
回答No.1

phpでは画面の読み込み完了後に処理はできませんから、クリックをカウントするphpファイルにリンクする <a href="count.php?video=VhtIydTmOVU" rel="vidbox 600 400" title="caption">our video1</a> ※count.phpでカウント記録した後ビデオにリダイレクトする あるいはAjaxを使ってphpにデータを送ってからyoutubeに飛ばす。 <a href="http://www.youtube.com/watch?v=VhtIydTmOVU" rel="vidbox 600 400" title="caption" onclick="ajaxClick('VhtIydTmOVU')>our video1</a> <script language="javascript"> <!-- function ajaxClick(vid){ var xmlHttp; xmlHttp = new XMLHttpRequest(); xmlHttp.open("GET", "ajax.php?video="+vid, false); xmlHttp.send(null); location.href='http://www.youtube.com/watch?v='+vid; } //--> </script> ※ajax.phpに$_GET['video']を使ってカウントを記録する処理を書く

関連するQ&A

  • youtubeの動画をポップアップで流したい。

    ホームページでyoutubeの動画をポップアップで流したいのですが、 うまくいきませんでした。 動画がバナーや文字の下に隠れてしまいます。 スタイルシートの関係だと思うのですが見よう見まねで作っているのでよくわかっていません。 テストで設置したページは http://www.kumano-meisui.jp/test.html です。 ポップアップのコードは下記のとおりです。 headに   <!-- ここから YouTubeポップアップ表示コード -->   <script type="text/javascript" src="video/js/mootools.js"></script>   <script type="text/javascript" src="video/js/swfobject.js"></script>   <script type="text/javascript" src="video/js/videobox.js"></script>   <link rel="stylesheet" href="video/css/videobox.css" type="text/css" />  <!-- ここまで YouTubeポップアップ表示コード --> bodyに   <a href="http://www.youtube.com/watch?v=4pvUaQ2gUMI" rel="vidbox 600 450" title="紀州熊野の命水"><img src="img/youtube1a.png" width="255" height="145" border="0"></a> 作成の時に参考にしたのは http://php-sample.steppers-hi.net/jquery/001youtube/#run  のVideoBoxというjQueryです。 如何したらよいのかよろしくお願いします。

    • ベストアンサー
    • CSS
  • リンククリックのアクセスカウンターがうまくいかない

    JavaScriptと非同期通信を使って、 リンククリックのアクセスカウンターを作ろうとしていますが、うまくいきません。 JavaScriptは、 function createHttpRequest(){ //Win ie用 if(window.ActiveXObject){ try { //MSXML2以降用 return new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { //旧MSXML用 return new ActiveXObject("Microsoft.XMLHTTP") } catch (e2) { return null } } } else if(window.XMLHttpRequest){ //Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用 return new XMLHttpRequest() } else { return null } } function upcount(pr) { //XMLHttpRequestオブジェクト生成 var httpoj = createHttpRequest() //[1] var url = './count.php?prid='+pr; // alert(url); //open メソッド httpoj.open( 'GET' , url , true) //[2] //受信時に起動するイベント httpoj.onreadystatechange = function() //[4] { } //send メソッド httpoj.send('') //[3] } です。 HTMLは、PHPの一部なのですが、 $prdata[$prcount]= "<li><a href=\"$link\" onClick=\"upcount('$prid');\">$title</a></li>\n"; な風になっています。 ブラウザは今のところFirefoxを使っています。 ここで奇妙なことが起こっています。 upcountファンクションのalertのところを一回でもコメントアウトでなくして、 リンクをクリックすると、うまくカウントされるのです。 コメントアウトにしても、うまくカウントされ続けます。 しかしコメントアウトのままですと、別のPCのFirefoxでリンクをクリックしても、 カウントされませんでした。 奇妙な現象も解明したい気もしますが、まずはソースにミスがあると 思っていますので、どうかデバッグにご協力ください。 よろしくお願いいたします。

  • カウンターを一定数でリセットしたい

    はじめまして。 レッツPHPのカウンタを使っています。 <?php $fp = fopen("count.txt","r+") or die("Error!"); $count = fgets($fp, 64); $count++; rewind($fp); //set_file_buffer($fp, 0); flock($fp, LOCK_EX); fputs($fp, $count); fclose($fp); echo $count; ?> count_file.txt にはA00と記入しているのでA99になったら次はB00~Z99までカウントされるのを、F99まできたらリセットしA00から始めたいのですが式が分りません。$count++;を書き換えればいいのだとは思いますが・・・ よろしくお願いいたします。 PHP4.3.3

    • ベストアンサー
    • PHP
  • セッションの利用

    今,セッションにはまっています. https://www.stackasterisk.jp/tech/php/php03_06.jsp には、セッションのサンプルもいくつかあるので,まずは,簡単なセッションを使った例を拾ってきて試してみたいと思っています.ですが、上のURLにあるサンプルで <? session_start(); if (!isset($count)) $count=0; session_register("count"); $count++; ?> <html> <body> あなたは <?= $count ?> 回目の訪問です。 <a href="<?echo $PHP_SELF ."?PHPSESSID=". $PHPSESSID?>">カウントを増やす</a> </body> </html> をしましたが,再読込やクリックをしてもカウントアップせず,ずっと1のままです.ソースが間違っているかどうかは私には,ハッキリできませんが,おそらく正しいんでしょう.正常にカウントアップされる為には,php.iniなどの設定も必要でしょうか?どうしてカウントアップされないでしょうか?

    • ベストアンサー
    • PHP
  • ランダムリンクのクリック数カウント方法

    ブログ内でお遊び的に占いの様な形でランダムにリンクする下記コードを使用しております。 <a href="http://123123123.com/" onclick="var urls=['http://11111.com/','http://22222.com/','http://33333.com/','http://44444.com/','http://55555.com/'];window.open().location.href=urls[Math.floor(Math.random()*urls.length)];return false">ランダムリンク</a> このリンクのクリック数をアナリティクスでイベントカテゴリ等で計測したいのですが、方法が分かりません。 全体のクリック数でも、ランダムの個別のクリック数でもどちらでもかまいません。 ご教示願います。

  • アフィリエイトのようなカウントシステム

    アフィリエイトのように自分で配布したURLごとにカウントするというものを作りたいと思っています。 リンクを <a href="jump.php?no=1">マイHP</a> <a href="jump.php?no=2">マイHP</a> <a href="jump.php?no=3">マイHP</a> として、$_GET['no'] の値を見てカウント集計するという感じで考えてはいるのですが、どうすれば「no」ごとにカウントを取れるのかがわかりません。 単にカウントを取るプログラムは組めるんですが・・・ --------------------------------------------- <? header("Location: http://www.○○○.php"); ?> <?php $filename = "count.dat"; $file = fopen($filename, "r"); $count = fread($file, filesize($filename)); fclose($file); $count = $count + 1; print "$count"; $file = fopen($filename, "w"); fwrite($file, $count); fclose($file); ?> --------------------------------------------- このプログラムを応用して「no」ごとのカウントは出来るでしょうか?それとも、他のやり方の方がいいのでしょうか? どうかお教え願います。

    • 締切済み
    • PHP
  • 呪いのビデオをYouTubeで見ちゃったら

    呪いのビデオをYouTubeで見ちゃったら、コピーをまたYouTubeにUPすれば良いですか? 呪いのビデオ http://www.youtube.com/watch?v=mrAUO1szt8c

  • リンクにおける挙動の参照と範囲指定

    ほぼ初心者です。 html内に、javascriptを参照させて、以下のように作成しました。 <SCRIPT language="javascript"src="popup.js"></script> <□□> <a href="1.jpg" onclick="popup(href);return false;">テスト1</a> <a href="2.jpg" onclick="popup(href);return false;">テスト2</a> <a href="3.jpg" onclick="popup(href);return false;">テスト3</a> </□□> 普通にポップアップされたのですが、以下の方法ができないかと思っております。 (1)「onclick="popup(href);return false;"」の部分をほかから参照させる (2)特定の範囲のリンクのみ「onclick="popup(href);return false;"」を適用させる。 (1)はLightboxのように、「rel="thumbnail"」みたいに参照できないか、ということです。 (2)は上の「<□□>~</□□>」のように囲われた範囲のリンクで、「onclick="popup(href);return false;"」を適用できないか、ということです。 よろしくお願いします。

  • ワンクリックしかできないクリックカウンター

    現在、ログイン式掲示板を作成中です。 その掲示板で、投稿に対してログイン中のみ、一人一回しかクリックできない「いいねボタン」のようなものを設置したいのですが、(mixiつぶやきのようなものです)どのようにすればよいのかわからずこまっております。 ネットにのっているものを参考にさせていただいて、クリック数をカウントする機能は、jQueryとjavascriptとphpでできたのですが、一回しかクリックできないようにするにはどうすればよいかわからないので、教えていただけませんか? どうぞよろしくお願いいたします。 javascript jQuery(document).ready(function(){ //初期時のカウンターファイル読み込み //同じファイル名だと正常に読み込めないので、ランダムな数字を生成し、パラメータとして付けることで、ユニークな状態にしている。 var randnum1 = Math.floor( Math.random() * 10000 ); jQuery("#btn01 span").load("./count01.txt?r=" + randnum1); //カウンター追加後の読み込み関数 function func01(data){ var randnum1 = Math.floor( Math.random() * 10000 ); jQuery("#btn01 span").load("./count01.txt?r=" + randnum1); } //カウンター+1追加処理 jQuery('#btn01 p').click(function(e){ //「param1」変数の値と書き込みファイル名の情報をもってpost.phpへ。その後、関数func01を実行 jQuery.post("post.php" , {"param1": 'count01.txt'} , func01); jQuery("#btn01 span").load("./count01.txt"); }); }); index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>カウントサンプル</title> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="js/count.js"></script> </head> <body> <div id="btn01"><p><a href="javascript:void(0);">いいね!</a></p><span></span></div> </body> </html> post.php <?php $file = $_REQUEST['param1']; $c = file_get_contents($file); $c++; $fp = fopen($file, "r+"); @fputs($fp,$c); fclose($fp);

    • ベストアンサー
    • PHP
  • 曲名分かるかたいらっしゃいますか?

    これらの曲名が分からず困っています。 良い曲なのでCD購入したいのですが。。。 どなたかご教授願います(><) http://www.woopie.jp/video/watch/a39e7b80e44218a1 http://www.youtube.com/watch?v=xiEMRzPVzn8 http://www.youtube.com/watch?v=snVMkBwS_LA&feature=related 宜しくお願いします!

専門家に質問してみよう