如何在php[laravel]上有效地记录页面视图

omhiaaxx  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(288)

很好的一天,
我正在尝试在我的页面上记录页面浏览量/访问量。。目前我在控制器上添加了一个助手函数
我的助手功能:

function record_user_click($type=null,$item_id=null)
    {
        $referer = (array_key_exists('HTTP_REFERER',$_SERVER)) ? $_SERVER['HTTP_REFERER']:'direct_access';
        \DB::table('click_statistics')->insert([
        ['user_id' => Auth::id(),'type'=>$type,'item_id'=>$item_id,'referer'=>$referer]
    ]);
    }

在我的产品控制器上,我使用了helper函数:

public function product_view($id){
   record_user_click('product',$id);
   -- controller codes here
 }

这个函数记录每次访问/视图,但是如果我快速刷新页面,它也会记录这些访问/视图,这将添加到表上的视图统计信息中。
我的问题是,怎样才能使它更可靠,比如stackoverflow的views函数。

carvr3hs

carvr3hs1#

如果您想在页面完全加载时注册浏览页面,则需要使用javascript进行注册。等待完全加载的页面并将带有数据的ajax发送到后端部分,然后注册用户

相关问题