Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Membersihkan dan Memvalidasi Data dengan Filter PHP

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Validasi data merupakan bagian integral dari bekerja dengan form. Tidak hanya data tidak valid yang dikirimkan dapat menyebabkan masalah keamanan, tetapi juga bisa merusak halaman web Anda. Hari ini, kita akan melihat bagaimana untuk menghapus karakter ilegal dan memvalidasi data dengan menggunakan fungsi "filter_var".


Sebua contoh dapat dilihat di bawah ini. Pengguna telah memasukkan teks "I don't have one" sebagai halaman rumah mereka. Jika data ini dimasukkan ke dalam database dan kemudian diambil sebagai link, link akan rusak.

Kebanyakan orang cenderung berpikir validasi data sebagai proses sangat membosankan di mana salah satu baik:

  • Membandingkan data yang mereka inginkan untuk melakukan validasi terhadap setiap kemungkinan kombinasi yang dapat mereka pikirkan.
  • Mencoba untuk menemukan emas Regular Expression yang akan cocok dengan setiap kombinasi yang mungkin.
  • Kombinasi dari keduanya.

Ada masalah yang jelas dengan yang tercantum di atas:

  • Itu benar-benar memakan waktu.
  • Ada kesempatan yang sangat tinggi dari kesalahan.

Untungnya, dimulai dengan versi 5.2, PHP telah menyertakan fungsi yang hebat yang disebut filter_var yang mengambil rasa sakit dari validasi data.

filter_var Beraksi

filter_var akan melakukan keduanya, membersihkan dan memvalidasi data. Apa perbedaan antara keduanya?

  • Sanitasi akan menghapus setiap karakter ilegal dari data.
  • Memvalidasi akan menentukan apakah data tersebut dalam bentuk yang tepat.

Catatan: mengapa membersihkan dan tidak hanya memvalidasi? Ini memungkinkan pengguna secara tidak sengaja mengetik karakter yang salah atau mungkin itu dari copy dan paste yang buruk. Dengan sanitasi data, Anda mengambil tanggung jawab untuk berburu kesalahan dari pengguna.

Cara menggunakan filter_var

Menggunakan filter_var sangat mudah. Itu hanya sebuah fungsi PHP yang mengambil dua buah data:

  • Variabel yang ingin Anda periksa
  • Jenis pemeriksaan untuk digunakan

Sebagai contoh, kode di bawah ini akan menghapus semua tag HTML dari string:

Berikut adalah contoh lain -- kali ini lebih sulit. Kode di bawah ini akan memastikan nilai dari variabel adalah alamat IP yang valid:

Sesederhana itulah dengan menggunakan filter_var. Untuk daftar lengkap dari semua aturan yang Anda dapat memeriksanya, lihat akhir dari tutorial ini.

Contoh Sanitasi

Di bawah ini adalah contoh cepat dari sanitasi input dari dua field: field email dan field halaman home. Contoh ini akan menghapus setiap karakter yang seharusnya tidak terjadi di kedua jenis data.

Dengan menggunakan konstanta FILTER_SANITIZE_EMAIL dan FILTER_SANITIZE_URL yang ditentukan oleh PHP, perkiraan untuk mengetahui karakter apa yang adalah ilegal sudah hilang.

Contoh Memvalidasi

Hanya karena data dibersihkan tidak menjamin bahwa itu diformat dengan benar. Dalam contoh di bawah ini, data-data tidak perlu dibersihkan, tapi itu jelas bahwa masukan pengguna bukanlah email atau url.

Dalam rangka untuk memastikan data diformat dengan benar, itu harus divalidasi.

Sekarang data telah divalidasi, Anda dapat yakin bahwa informasi yang dikirimkan adalah apa yang Anda cari.

Menempatkan Semua Bersama-Sama: Form Submit Email

Sekarang data sanitasi dan validasi yang telah dibahas, kita akan menempatkan keterampilan ini untuk digunakan dengan form pengajuan email cepat. Ini bukanlah berarti sama dengan kualitas produksi -- misalnya, tidak ada form harus memerlukan sebuah halaman home -- tapi itu akan bekerja sempurna untuk tutorial ini. Form akan mengambil 4 buah informasi:

  • Nama
  • Alamat Email
  • Halaman Home
  • Pesan

Kita akan membersihkan dan memvalidasi terhadap semua 4 potongan data dan hanya mengirim email jika mereka semua valid. Jika ada sesuatu yang tidak valid, atau jika ada field yang kosong, form akan disajikan kepada pengguna bersama dengan daftar item untuk diperbaiki. Kita juga akan mengembalikan data yang dibersihkan kepada pengguna dalam hal mereka tidak menyadari bahwa karakter tertentu adalah ilegal.

Langkah 1 - Membuat Form

Untuk langkah pertama, buatlah elemen form dengan 5 field: untuk tercantum di atas dan tombol submit:

Langkah 2 - Tentukan apakah Form sudah Di-submit

Anda dapat memeriksa untuk melihat apakah form itu di-submit dengan melihat apakah tombol submit sudah "set". Letakkan kode berikut di atas form Anda:

Langkah 3 - Memvalidasi Field Nama dan Pesan

Karena kedua field nama dan pesan akan sama-sama dibersihkan dan divalidasi, kita akan melakukannya bersama-sama. Pertama, periksa jika salah satu field adalah kosong dengan melakukan hal berikut:

Selanjutnya, membersihkan mereka dengan konstanta FILTER_SANITIZE_STRING

Akhirnya, periksa untuk memastikan bahwa dua field masih tidak kosong. Ini untuk memastikan bahwa setelah menghapus semua karakter ilegal, Anda tidak meninggalkan field kosong:

Kita tidak akan melakukan validasi pada dua field hanya karena tidak ada cara mutlak untuk melakukan validasi terhadap Nama atau pesan bebas.

Kode akhir akan terlihat seperti ini:

Langkah 4 -- Memvalidasi Field Email

Field email akan dibersihkan dan divalidasi seperti sebelumnya di tutorial.

Pertama, periksa untuk memastikan bahwa ini tidak kosong:

Selanjutnya, membersihkannya:

Akhirnya, memvalidasinya sebagai alamat email yang benar:

Kode akhir akan terlihat seperti ini:

Langkah 5 -- Memvalidasi Field Halaman Home

Lagi, field halaman home akan dibersihkan dan divalidasi dengan cara yang sama seperti sebelumnya dalam tutorial.

Pertama, pastikan itu tidak kosong:

Selanjutnya, membersihkan dan menghapus setiap karakter ilegal:

Akhirnya, memvalidasinya untuk memastikan itu URL yang benar:

Kode akhir akan terlihat seperti ini:

Langkah 6 -- Memeriksa Kesalahan dan Mengirimkan Pesan

Sekarang kita sudah melalui semua field, saatnya untuk melaporkan kesalahan atau mengirim pesan. Memulai dengan asumsi tidak ada kesalahan:

Kemudian membangun pesan email:

Dan akhirnya, mengirim pesan:

Namun, jika ada kesalahan, laporkan mereka dan mengharuskan pengguna mencoba lagi:

Proyek yang lengkap akan terlihat seperti ini:

Ringkasan

Saya harap membaca tutorial ini memberikan Anda sebuah pengenalan yang baik ke fitur penyaringan data baru PHP. Masih ada banyak lagi fungsi dan aturan-aturan yang tidak terbahas, jadi jika Anda tertarik untuk belajar lebih lanjut, silakan lihat bagian Penyaringan Data di manual PHP.

  • Berlangganan ke NETTUTS RSS Feed untuk lebih banyak tutorial dan artikel pengembangan web.


Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.