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 **

Artikel Lainnya

  • Membuat aplikasi data mahasiswa dengan PHP - Bagian 3
    Proses tahap awal dari membuat database, tabel, membuat formulir input data mahasiswa, proses simpan dan upload photo mahasiswa sudah dilakukan pada artikel Membuat aplikasi data mahasiswa dengan PHP - Bagian 1 dan Bagian 2, sekarang membuat laporan hasil input data mahasiswa. Laporan ini akan dibuat menghubungkan kebeberapa bagian yaitu pencarian data mahasiswa, delete/menghapus data mahasiswa dan mengupdate data mahasiswa. Silahkan menyimak tahapan lanjutan berikut ini.
  • Membuat laporan dari php ke excel
    Dalam sebuah aplikasi berbasis web, biasanya kita diminta untuk menghasilkan laporan dalam berbagai format. Yang paling umum yaitu format html (langsung ditampilkan di browser), kemudian format pdf dan format excel.
  • 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.
  • Variabel global dalam php
    Variabel global dalam php
  • Membuat upload video dengan php
    Secara teknik dasar membuat form upload untuk video tidak berbeda dengan cara membuat form upload gambar yang sudah saya tulis pada tutorial sebelumnya. Hanya berbeda pada bagian proses menangani file yang diupload ke server.

Kiriman terbaru