2012-05-08 9 views
3

セッションごとにビデオと写真の表示を制限したい。たとえば、訪問者は3つの動画を視聴し、4つ目の動画を視聴しようとすると、彼は登録ページにリダイレクトされます。私はJWPlayerまたはネイティブのHTML5を使用していますが、問題はありません。これはWPで動作しますが、PHPで何かを行う方法を探しています(私は専門家ではありません)。セッションごとにhtml5ビデオ表示を制限しますか?

ので、理想的には、これはtehのワークフロー次のようになります。 1)訪問者がビデオ1を時計 - >オプションのメッセージは - >あなたは2本のビデオ 2を左に持っている)訪問者がVIDEO2時計 - >オプションのメッセージ - >あなたは1を持っています(>

は、これまでのところ、私は、帯域幅ごとまたは時間ごとに制限する方法を発見

をリダイレクト - >オプションのメッセージ - - >あなたは0ビデオ4)訪問者が見しようとし はVIDEO 4残っている動画は、3)訪問者がVIDEO3時計 を残しました1つのビデオのみをリダイレクトします)、時間やサイズに関係なく、正確に3つのビデオを配信する必要があります。そのため、これらのソリューションは機能しません。どのようにこれを達成するための任意のアイデアですか?

編集:ここにリダイレクトするためにいくつかのコードだ、私は本当に何も私は必要なものではありませんので、まだ何も追加しますが、見ていない:

<script src="text/javascript"> 
function vidplay(){ 
    var video = document.getElementById('video'); 
    video.play(); 
    video.addEventListener('ended',function(){ 
     window.location = 'http://SUBSCRIBE_PAGE'; 
    }); 
} 
</script> 
<video controls id="video" width="640" height="360" onclick="vidplay()"> 
    <source src="video/video.mp4" type="video/mp4" /> 
</video> 
+0

の例ですか? –

+0

あなたの問題を解決するために既に試みたコードを追加してください。 – Scuzzy

+0

はい、それは問題です。最善の方法は24時間あたりのIPあたりの制限などですが、この時点では何かに満足しています – Devin

答えて

3

ストア理想的セッションのカウント(のリスト1つのセッションで同じ動画を何度も見ることができるようにするための動画ID)、ユーザーがCookieをクリアすると無効になることがあります。それ以外の場合は、ユーザーがログインしなければならないアカウントを持っている場合、データベーステーブルに対して監視した履歴を保存します。

編集

:今、私はあなたがここにワードプレスを使用している気づいたので、私はそれに追加して「助けをカントが、ここでは、セッションベースのapproeachユーザーがセッションをクリアしたらどう

<?php 

// Obviously use your variable here 
$ID_OF_VIDEO_HERE = $_REQUEST['video']; 

if(isset($_SESSION) === false) 
    session_start(); // Start PHP session management 
if(isset($_SESSION['videos_viewed']) === false) 
    $_SESSION['videos_viewed'] = array(); 

if(isset($_SESSION['videos_viewed'][$ID_OF_VIDEO_HERE]) === FALSE AND count($_SESSION['videos_viewed']) >= 3) 
{ 
    // Redirect the User 
    header('location: http://SUBSCRIBE_PAGE'); 
    exit(); 
} 
else 
{ 
    // Add current video ID to list 
    $_SESSION['videos_viewed'][$ID_OF_VIDEO_HERE] = true; 
} 

// JUST FOR TESTING 
var_dump($_SESSION['videos_viewed']); 

?> 
+0

Scuzzyに感謝します。 – Devin

+0

あなたはいくつか実際には、ユーザーのIPが動的かもしれない、彼らはNATの後ろにいる可能性があります、クッキーをクリアする、ユーザーエージェントを変更する(おそらくこれほどそうではない)。また、セッションはわずかな時間しか持続できないため、一意のIDを生成し、セッションが終了した後のユーザーIDの形式としてクッキーに保存し、それを使用して制限することもできます。明らかにユーザーは十分に精通していればクッキーをクリアできますが、たいていの場合、ほとんどの人を止めるでしょう。 – Scuzzy

+0

よく、これは私の限られたスキルを超えて、それをする能力のある人を見つけようとします。あなたがそれを行うことができ、あなたを雇う方法があると思うならば、ちょうど、私は支払った仕事のためのプロトコルが何であるかについて確信していません – Devin