TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Teknik Memvalidasi Input Tanggal dengan PHP


May 25th, 2009 | by rosihanari | Cetak Artikel Cetak Artikel

Salah seorang member saya, mas Teuku Maulana, menanyakan:

Pak… bisakah kita melakukan validasi input tanggal yang diisikan via form sebelum tanggal tersebut diproses atau disimpan ke dalam database? Sebagai contoh misalkan ada user yang mengisikan tanggalnya adalah: 30/02/2009, tentunya itu bukanlah tanggal yang valid. Sebelum tanggal tersebut diproses, bisakah sistem memberitahukan bahwa tanggal tersebut tidak valid? Mohon penjelasannya, kalau bisa dalam script PHP.

OK… saya jawab. Tentu bisa saja kita memvalidasi tanggal yang diinputkan. Dalam PHP, kita bisa menggunakan function checkdate().

Berikut ini saya jelaskan penggunaannya melalui contoh yang saya berikan.

Sebelumnya, perlu kita bahas terlebih dahulu cara penggunaan function checkdate() ini. Function ini akan menghasilkan nilai TRUE jika tanggal yang kita ingin cek adalah valid, serta FALSE jika tidak valid.

Function ini dalam penggunaannya memerlukan 3 buah parameter

checkdate(m, d, y);

dengan m adalah bulan, d adalah tanggal dan y adalah tahun. Ketiga parameter tersebut bisa dalam bentuk string maupun integer.

Misalkan kita ingin mengecek apakah tanggal 12/02/2008 itu valid atau tidak, maka kita gunakan perintah

<?php
$tgl = 12;
$bln = 2;
$thn = 2008;
if (checkdate($bln, $tgl, $thn)) echo "Tanggal Valid";
else echo "Tanggal Tidak Valid";
?>

Contoh di atas sebagai gambaran bila kita menggunakan tanggalnya sudah terpisah dan dinyatakan dalam bilangan integer. Lantas bagaimana bila tanggal yang kita peroleh dalam format string? misalnya “12/02/2008″?

Ya gak ada masalah.. Konsepnya adalah kita pecah terlebih dahulu dengan menggunakan explode(), lalu hasil pecahannya yang terdiri dari tanggal, bulan dan tahun ini barulah diletakkan pada parameter yang bersesuaian.

Ini dia contohnya

<?php
$tgl = "12/02/2008";
$pecah = explode("/", $tgl);
if (checkdate($pecah[1], $pecah[0], $pecah[2])) echo "Tanggal Valid";
else echo "Tanggal Tidak Valid";
?>

Demikian mas Maulana jawaban saya atas pertanyaan dan request Anda. Mudah-mudahan bermanfaat bagi Anda dan juga para pengunjung setia blog ini semuanya.


Baca Juga Artikel Terkait
Mengetahui Nama Hari pada Tanggal Tertentu dengan PHP
Script PHP untuk Mencari Selisih Waktu dan Tanggal
Memproses Input Komponen Check Box di PHP
Editing Data Tanggal via Form dengan PHP
Teknik Pengurutan Kembali ID Auto Increment Pada Record



Slot iklan tersedia, pasang iklan di atas


Kata kunci: PHP - script - tanggal - validasi -


Ada 31 komentar dalam artikel ini.



  1. surya says:

    Mas, mau nanya nih..
    Misalkan kita menginputkan tanggal, format tanggalnya udah bener..
    Tapi yang mau dibandingkan, tanggal yang di inputkan, dengan tanggal yang minimal hari ini..
    Logikanya, misalkan skarang tgl 3 april 2012, sedangkan user menginputkan tgl 2 april 2012..
    Artinya tgl tidak valid..
    Itu gimana yah mas?
    Mohon bantuannya..
    Terima kasih..

  2. alie says:

    Mau tanya donk mas..misalkan kita pilih tanggal 2012-07-31, nah pas mau proses ternyata kurang dari tanggal segitu sudah ditutup dan dicek sehingga muncul alert ‘maaf tanggal yang anda pilih sudah lewat’..gimana ya coding PHP nya..
    Terima kasih



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*