如何计算每个视频的独立观看次数
How to count each video unique views
应用程序是在 Zend Framework 1.12
中编写的。
我的视频在 url
:
下可用
test.com/videos/video/id/1
test.com/videos/video/id/2
test.com/videos/video/id/3
...
其中数字是从 MySQL 数据库生成的唯一参数。
我想计算每个视频的观看次数(唯一)。
我在 VideosController
中的视频操作看起来像:
public function videoAction() {
$video_id = $this->_getParam('id', 0);
$hits = new Application_Model_DbTable_Hits();
$hit = $hits->fetchRow($hits->select()->where('belongs_to_video = ?', $video_id));
if (!isset($_SESSION['views']) || !($_SESSION['views'] == $video_id){
$_SESSION['views'] = $video_id;
$newViews = $hit->count + 1;
$data = array('count' => $newViews, );
$hits->update($data);
}
}
但是,它的工作方式不正确。访问特定视频后观看次数增加(刷新网站后没有),在访问另一个视频后观看次数也增加(刷新网站后没有),但在回到第一个视频后他们再次增加(他们不应该)。
感谢任何帮助。
会话不是解决此问题的好方法。我建议您记录 IP 地址并创建阻止 cookie 以避免记录重复的视图。
IP 地址记录: 这是避免记录多个视图的好方法。您只需要在观众看完视频(或您认为已观看的任何内容)后立即在数据库中添加一条记录,并在下一次检查我们的数据库中是否存在该记录。
阻止 Cookie:您还可以在观众的浏览器中放置阻止 cookie。这对于避免记录多个视图相当有效。您需要在观看者观看视频时发送一个 cookie,并在第二次尝试时检查该 cookie 是否存在。
在我看来,IP 地址记录 就足够了。如果您的网站包含会员系统,那么您可以简单地实施 IP 地址记录(但您在此处记录 user_ids 而不是 IP 地址)。
应用程序是在 Zend Framework 1.12
中编写的。
我的视频在 url
:
test.com/videos/video/id/1
test.com/videos/video/id/2
test.com/videos/video/id/3
...
其中数字是从 MySQL 数据库生成的唯一参数。 我想计算每个视频的观看次数(唯一)。
我在 VideosController
中的视频操作看起来像:
public function videoAction() {
$video_id = $this->_getParam('id', 0);
$hits = new Application_Model_DbTable_Hits();
$hit = $hits->fetchRow($hits->select()->where('belongs_to_video = ?', $video_id));
if (!isset($_SESSION['views']) || !($_SESSION['views'] == $video_id){
$_SESSION['views'] = $video_id;
$newViews = $hit->count + 1;
$data = array('count' => $newViews, );
$hits->update($data);
}
}
但是,它的工作方式不正确。访问特定视频后观看次数增加(刷新网站后没有),在访问另一个视频后观看次数也增加(刷新网站后没有),但在回到第一个视频后他们再次增加(他们不应该)。
感谢任何帮助。
会话不是解决此问题的好方法。我建议您记录 IP 地址并创建阻止 cookie 以避免记录重复的视图。
IP 地址记录: 这是避免记录多个视图的好方法。您只需要在观众看完视频(或您认为已观看的任何内容)后立即在数据库中添加一条记录,并在下一次检查我们的数据库中是否存在该记录。
阻止 Cookie:您还可以在观众的浏览器中放置阻止 cookie。这对于避免记录多个视图相当有效。您需要在观看者观看视频时发送一个 cookie,并在第二次尝试时检查该 cookie 是否存在。
在我看来,IP 地址记录 就足够了。如果您的网站包含会员系统,那么您可以简单地实施 IP 地址记录(但您在此处记录 user_ids 而不是 IP 地址)。