Pembatasan Visitor Counter | SLiMS 7 Cendana

About Online Public Access Catalogue in SLiMS (theme modification, effective search, etc.)

Moderators: wynerst, buitenzorg812, purwoko, sutriadi, ido, Dicarve, ridorido

Post Reply
User avatar
ido
Posts: 36
Joined: 27 Sep 2011, 18:29
Location: Purbalingga

Pembatasan Visitor Counter | SLiMS 7 Cendana

Post by ido » 06 Mar 2014, 23:17

Beberapa waktu yang lalu ada yang ngeluhin kog kunjungannya sehari gak normal ya. Banyak yang iseng nih, masukin data ke visitor counter berulang ulang dalam sehari. Image *kalo ketauan anaknya jewer aja gan Image
Yah mungkin si anak iseng coz belum yakin datanya udah masuk, coz klo di Cendana kan visitor counternya tiap 5 detik langsung ke reset, dikira belum masuk jadinya Image

Nah, daripada kesel sendiri, mau njewer juga kaga berani coz tersangka ternyata punya kakak yang bening Image, mari kita coba yang satu ini gan Image

Di sini saya mencoba menggunakan fasilitas cookie pada browser untuk mengecek apakah pengunjung sebelumnya sudah melakukan kunjungan atau belum. Mungkin timbul pertanyaan, mengapa tidak mengecek lewat database? Jawabannya adalah karena saya tidak tahu caranya gan Image
Kemudian, disini juga pencatatan kunjungan tetap bisa dilakukan lebih dari satu kali dalam sehari. Jadi tidak ada batasan untuk kunjungan. *Lah katanya mau dibatasin gan, kog ini tidak ada batasan Image

Sabar gan sabar Image
Lanjut ....
Jadi pembatasannya disini hanya dilakukan seandainya si pengunjung memasukan data tanpa jeda waktu atau tidak gantian dengan pengunjung lain dahulu. Bingung gan? Aku yang njelasin juga bingung Image

Oke deh, berikut langkah yang aku lakukan.
  1. Setelah data tersimpan dalam database maka akan diset sebuah cookie untuk pengunjung tersebut.

    Code: Select all

    // set cookie visitor
    setcookie("visit_id","$member_id", time()+3600);
    setcookie("visit_name","$member_name", time()+3600);
    
  2. Untuk pengunjung berikutnya, sebelum data masuk database, dibandingkan dahulu dengan data cookie, jika nama/ID-nya sama maka akan ditolak.

    Code: Select all

    // get cookie
    $visit_id = $_COOKIE['visit_id'];
    $visit_name = $_COOKIE['visit_name'];
    
    if($memberID === $visit_id){
        echo '<div class="alert alert-warning">Maaf '.$visit_name.', anda sudah memasukan data sebelumnya.</div>';
    }elseif($memberID === $visit_name){
        echo '<div class="alert alert-warning">Maaf '.$visit_name.', anda sudah memasukan data sebelumnya.</div>';
    }else{
    $counter = setCounter($memberID);
    }
    
    Image
Nah, itulah yang saya lakuin gan :D
Silahkan yang pingin nyicipin ada di lampiran postingan ini Image
Klo ada sesuatu, silahken dikomen.

Semoga bermanfaat Image
Attachments
visitor.zip
Backup dulu file yang lama, baru dah diganti pake yang ini.
letakan di : /slims7_cendana/lib/contents/
(3.17 KiB) Downloaded 594 times

User avatar
purwoko
Posts: 60
Joined: 24 Sep 2011, 14:08
Location: Jogjakarta
Contact:

Re: Pembatasan Visitor Counter | SLiMS 7 Cendana

Post by purwoko » 10 Mar 2014, 05:16

mantep mas

bluetypea
Posts: 6
Joined: 29 Oct 2015, 13:24
Location: Riau

Re: Pembatasan Visitor Counter | SLiMS 7 Cendana

Post by bluetypea » 24 Nov 2015, 14:23

nice share, bermanfaat sekali gan, keep it up (y) :)

Post Reply