Filter PHP

Filter berguna untuk mem-validasi data dan membersihkan data.

Mem-validasi data adalah memastikan sebuah data memiliki format yang diinginkan (validating data).

Membersihkan data adalah membersihkan data dari semua character yang tidak diinginkan atau character yang berbahaya (sanitizing data).

Berikut ini adalah beberapa function yang bisa digunakan untuk filter:

filter_list() function

Ada berbagai macam jenis filter. Code filter_list() function berguna untuk menghasilkan sebuah array yang berisi daftar jenis data yang bisa di-filter.

Syntax

filter_list()

Untuk menghasilkan daftar nama jenis data kamu bisa gunakan code berikut ini:

Code PHP 1:

<?php
print_r(filter_list());
?>

Hasil code PHP 1:

Array ( [0] => int [1] => boolean [2] => float [3] => validate_regexp [4] => validate_url [5] => validate_email [6] => validate_ip [7] => validate_mac [8] => string [9] => stripped [10] => encoded [11] => special_chars [12] => full_special_chars [13] => unsafe_raw [14] => email [15] => url [16] => number_int [17] => number_float [18] => magic_quotes [19] => callback )

Untuk penjelasan masing-masing filter untuk jenis data di atas kamu lihat di web php.net.

filter_var() function

Code filter_var() function berguna untuk mem-filter sebuah variable.

Syntax

filter_var(var, filtername, options)

Parameter var adalah nama variable dan parameter filtername adalah nama filter yang akan digunakan.

Jika filter_var() function berhasil dijalankan maka filter_var() function akan menghasilkan data yang telah terfilter. Sebaliknya, jika filter_var() function tidak berhasil dijalankan maka filter_var() function akan menghasilkan FALSE.

Membersihkan string

Untuk membersihkan sebuah string kamu bisa menggunakan code filter_var() function dengan filter FILTER_SANITIZE_STRING.

Code PHP 2:

<?php
$string_awal = "<h1>Hello World!</h1>";
$string_baru = filter_var(string_awal, FILTER_SANITIZE_STRING);
echo string_baru;
?>

Hasil code PHP 2:

Hello World!

Filter FILTER_SANITIZE_STRING berguna untuk menghapus semua tag HTML dari sebuah string.

Pada code di atas, filter FILTER_SANITIZE_STRING menghapus tag <h1></h1> dari sebuah string.

Mem-validasi bilangan integer

Untuk mem-validasi sebuah bilangan integer kamu bisa menggunakan code filter_var() function dengan filter FILTER_VALIDATE_INT.

Code PHP 3:

<?php
$bilangan = 2;

if (!filter_var($bilangan, FILTER_VALIDATE_INT) === false) {
    echo "Bilangan integer";
} else {
    echo "Bukan bilangan integer";
};
?>

Hasil code PHP 3:

Bilangan integer

Filter FILTER_VALIDATE_INT berguna untuk memeriksa sebuah bilangan apakah berjenis integer atau bukan.

Jika sebuah bilangan berjenis integer maka code filter_var() function akan menghasilkan bilangan integer tersebut.

Sebaliknya jika sebuah bilangan tidak berjenis integer maka code filter_var() function akan menghasilkan false.

Mem-validasi alamat IP

Untuk mem-validasi sebuah alamat IP kamu bisa menggunakan code filter_var() function dengan filter FILTER_VALIDATE_IP.

Code PHP 4:

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
    echo "$ip adalah alamat IP yang valid";
} else {
    echo "$ip bukan alamat IP yang valid";
}
?>

Hasil code PHP 4:

127.0.0.1 adalah alamat IP yang valid

Filter FILTER_VALIDATE_IP berguna untuk memeriksa sebuah data IP apakah memiliki format penulisan IP yang benar atau tidak.

Jika sebuah data IP memiliki format penulisan IP yang benar maka code filter_var() function akan menghasilkan data IP tersebut.

Sebaliknya jika sebuah data IP tidak memiliki format penulisan IP yang benar maka code filter_var() function akan menghasilkan false.

Membersihkan dan mem-validasi alamat email

Untuk membersihkan sebuah alamat email kamu bisa menggunakan code filter_var() function dengan filter FILTER_SANITIZE_EMAIL.

Sedangkan untuk mem-validasi sebuah alamat email kamu bisa menggunakan code filter_var() function dengan filter FILTER_VALIDATE_EMAIL.

Code PHP 5:

<?php
$email = "saya@bangjuju.com";

// Menghapus karakter yang membahayakan
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validasi email
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
    echo "$email adalah alamat email yang valid.";
} else {
    echo "$email bukan alamat email yang valid.";
}
?>

Hasil code PHP 5:

saya@bangjuju.com adalah alamat email yang valid.

Code di atas membersihkan alamat email dari karakter-karakter yang berbahaya kemudian mem-validasi apakah penulisan alamat email sudah sesuai dengan format penulisan alamat email yang benar.

Jika sebuah data alamat email memiliki format penulisan email yang benar maka code filter_var() function akan menghasilkan data alamat email tersebut.

Sebaliknya jika sebuah data alamat email tidak memiliki format penulisan alamat email yang benar maka code filter_var() function akan menghasilkan false.

Membersihkan dan mem-validasi alamat URL

Untuk membersihkan sebuah alamat URL kamu bisa menggunakan code filter_var() function dengan filter FILTER_SANITIZE_URL.

Sedangkan untuk mem-validasi sebuah alamat URL kamu bisa menggunakan code filter_var() function dengan filter FILTER_VALIDATE_URL.

Code PHP 6:

<?php
$url = "http://www.bangjuju.com";

// Menghapus karakter yang membahayakan
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validasi URL
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
    echo "$url adalah alamat URL yang valid";
} else {
    echo "$url bukan alamat URL yang valid";
};
?>

Hasil code PHP 6:

http://www.bangjuju.com adalah alamat URL yang valid

Code di atas membersihkan alamat URL dari karakter-karakter yang berbahaya kemudian mem-validasi apakah penulisan alamat URL sudah sesuai dengan format penulisan alamat URL yang benar.

Jika sebuah data alamat URL memiliki format penulisan URL yang benar maka code filter_var() function akan menghasilkan data alamat URL tersebut.

Sebaliknya jika sebuah data alamat URL tidak memiliki format penulisan alamat URL yang benar maka code filter_var() function akan menghasilkan false.

Mem-validasi integer dalam batas tertentu

Untuk mem-validasi sebuah bilangan integer yang berada di antara dua buah bilangan gunakan code berikut ini:

Code PHP 7:

<?php
$bilangan = 20;
$minimal = 1;
$maksimal = 100;

if (filter_var($bilangan, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$minimal, "max_range"=>$maksimal))) === false) {
    echo "Bilangan berada di luar batas";
} else {
    echo "Bilangan berada di dalam batas";
};
?>

Hasil code PHP 7:

Bilangan berada di dalam batas

Code di atas hanya mem-validasi bilangan yang berada diantara dua buah bilangan (minimal dan maksimal). Hanya bilangan yang berada diantara bilangan minimal dan bilangan maksimal yang bisa divalidasi.

Mem-validasi URL yang memiliki querystring

Querystring adalah string tambahan pada sebuah URL yang berguna untuk mendapatkan informasi tertentu dari database. Querystring ditulis setelah character ?, lihat contoh berikut ini:

http://www.bookfinder4u.com/search_author/Ernest_Hemingway.html?sort=date

URL di atas akan menghasilkan daftar buku dari BookFinder4u yang ditulis oleh Ernest Hemingway dan diurutkan berdasarkan tanggal.

Querystring pada contoh di atas terdiri dari tiga bagian yaitu variable (kata "sort"), diikuti dengan simbol [=], diikuti dengan value dari variable tersebut (kata "date").

Sebuah querystring bisa terdiri lebih dari satu pasang variable dan value. Bila ada lebih dari satu pasang variable dan value dalam sebuah querystring biasanya mereka dipisahkan oleh simbol [&].

Code berikut ini hanya mem-validasi URL yang memiliki querystring. Jika sebuah URL tidak memiliki querystring maka akan ada pesan bahwa URL tidak valid.

Code PHP 8:

<?php
$url = "http://www.bangjuju.com";

if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
    echo "$url adalah alamat URL yang valid";
} else {
    echo "$url bukan alamat URL yang valid";
};
?>

Hasil code PHP 8:

http://www.bangjuju.com bukan alamat URL yang valid

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>