Счетчик посетителей Laravel - PullRequest
0 голосов
/ 28 июня 2019

этот код повторяет одно посещение IP каждый раз, когда я посещаю этот IP ... если я посещаю повторно с одним увеличением IP-адресов, а не увеличением IP-адреса

как я могу решить эту проблему ??кто-нибудь может руководить?

   $date = new \DateTime;

    $check_if_exists = DB::table('visitors')
    ->where('ip',$_SERVER['REMOTE_ADDR'])->first();

    $get_visit_day = DB::table('visitors')->select('created_at')
    ->where('ip', $_SERVER['REMOTE_ADDR'])->first();

   $value = date_create($get_visit_day->created_at);
    if(!$check_if_exists)
    {
        DB::table('visitors')->insert(array('ip' => 
        $_SERVER['REMOTE_ADDR'], 'hits' => '1', 'created_at' => $date));
    }else{
        DB::table('visitors')->where('ip', $_SERVER['REMOTE_ADDR'])
        ->increment('hits')->insert('updated_at', $date);
        // DB::table('visitors')->insert('updated_at', $date);
    }

    // $value = date_create($get_visit_day->created_at);
    if ($check_if_exists && date_format($value, 'd') != date('d')) {
        DB::table('visitors')->insert(array('ip' => $_SERVER['REMOTE_ADDR'], 'hits' => '1', 'created_at' => $date));
    }[enter image description here][1]

1 Ответ

0 голосов
/ 28 июня 2019

попробуйте, если вы хотите добавить новую запись для каждого дня, и увеличить количество просмотров для каждого попадания на сегодняшний день из уникального ip

$date = new \DateTime;

    $check_if_exists = DB::table('visitors')
    ->where('ip',$_SERVER['REMOTE_ADDR'])->first();

    $get_visit_day = DB::table('visitors')->select('created_at')
    ->where('ip', $_SERVER['REMOTE_ADDR'])->first();

    $is_today_if_exists = DB::table('visitors')->whereDate('created_at',$date)
    ->where('ip', $_SERVER['REMOTE_ADDR'])->count();



    if(!$check_if_exists)
    {
        DB::table('visitors')->insert(array('ip' => 
        $_SERVER['REMOTE_ADDR'], 'hits' => '1', 'created_at' => $date));
    }
    elseif ($is_today_if_exists>0) 
    {
        DB::table('visitors')->where('ip', $_SERVER['REMOTE_ADDR'])->whereDate('created_at',$date)
        ->increment('hits');
    }
    else
    {

        DB::table('visitors')->insert(array('ip' => $_SERVER['REMOTE_ADDR'], 'hits' => '1', 'created_at' => $date));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...