Membuat pengecekan tanggal masa aktif dengan php

Membuat pengecekan tanggal masa aktifKasus pengecekan tanggal masa aktif sering kita temui pada beberapa aplikasi web dengan php seperti masa pendaftaran siswa baru, masa registrasi ulang, masa aktif berlangganan, masa aktif keanggotaaan, masa berlaku kartu dll. Berikut ini saya akan berbagi tentang bagaimana membuat pengecekan tanggal masa aktif pada kasus waktu pendaftaran online dengan php.

Saya tidak akan bahas tentang bagai mana membuat pendaftaran onlinenya, tapi hanya untuk melakukan pengecekan masa/tanggal diperbolehkan mendaftarnya.

Sedikit ilustrasi kasusnya :

Misal anda ingin membuat sistem pendaftaran online. Aturan mainya adalah : user hanya diperbolehkan mengisi formulir pada tanggal tertentu misal dari tanggal 15 Mei 2013 s/d 20 Mei 2013. Jika user coba mengakses halaman pendaftaran sebelum tanggal tersebut maka kita munculkan pesan pendaftaran belum dibuka, dan jika diakses setelah tanggal itu maka muncul pesan pendaftaran sudah ditutup. Mudahan sudah bisa difahami kasusnya.

Dari segi logika, untuk melakukan pengecekan seperti saya jelaskan diatas, kita hanya membandingkan tanggal sekarang dengan tanggal dibuka dan ditutup pendaftaran. Misal sekarang tanggal 10 Mei 2013, jika dibandingkan dengan tanggal pendaftaran yaitu 15 Mei 2013 maka tanggal sekarang lebih kecil/kurang dari awal pendaftaran.

Jadi input untuk proses yang kita buat terdiri dari 3 variabel yaitu : tanggal_sekarang, tanggal_mulai, dan tanggal_akhir. Untuk input tanggal sekarang bisa kita ambilkan dari tanggal sistem, sedangkan tanggal mulai dan akhir bisa kita simpan dalam database atau dibuat pengaturan secara global pada script php. Untuk kasus ini tanggal awal dan akhir saya deklarasikan dalam script php.

Implementasi dalam script php bisa kita lihat berikut :

<?php
    $start_date = strtotime('2013-05-15 00:00:00');
    $end_date = strtotime(2013-05-20 00:00:00);
    $todays_date = strtotime(date("Y-m-d H:m:s"));
    if ($todays_date >= $start_date && $todays_date <= $end_date)
    {
        //Pendaftaran dibuka
        //Anda bisa masukkan proses yang dilakukan jika pendaftaran dibuka
    }
    else
    {
        if($todays_date < $start_date)
        {
            //Pendaftaran Belum dibuka
            //Anda bisa masukkan pesan atau proses jika belum dibuka
        }
        else
        {
            //Pendaftaran sudah ditutup
            //Anda bisa masukkan pesan atau proses jika sudah ditutup
        }
    }
?>

Dari script diatas, mungkin anda bisa melihat saya mengubah format tanggal sekarang, tanggal mulai dan tanggal berakhir ke versi timestamp dengan fungsi strtotime. Ini tujuanya mempermudah dan meningkatkan akurasi perbandingan tanggal dan jam. Dari hasil konversi nilai tersebut maka langsung dibandingkan antara jam sekarang, jam mulai dan jam akhirnya dengan operator logika <= dan >=

Dari contoh script diatas kita bisa kembangkan menjadi sebuah fungsi sederhana yang lebih mudah diakses kapanpun dalam bagian program. Penyederhanaanya bisa dilakukan seperti ini :

<?php
function CekPendaftaran($todays_date,$start_date,$end_date)
{
   $start_date = strtotime($start_date); 
   $end_date = strtotime($end_date);
   $todays_date = strtotime($todays_date); 
   if ($todays_date >= $start_date && $todays_date <= $end_date) 
   { 
      return 0;//BUKA
   } 
   else 
   { 
      if($todays_date < $start_date)
      {
         return 1; //BELUM
      }
      else
      {
         return 2; //LEWAT
      }
   }
}
//Cara memanggilnya
$DATE_NOW=date("Y-m-d H:m:s");
$START_DATE='2013-05-15 00:00:00';
$END_DATE='2013-05-20 13:00:00';
$CekStatus=CekPendaftaran($DATE_NOW,$START_DATE,$END_DATE);
//Sekarang $CekStatus memiliki nilai array yang terdiri dari 3 (0 atau 1 atau 2)
if($CekStatus==1) //1 BELUM BUKA
{
   echo "Belum Buka";
   //Tuliskan pesan jika belum dibuka
} 
elseif($CekStatus==2) //2 SUDAH TUTUP
{
   echo "Sudah Tutup";
   //Tuliskan pesan jika sudah ditutup
} 
elseif($CekStatus==0) //0 SEDANG BUKA
{
   echo "Sedang Buka";
   //Munculkan form jika sedang dibuka
}
?>

Jika anda ingin mencobanya, silahkan copy script diatas kedalam sebuah file misal cektanggal.php, kemudian sesuaikan tanggal mulai dan tanggal selesainya agar hasilnya bisa terlihat.

Semoga bermanfaat dan selamat mencoba

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Komentar

Halaman Lainya

  • Membuat thumbnail dengan php
    Istilah kata thumbnail diartikan sebagai versi kecil dari sebuah gambar yang ditampilkan di komputer. Thumbnail ini digunakan untuk menggantikan gambar yang memiliki ukuran besar sehingga dapat ditampilkan lebih kecil dan cepat ke layar.
  • Cara menampilkan gambar dari database mysql dengan php
    Artikel ini akan membahas tentang bagaimana menampilkan gambar yang sudah diupload kedalam database mysql. Bahasa yang digunakan adalah PHP. Cara pembuatanya sangat sederhana sama dengan membuat laporan php biasa
  • Menyederhanakan operasi mysql dengan function dalam php
    Sering dalam sebuah aplikasi web khususnya php, kita melakukan operasi database mysql secara berulang. Misal melakukan pengecekan, perhitungan, perbandingan ataupun operasi-operasi umum lainya yang dilibatkan dalam sebuah proses besar. Hal ini sangat tidak efektif karena kita harus menyusunya berulang-ulang yang kadang berujung pada sulitnya melakukan pengembangan. Pada tulisan ini saya akan berbagi trik jitu agar masalah diatas bisa teratasi dengan mudah.
  • Menghindari duplikat data dalam mysql dengan php
    Menghindari duplikat data dalam mysql bisa dilakukan dengan dua cara, pertama dengan mendefinisikan salah satu field/kolom sebagai primary key atau index, dan cara kedua adalah dengan membuat rutin perintah pengecekan data pada saat akan melakukan insert data. Berikut ini saya akan berbagi tentang bagaimana membuat rutin perintah php yang digunakan untuk menghindari duplikat data dalam mysql.
  • Cara membuat proses menyimpan data kedalam database mysql dengan php
    Untuk membuat proses penyimpanan data kedalam mysql dengan php kita harus membuat koneksi database, mengecek isi form, dan menjalankan perintah mysql untuk menyimpan data.

Kiriman terbaru