Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Membuat pengecekan tanggal masa aktif dengan php

edited July 2013 in Share

Dalam Kasus 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….


:)) :)>- :D

Sign In or Register to comment.