• 16-01-2024, 16:48:01
    #1
    Merhaba
    Ben siteme yapılan erişimleri nasıl kayıt altında tutabilirim

    Günlük erişim
    Haftalık erişim
    Aylık erişim
    Yıllık erişim

    Bu tarzda
    Örneğin siteye bugün 5 kişi bu hafta 20 kişi bu ay 50 kişi bu yıl 200 kişi tarzında
  • 16-01-2024, 16:49:49
    #2
    Üyeliği durduruldu
    Hocam bir fonksiyonla sayfa bazlı da yapabilirsin gelen kullanıcının ipsine göre sanırım dbde saklamak istyiyosun log tutarsın bunları mysql komutlarıyla haftalık aylık olarak count la saydırabilirsin. ipleri de benzersiz yaparsın.
  • 16-01-2024, 16:51:35
    #3
    janjakruso adlı üyeden alıntı: mesajı görüntüle
    Hocam bir fonksiyonla sayfa bazlı da yapabilirsin gelen kullanıcının ipsine göre sanırım dbde saklamak istyiyosun log tutarsın bunları mysql komutlarıyla haftalık aylık olarak count la saydırabilirsin. ipleri de benzersiz yaparsın.
    Örnek olarak bakabilecegim doküman tarzı bir veri varmı çok profesyonel değilim kodlamada
  • 16-01-2024, 16:52:05
    #4
    Ücretli destek sağlayabilirim
  • 16-01-2024, 16:52:59
    #5
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    Ücretli destek sağlayabilirim
    Dmden fiyat rica edebilirmiyim
  • 16-01-2024, 17:00:48
    #6
    Üyeliği durduruldu
    gokhangencebay adlı üyeden alıntı: mesajı görüntüle
    Örnek olarak bakabilecegim doküman tarzı bir veri varmı çok profesyonel değilim kodlamada

    Bence şöyle bir tablo yapısı kurarsın,
    Mesela 1 haftalık kayıtları saydırabileceğin sql komutu:

    SELECT COUNT(*) AS kayit_sayisi
    FROM acc_logs
    WHERE created_at >= CURDATE() - INTERVAL 1 WEEK
    php ile de şöyle bir şey yapabiirsi sayfaya girdi diyelim kullanıcı :
    function ipAl() {    $ipaddress = '';     if (isset($_SERVER['HTTP_CLIENT_IP']))        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];    else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];    else if(isset($_SERVER['HTTP_X_FORWARDED']))        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];    else if(isset($_SERVER['HTTP_FORWARDED_FOR']))        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];    else if(isset($_SERVER['HTTP_FORWARDED']))        $ipaddress = $_SERVER['HTTP_FORWARDED'];    else if(isset($_SERVER['REMOTE_ADDR']))        $ipaddress = $_SERVER['REMOTE_ADDR'];    else        $ipaddress = 'UNKNOWN';     return $ipaddress; }
  • 16-01-2024, 17:55:32
    #7
    janjakruso adlı üyeden alıntı: mesajı görüntüle

    Bence şöyle bir tablo yapısı kurarsın,
    Mesela 1 haftalık kayıtları saydırabileceğin sql komutu:

    SELECT COUNT(*) AS kayit_sayisi
    FROM acc_logs
    WHERE created_at >= CURDATE() - INTERVAL 1 WEEK
    php ile de şöyle bir şey yapabiirsi sayfaya girdi diyelim kullanıcı :
    function ipAl() {    $ipaddress = '';     if (isset($_SERVER['HTTP_CLIENT_IP']))        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];    else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];    else if(isset($_SERVER['HTTP_X_FORWARDED']))        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];    else if(isset($_SERVER['HTTP_FORWARDED_FOR']))        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];    else if(isset($_SERVER['HTTP_FORWARDED']))        $ipaddress = $_SERVER['HTTP_FORWARDED'];    else if(isset($_SERVER['REMOTE_ADDR']))        $ipaddress = $_SERVER['REMOTE_ADDR'];    else        $ipaddress = 'UNKNOWN';     return $ipaddress; }

    Mesela örneğin şu şekilde yaptığımda manuel olarak sql den veri eklediğimde sayı artıyor siteye girildiğinde mysql a veriyi kaydetmesi için nasıl yapmamız gerek

    sql verisi
    --
    -- Tablo için tablo yapısı `ziyaretciler`
    --
    
    CREATE TABLE `ziyaretciler` (
      `id` int(11) NOT NULL,
      `ipadres` varchar(222) DEFAULT NULL,
      `tarih` date DEFAULT NULL,
      `cihaz` varchar(11) DEFAULT NULL,
      `year` varchar(4) DEFAULT NULL,
      `day` varchar(2) DEFAULT NULL,
      `month` varchar(2) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    ---------
    fonksiyon
    ---------
    <?php
    /* Bugün verilerini çek */
    $bugun = date("Y-m-d");
    $bugunTekiLCek = $db->prepare("select * from ziyaretciler where tarih='$bugun' group by ipadres");
    $bugunTekiLCek->execute();
    /*  <========SON=========>>> Bugün verilerini çek SON */
    
    /* Bu Hafta verilerini çek */
    $cevir = strtotime('-7 day',strtotime($bugun));
    $buhafta = date("Y-m-d",$cevir);
    $buhaftaTekilCek = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' group by ipadres");
    $buhaftaTekilCek->execute();
    /*  <========SON=========>>> Bu Hafta verilerini çek SON */
    
    /* Bu Ay verilerini çek */
    $cevir = strtotime('-30 day',strtotime($bugun));
    $buay = date("Y-m-d",$cevir);
    $buayTekilCek = $db->prepare("select * from ziyaretciler where tarih>='$buay' group by ipadres");
    $buayTekilCek->execute();
    /*  <========SON=========>>> Bu Ay verilerini çek SON */
    
    
    /* Bu Hafta Pasta İstatistikleri */
    $buHaftaDesktopPie = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' and cihaz='desktop' group by ipadres");
    $buHaftaDesktopPie->execute();
    $desktopPie = $buHaftaDesktopPie->rowCount();
    $buHaftaMobilePie = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' and cihaz='mobile' group by ipadres");
    $buHaftaMobilePie->execute();
    $mobilePie = $buHaftaMobilePie->rowCount();
    /*  <========SON=========>>> Bu Hafta Pasta İstatistikleri SON */
    
    ?>

    --------
    sqlden veriyi çekerek sayıyı yansıtabildiğim fonksiyon
    -------
    <?=$bugunTekilCek->rowCount()?>
    <?=$buhaftaTekilCek->rowCount()?>
    <?=$buayTekilCek->rowCount()?>
  • 16-01-2024, 18:15:18
    #8
    Üyeliği durduruldu
    gokhangencebay adlı üyeden alıntı: mesajı görüntüle
    Örnek olarak bakabilecegim doküman tarzı bir veri varmı çok profesyonel değilim kodlamada
    gokhangencebay adlı üyeden alıntı: mesajı görüntüle
    Mesela örneğin şu şekilde yaptığımda manuel olarak sql den veri eklediğimde sayı artıyor siteye girildiğinde mysql a veriyi kaydetmesi için nasıl yapmamız gerek

    sql verisi
    --
    -- Tablo için tablo yapısı `ziyaretciler`
    --
    
    CREATE TABLE `ziyaretciler` (
      `id` int(11) NOT NULL,
      `ipadres` varchar(222) DEFAULT NULL,
      `tarih` date DEFAULT NULL,
      `cihaz` varchar(11) DEFAULT NULL,
      `year` varchar(4) DEFAULT NULL,
      `day` varchar(2) DEFAULT NULL,
      `month` varchar(2) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    ---------
    fonksiyon
    ---------
    <?php
    /* Bugün verilerini çek */
    $bugun = date("Y-m-d");
    $bugunTekiLCek = $db->prepare("select * from ziyaretciler where tarih='$bugun' group by ipadres");
    $bugunTekiLCek->execute();
    /*  <========SON=========>>> Bugün verilerini çek SON */
    
    /* Bu Hafta verilerini çek */
    $cevir = strtotime('-7 day',strtotime($bugun));
    $buhafta = date("Y-m-d",$cevir);
    $buhaftaTekilCek = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' group by ipadres");
    $buhaftaTekilCek->execute();
    /*  <========SON=========>>> Bu Hafta verilerini çek SON */
    
    /* Bu Ay verilerini çek */
    $cevir = strtotime('-30 day',strtotime($bugun));
    $buay = date("Y-m-d",$cevir);
    $buayTekilCek = $db->prepare("select * from ziyaretciler where tarih>='$buay' group by ipadres");
    $buayTekilCek->execute();
    /*  <========SON=========>>> Bu Ay verilerini çek SON */
    
    
    /* Bu Hafta Pasta İstatistikleri */
    $buHaftaDesktopPie = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' and cihaz='desktop' group by ipadres");
    $buHaftaDesktopPie->execute();
    $desktopPie = $buHaftaDesktopPie->rowCount();
    $buHaftaMobilePie = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' and cihaz='mobile' group by ipadres");
    $buHaftaMobilePie->execute();
    $mobilePie = $buHaftaMobilePie->rowCount();
    /*  <========SON=========>>> Bu Hafta Pasta İstatistikleri SON */
    
    ?>
    --------
    sqlden veriyi çekerek sayıyı yansıtabildiğim fonksiyon
    -------
    <?=$bugunTekilCek->rowCount()?>
    <?=$buhaftaTekilCek->rowCount()?>
    <?=$buayTekilCek->rowCount()?>

    Hocam siteye girdi ya mesela şöyle birşey olabilir:
    $db->query("insert into ziyaretciler(ip_adresi) values('$ip_adresi')"); bunlar eklersin db den de ip adresi sütununu benzersz yap o şekilde olur bnce
  • 16-01-2024, 18:20:01
    #9
    janjakruso adlı üyeden alıntı: mesajı görüntüle
    Hocam siteye girdi ya mesela şöyle birşey olabilir:
    $db->query("insert into ziyaretciler(ip_adresi) values('$ip_adresi')"); bunlar eklersin db den de ip adresi sütununu benzersz yap o şekilde olur bnce
    index.php ye eklediğimde sayfaya mobil veya masaüstünden giriş yapıldığında veri artmıyor bu komutla :/