Terima Kasih Sudah Berkunjung Di Blog Belajar PHP M.Toyib Hidayat

Minggu, 18 Januari 2015

Membuat Validasi Input Text pada Form dengan PHP

Membuat Validasi Input Text pada Form dengan PHP

Input text merupakan elemen form yang paling banyak digunakan. Input text memungkinkan pengguna memasukkan text pendek single line. Ini sesuai dengan kebanyakan tipe data yang dibutuhkan form, misal nama, alamat, email, website, pekerjaan, nomor hp, dan masih banyak lagi data-data yang bisa dimasukkan dengan input text.

Elemen input text pada form dapat dimasuki semua karakter yang ada pada keyboard baik huruf, angka maupun simbol. Hal ini membuat input text sangat rawan kesalahan jika dibutuhkan data yang benar-benar valid. Misal untuk nama kita hanya mengijinkan huruf kecil, huruf besar, spasi dan titik jasa. Lalu pada input nomor hp kita hanya mengijinkan angka saja. Untuk itu dibuat sistem validasi input text pada form sesuai dengan data yang dibutuhkan.

Berikut ini contoh aturan validasi terhadap input text pada form :
FieldAturan Validasi Isi
NamaHanya huruf, titik dan spasi
NomorHanya angka saja
EmailSesuai dengan aturan alamat email, mengandung dot (.) dan at (@)
WebsiteSesuai dengan aturan alamat URL standar
Berikutnya kita akan membuat script untuk validasi txt dengan menggunakan fungsi-fungsi php seperti preg_match() dan filter_var().

1. Validasi Nama

Dalam validasi nama aturan yang ditetapkan adalah menggunakan huruf kecil, huruf besar, titik dan spasi. Untuk proses validasi digunakan fungsi preg_match() dengan regular expression.

Contoh validasi nama dengan fungsi preg_match() :

  1. //mengambil data dari form    
  2. $nama = test_input($_POST["nama"]);    
  3. // cek validasi text input sesuai aturan yang ditetapkan    
  4. if (!preg_match("/^[a-zA-Z .]*$/",$nama)) {    
  5. $namaErr = "Hanya huruf , titik dan spasi yang diijinkan"// tampilkan pesan error nama  
  6. $nama ="";  //kosongkan variabel $nama   
  7. }  

2. Validasi Nomor

Aturan validasi nomor adalah kebalikan dari nama, dimana data yang dimasukkan berupa angka dan tidak diijinkan memasukkan huruf. Untuk proses validasi digunakan masih sama yaitu menggunakan fungsi preg_match() dengan regular expression.

Contoh validasi nomor dengan fungsi preg_match() :

  1. //mengambil data dari form    
  2. $nomor = test_input($_POST["nomor"]);    
  3. // cek validasi text input sesuai aturan yang ditetapkan    
  4. if (!preg_match("/^[0-9]*$/",$nomor)) {    
  5. $nomorErr = "Hanya angka yang diijinkan"// tampilkan pesan error nomor  
  6. $nomor ="";  //kosongkan variabel $nomor   
  7. }  

3. Validasi Email

Untuk proses validasi Email kita gunakan fungsi filter_var dengan parameter FILTER_VALIDATE_EMAIL. Cara ini lebih mudah dan simpel daripada harus membuat regular expression jika menggunakan fungsi preg_match().

Contoh validasi email dengan fungsi filter_var():

  1. //mengambil data dari form    
  2. $email = test_input($_POST["email"]);    
  3. // cek format email yang dimasukkan    
  4. if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {    
  5. $emailErr = "Format email tidak valid !"//tampilkan pesan error email    
  6. $email=""// kosongkan variabel $email    
  7. }    

4. Validasi Website

Pada proses validasi website ada dua aturan yang bisa dipilih, yaitu aturan baku dan tidak baku. Untuk aturan baku maka alamat website harus menggunakan http://google.com. Sedangkan aturan tidak baku memperbolehkan penulisan dengan www, misal www.google.com.

Untuk proses validasi dengan aturan penulisan URL website baku kita bisa gunakan fungsi filter_var dengan parameter FILTER_VALIDATE_URL. Jika menggunakan fungsi ini maka pengguna harus benar-benar tepat dalam menulis alamat website sesuai aturan baku penulisan URL.

Contoh validasi alamat URL dengan fungsi filter_var():

  1. //mengambil data dari form    
  2. $website = test_input($_POST["website"]);    
  3. // cek format website yang dimasukkan    
  4. if (!filter_var($email, FILTER_VALIDATE_URL)) {    
  5. $websiteErr = "Format alamat Website tidak valid !"//tampilkan pesan error website    
  6. $website=""// kosongkan variabel $website    
  7. }    
Untuk alternatif kita bisa membuat validasi alamat website sendiri dengan fungsi preg_match(). Disini kita memperbolehkan penulisan alamat website dengan www contoh: www.google.com.

Contoh validasi alamat URL dengan fungsi preg_match() :

  1. //mengambil data dari form    
  2. $website = test_input($_POST["website"]);    
  3. // cek format website yang dimasukkan    
  4. if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {  
  5. $websiteErr = "Format alamat Website tidak valid !"//tampilkan pesan error website    
  6. $website=""// kosongkan variabel $website    
  7. }    
Lihat index artikel ini

Referensi :

Cara Menggunakan Combo Box Select Pada PHP

Cara Menggunakan Combo Box Select Pada PHP

combo box select
Combo box select adalah elemen form berbentuk kotak yang jika diklik akan menampilkan pilihan menu kebawah (drop down list). Combo box lebih efisien digunakan jika opsi pilihan relatif banyak. Dengan combo box form akan lebih ringkas karena hanya dibutuhkan satu baris area saja seperti input checkbox. Proses memilih pada combo box dilakukan dengan lebih dahulu menampilkan keseluruhan isi dengan cara meng-kllik combo box lalu memilih dengan meng-klik salah satu isi dari list combo box.

Cara membuat combo box select pada form

Berbeda dari elemen-elemen form sebelumnya yang menggunakan tag <input> tanpa penutup, kalau untuk membuat combo box menggunakan tag <select> dan ditutup dengan tag </select>. Untuk membuat daftar isi combo box menggunakan tag <option> dan tag penutup </option>.

Untuk mendefinisikan nama combo box menggunakan atribut name yang ditaruh pada tag <select>. Dan untuk mendefinisikan nilai/value sebuah opsi pilihan menggunakan atribut value yang ditaruh pada tag <option>. Jika ingin salah satu opsi di-select saat pertama kali load digunakan atribut selected pada tag <option>.

Sebenarnya jumlah opsi pada combo box minimal dua agar bisa dilakukan pilihan, namun pada penggunaan combo box dinamis yang mengkin saja memunculkan satu opsi saja maka opsi pada combo box bisa dibuat satu. Untuk jumlah opsi maksimal pada combo box belum saya ketahui, namun disarankan agar tidak membuat opsi yang terlalu banyak agar tidak membingungkan pengguna.

Penggunaan combo box select

Seperti disebutkan diatas bahwa combo box select digunakan untuk memilih satu opsi dari beberapa opsi pada form. Alasan menggunakan combo box dibandinginput radio button adalah untuk efisiensi tempat jika opsi yang dimunculkan relatif banyak.

Contoh penggunaan combo box adalah saat kita memilih negara asal ketika melakukan proses pendaftaran. Ada lagi contoh penggunaan combo box dinamis seperti saat memilih provinsi dan kabupaten di website kpu ketika kita mengecek nama kita pada DPT pemilu kemarin.

Ada sedikit perbedaan antara combo box yang digunakan pada form PHP dengan combo box pada visual basic yaitu tidak bisa mengetik teks pada combo box. Jika menginginkan hal itu maka harus digunakan komponen yang dibuat sendiri.

Menentukan nilai dari combo box select

Nilai combo box ditentukan dengan atribut value pada tag <option>. Nilai combo box berupa string dan dalam penulisannya harus diapit tanda petik. Salah satu alasan menggunakan combo box adalah nilai-nilai yang akan dimasukkan oleh pengguna sudah diketahui, jadi pengguna tidak salah ketik dalam memasukkan data.

Mengambil nilai dari combo box select

Cara mengambil nilai dari combo box seperti saat mengambil nilai dari input text. Opsi yang dipilih otomatis menjadi nilai balikan sebuah combo box. Saat combo box di load secara otomatis akan memilih opsi yang ditulis paling atas kecuali pada opsi lain ditentukan dengan atribut selected.

Contoh penggunaan combo box select pada PHP

Membuat combo box select pada form 
  1. <form action="" method="post">     
  2. <select name="buah">    
  3. <option value="">Silahkan Pilih</option>    
  4. <option value="Apel">Apel</option>    
  5. <option value="Jeruk">Jeruk</option>    
  6. <option value="Semangka">Semangka</option>    
  7. <option value="Salak">Salak</option>    
  8. </select>     
  9. <input type="submit" name="enter" value="Enter">     
  10. </form>     
Tampilan form diatas pada browser
  

Membuat script untuk menangani combo box
  1. <?php     
  2. if(isset($_POST['enter']))     
  3. {     
  4.  if(emptyempty($_POST['buah']))    
  5.  {    
  6.  echo "Anda belum memilih!";    
  7.  }    
  8.  else echo "Pilihan anda: ".$_POST['buah'];    
  9. }     
  10. ?>    

Penjelasan script

Pada form terdapat satu combo box dengan atribut name=buah. Pada combo box tersebut terdapat empat list pilihan nama buah dan satu pilihan kosong yang ditaruh paling atas dengan label "Silahkan pilih". Tujuan dari pilihan kosong ini adalah mencegah pengambilan data jika pengguna belum memilih sekaligus pemberitahuan untuk mempersilahkan memilih. Masing-masing pilihan memiliki value dan label yang berbeda, yaitu Apel, Jeruk, Semangka dan Salak.

Untuk mengambil value dari combo box select digunakan cara seperti saat mengambil value dari input text. Value yang dihasilkan oleh combo box adalah value dari opsi yang dipilih. Pada script dibuat setelah deteksi tombol enter ditekan akan mengecek value dari combo box select buah. Jika value kosong (empty) artinya combo box select belum dipilih (masih tampil "Silahkan pilih"). Dan jika value tidak kosong akan ditampilkan value dari combo box select.