ограничить отображение видео html5 за сеанс?


Я хочу ограничить показ видео и фотографий за сеанс. Например, посетитель смотрит 3 видео, а когда он пытается посмотреть четвертое видео, он перенаправляется на страницу подписки. Я буду использовать JWPlayer или собственный HTML5, не имеет значения, и это будет работать в WP, но я ищу любой способ сделать это с помощью PHP (я ни в коем случае не эксперт).

Итак, в идеале это был бы рабочий процесс: 1) посетитель смотрит видео1 -->дополнительное сообщение --> у вас осталось 2 видео 2) часы для посетителей video2 --> дополнительное сообщение --> у вас осталось 1 видео 3) посетитель смотрит видео3 -->дополнительное сообщение --> у вас осталось 0 видео 4)посетитель пытается посмотреть видео4-->перенаправление

До сих пор я находил способы ограничить пропускную способность или время (только 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>
Author: Devin, 2012-05-09

1 answers

Сохраняйте количество в сеансе (в идеале список идентификаторов видео, чтобы они могли смотреть одно и то же видео несколько раз за один сеанс), это может быть аннулировано пользователем, очищающим файлы cookie. В противном случае, если у ваших пользователей есть учетная запись, в которую они должны войти, сохраните историю того, что они наблюдали, в таблице базы данных.

Редактировать: Теперь я заметил, что вы используете wordpress здесь, поэтому я не могу помочь с добавлением его к этому, но вот пример подхода, основанного на сеансе

<?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']);

?>
 3
Author: Scuzzy, 2012-05-08 22:54:17