Я работаю над сайтом просмотра видео и хотел бы записать просмотр пользователя.
Вместо того, чтобы использовать сторонний код отслеживания, я хотел бы реализовать некоторую простую функцию записи
Прямо сейчас я использую самый простой способ,
Добавьте инкрементный код представления внутри контроллера, прежде чем представление сгенерирует:
$this->Playlist_model->update_playlist_view($video_id);
это работает, но не может помешать людям обновиться, чтобы увеличить обзор и снизить производительность
Какой стандартный способ записи? например сохранить идентификатор видео в сеансе, только обновить, если он не существует?
Спасибо за помощь.
Вы можете установить cookie со значением по умолчанию, напр. firstTime=0
,
Установите срок действия 0, чтобы он истек, когда браузер закрывается.
Увеличивайте значение cookie для каждого обновления представления.
Увеличивайте счетчик только для первого посещения.
т.е. когда значение cookie равно 0
В вашем контроллере
if (isset($_COOKIE['visitCounter']) and $_COOKIE['visitCounter']>=0){
$_COOKIE['visitCounter']++; // increment the cookie value with 1 for each visit
}
else{
setcookie("visitCounter", 0, 0); // if the cookie is not set or it's set and is 0, set it again
}
В вашей модели
if (isset($_COOKIE['visitCounter']) and $_COOKIE['visitCounter']==0){
$this->Playlist_model->update_playlist_view($video_id);
// do your stuff only at the first visit
}
Других решений пока нет …