Penggunaan fungsi UNSETS pada PHP

Isset merupakan salah satu kunci bahasa pemrograman untuk melakukan pengecekan terhadap suatu variabel atau isi dari variabel yang terdefinisi. Fungsi isset ini meskipun hanya mengembalikan nilai boolean (true atau false), tapi fungsi ini dapat berguna untuk menghidari dari pemanggilan variabel yang belum tedefinisi.

Table of Contents

  • Contoh penggunaan Isset
  • Alasan kenapa harus menggunakan isset operator
  • Contoh penggunaan isset operator
  • Kompatibiltas
  • Nilai Parameter
  • Detail Teknis
  • Pentingnya Melakukan Validasi Nilai Form
  • Memeriksa Ketersediaan Variabel Form dengan Fungsi isset()
  • Memeriksa Apakah Variabel Form Telah Diisi
  • Menyeleksi Tipe Data Objek Form
  • Video yang berhubungan

Contoh penggunaan Isset

Berikut ini adalah contoh dari penggunaan isset dalam mengambil permintaan POST.

<?php /** @var string input user nama */$nama = ''; if(isset($_POST['nama'])){ $nama = $_POST['nama']; }

Fungsi isset disini adalah untuk menghindari terjadinya error akibat $_POST[‘nama’] yang tidak terdefinisi.

Alasan kenapa harus menggunakan isset operator

Isset operator digunakan untuk menyingkat 3 baris kode tersebut menjadi 1 baris saja. Tidak percaya? lihat contoh pada pembahasan selanjutnya

Contoh penggunaan isset operator

Berikut ini adalah contoh penggunaan isset operator:

<?php /** @var string input user nama */$nama = $_POST['nama']??'';

Kompatibiltas

Operator isset ini hanya berjalan pada PHP versi 7 ke atas. Jadi jika anda masih menggunakan PHP versi 5.x, maka akan terjadi error jika anda menggunakannya.

Selamat mencoba dan semoga bermanfaat.

kata kunci terkait : Pengertian dan Fungsi ISSET pada PHP Pengertian dan Fungsi ISSET, UNSET,  dan EMPTY pada PHP Isset merupakan pengolahan sebuah variable, dan berikut penjelasannya lebih rinci.  Mengelola variabel. Jika anda belajar php, dipastikan anda selalu akan menemui variabel. Maka dari itu dituntut dalam blajar php, diharuskan bisa mengelola variabel. implemetasi pembuatan kode program php, secara garis besar ada tiga konstruksi bahasa digunakan untuk mengelola suatu variabel, yaitu isset(), unset(), empty() Yang masing-masing mempunyai pengertian sbb:
1. isset isset() digunakan untuk menyatakan variabel sudah diset atau tidak. Jika variabel sudah diset makan variavel akan mengembalikan nilai true, sebaliknya akan bernilai false

2. unset

unset()merupakan kebalikan dari isset(), yaitu untuk meng-unsetvariabel, dan membebaskan memory yang sudah digunakan.

3. empty

empty(), digunakan untuk memerikasa apakah variabel form tidak dikirim atau tidak berisi data alias kosong. berbeda denagn isset(), yang mengembalikan nilai false pada variabel yang di-unset, empty() akan mengembalikan nilai true. yang pertama kita akan bahas mengenai isset: sudah di jelaskan di atas bawha isset() digunakan untuk menyatakan variabel sudah diset atau tidak. Jika variabel sudah diset makan variavel akan mengembalikan nilai true, sebaliknya akan bernilai false. ex code sbb:

Penggunaan fungsi UNSETS pada PHP

jika pada variabel di atas suda ada isinya maka yang akan tampil adalah variable … sudah ada isinya. dan sebaliknya jika belum ada variabel yang sama maka” variable … belum terisi. jadi intinya:”isset berfungsi untuk mengecek apakah suatu variable sudah ada isinya atau belum

lebih detail bisa baca manual phpnya di :http://www.php.net/docs.php

Semoga bermanfaat :)

sumber

#isset Format: isset(); Jika diterjemahkan dalam bahasa indonesia maka artinya apakah di set. Fungsi isset dalam PHP untuk menanyakan apakah variabel di set (ada). Maka keluaran dari fungsi ini adalah TRUE atau FALSE. Fungsi isset ini banyak sekali manfaatnya seperti pengecekan variabel GET, SESSION dan lain-lain. Suatu operasi yang mengeluarkan nilai TRUE atau FALSE identik dengan keperluan kondisi. Sebuah kondisi memerlukan nilai TRUE atau FALSE, sehingga penggunaan isset ini sebagai bentuk ekspresi dari kondisi. Contoh : if (issest($_GET['pesan'])){ echo "Ada pesan!"} else{}. Artinya jika variabel pesan ada maka muncul/dituliskan Ada pesan!, selain itu di abaikan.

#isempty

Format: isempty(); Jika diterjemahkan dalam bahasa indonesia maka artinya apakah kosong. Fungsi isempty dalam PHP untuk menanyakan apakah variabel kosong. Maka keluaran dari fungsi ini adalah TRUE atau FALSE. Sama seperti isset fungsi ini banyak digunakan untuk pengecekan variabel GET, SESSION dan lain-lain. Penggunaannya juga pada kondisi sebagai ekspresi. Contoh: if (isempty($_GET['pesan'])){ echo "Terjadi Kesalahan!"} else{}. Artinya jika variabel pesan kosong maka muncul/dituliskan Terjadi Kesalahan!, selain itu di abaikan.

#!isset

Format: !isset(); Tanda seru sebelum isset adalah operator logika not yang memudahkan kita menuangkan logika kita ke dalam program sesuai situasi. Jika dibaca fungsi tersebut menjadi apakah tidak ada/di set.

#!empty

Format: !empty();

Tanda seru sebelum isempty adalah operator logika not yang memudahkan kita menuangkan logika kita ke dalam program sesuai situasi. Jika dibaca fungsi tersebut menjadi apakah tidak kosong.

Fungsi isset() digunakan untuk dapat memeriksa apakah sebuah variabel disetel, yang berarti ia harus dideklarasikan dan bukan NULL.

Fungsi ini mengembalikan nilai true jika variabel ada dan bukan NULL, jika tidak maka mengembalikan false.

Catatan: Jika beberapa variabel diberikan, maka fungsi ini akan mengembalikan nilai true hanya jika semua variabel ditetapkan.

Tip: Variabel bisa tidak disetel dengan fungsi unset().

isset(variable, ....);

Nilai Parameter

ParameterDeskripsi
variable Required. Menentukan variabel untuk diperiksa
Optional. Variabel lain untuk diperiksa

Detail Teknis

Return Value:TRUE jika variabel ada dan bukan NULL, FALSE sebaliknya
Return Type:Boolean
PHP Version:4.0+
PHP Changelog:PHP 5.4: Offset non-numerik dari string sekarang mengembalikan FALSE

Contoh
Periksa apakah variabel kosong. Periksa juga apakah variabel disetel / dideklarasikan:

<?php $a = 0; // True karena $a adalah set if (isset($a)) { echo "Variable 'a' is set.<br>"; } $b = null; // False karena $b adalah NULL if (isset($b)) { echo "Variable 'b' is set."; } ?> // Output : Variable 'a' is set.

Share

Tags: phpvariable handling

Setelah berhasil mengambil dan menampilkan nilai dari form, hal berikutnya yang harus kita lakukan terhadap data tersebut adalah melakukan proses validasi. Proses validasi dilakukan terhadap nilai yang dimasukkan melalui form.

Dalam tutorial kali ini kita akan membahas Cara Membuat Validasi Form dengan PHP menggunakan fungsi isset() dan fungsi empty().

Pentingnya Melakukan Validasi Nilai Form

Nilai yang telah diinput oleh user atau pengunjung web, tidak bisa begitu saja di simpan langsung ke dalam database. Karena kita tidak tahu apakah nilai tersebut telah sesuai dengan nilai yang kita kehendaki. Misalkan apakah nilai tersebut harus berupa angka, atau hanya bisa berupa huruf, atau apakah hanya bisa diinput dalam range tertentu saja.

Dalam kasus yang ekstrim, seorang user bisa saja memasukkan kode script atau tag HTML yang bisa merusak situs kita, hal ini dikenal dengan Cross-site Scripting. Sebuah proses validasi nilai merupakan hal yang sangat penting dalam merancang form. Khusus untuk validasi mencegah Cross-site Scripting dan juga HTML injection ini akan saya bahas pada tutorial form PHP berikutnya.

Dalam pembahasan tutorial validasi form ini, saya masih menggunakan contoh halaman form.html yang pernah kita buat pada tutorial sebelumnya, berikut adalah kode HTML untuk halaman form.html:

<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Belajar Form PHP</title> </head> <body> <h2>Tutorial Belajar Form HTML - PHP </h2> <form action="proses.php" method="get"> Nama: <input type="text" name="nama" /> <br /> E-Mail: <input type="text" name="email" /> <br /> <input type="submit" value="Proses Data" > </form> </body> </html>

Memeriksa Ketersediaan Variabel Form dengan Fungsi isset()

Validasi pertama yang paling sederhana dan ‘hampir’ selalu ada dalam tiap proses validasi form dalam PHP adalah memeriksa apakah objek form tersebut sudah tersedia atau tidak. Sebagai contoh sederhananya: apakah variabel $_GET[‘nama’] tersedia untuk diproses atau tidak.

Proses memeriksa ‘ketersediaan’ variabel ini menjadi penting karena PHP akan mengeluarkan pesan peringatan jika kita mengakses nilai sebuah variabel yang belum didefenisikan terlebih dahulu.

Sebagai contoh, jika kita mengakses langsung halaman proses.php (tanpa melalui halaman form.html) dan tanpa menambahkan URL (seperti pembahasan pada tutorial Perbedaan Metode Pengiriman Form GET dan POST) PHP akan menampilkan pesan peringatan seperti berikut ini:

Notice: Undefined index adalah pesan error yang terjadi karena kita langsung menampilkan variabel $_GET[’nama’] dan $_GET[’email’] yang memang belum diset sebelumnya.

Untuk memeriksa apakah sebuah objek form telah didefenisikan atau telah di-set sebelumnya, kita bisa menggunakan fungsi bawaan PHP: isset(). Fungsi isset() akan menghasilkan nilai true jika sebuah variabel telah didefenisikan, dan false jika variabel tersebut belum dibuat.

Sebagai langkah antisipasi, saya akan membuat proses validasi untuk menangani variabel $_GET yang belum di-set, berikut adalah modifikasi file proses.php:

<?php if (isset($_GET['nama'])) { echo $_GET['nama']; }   echo "<br />";   if (isset($_GET['email'])) { echo $_GET['email']; } ?>

Sekarang, file proses.php tidak akan menghasilkan error apabila diakses tanpa melalui form.html. Namun perubahan kode tersebut tidak terlalu berguna karena tidak memberikan pesan error yang jelas. Berikut adalah modifikasi file proses.php agar lebih informatif:

<?php if (isset($_GET['nama']) AND isset($_GET['email'])) { echo $_GET['nama']; echo $_GET['email']; } else { echo "Maaf, anda harus mengakses halaman ini dari form.html"; } ?>

Pada kode PHP diatas saya mengharuskan nilai $_GET[‘nama’] dan $_GET[’email’] tersedia, baru nilai ditampilkan, namun jika tidak ada, akan ditampilkan pesan bahwa halaman ini hanya bisa diakses dari form.html.

Memeriksa Apakah Variabel Form Telah Diisi

Fungsi isset() yang kita bahas sebelumnya hanya memeriksa apakah sebuah objek form ada atau tidak. Fungsi isset() tetap bernilai true meskipun user tidak mengisi form sama sekali (variabel form bernilai kosong, namun variabel tersebut dianggap telah di-set).

Untuk memeriksa apakah sebuah objek form telah diisi atau tidak, kita bisa menggunakan fungsi: empty().

Fungsi empty() akan menghasilkan nilai false jika sebuah variabel telah diisi, dan bernilai true jika variabel tersebut belum diisi. Dengan menggunakan stuktur IF dan fungsi empty(), kita bisa membuat logika validasi objek form mana saja yang dianggap perlu (harus diisi) dan mana yang boleh dikosongkan. Dan kemudian menampilkan pesan error yang sesuai.

Sebagai contoh, saya akan memodifikasi file proses.php agar menampilkan pesan error jika kotak input nama tidak diisi. Berikut adalah kode PHP pada halaman proses.php:

<?php if (isset($_GET['nama']) AND isset($_GET['email'])) { $nama=$_GET['nama']; $email=$_GET['email']; } else { die("Maaf, anda harus mengakses halaman ini dari form.html"); }   if (!empty($nama)) { echo "Nama: $nama <br /> Email: $email"; } else { die("Maaf, anda harus mengisi nama"); } ?>

Dalam kode PHP diatas, saya memodifikasi beberapa bagian kode program.

Pada logika IF pertama, saya melakukan pengecekan apakah variabel $_GET[‘nama’] dan $_GET[‘email’] tersedia atau tidak. Jika tersedia maka pindahkan nilainya ke variabel $nama dan $email agar lebih mudah untuk diproses. Namun jika tidak, fungsi die() akan menghentikan proses dan menampilkan pesan kesalahan.

Pada logika IF kedua, saya memeriksa apakah variabel $nama kosong atau tidak dengan fungsi !empty(). Fungsi !empty($nama) akan menghasilkan nilai true hanya jika variabel $nama tidak kosong (perhatikan tanda ! sebagai pembalik logika empty()). Namun jika $nama ternyata kosong (tidak diisi), maka tampilkan pesan kesalahan.

Menyeleksi Tipe Data Objek Form

Setelah objek form dipastikan tersedia, tidak kosong, validasi berikutnya yang biasanya dilakukan adalah memastikan tipe data dan range data yang diinput oleh user.

Untuk mengecek tipe data sebuah variabel, PHP menyediakan beberapa fungsi tergantung tipe datanya, yakni fungsi is_string(), is_int(),is_float(),is_numeric(),is_bool(), is_array(), dan is_object(). Sesuai dengan namanya, masing-masing fungsi tersebut akan mengecek tipe data dari variabel yang ditest.

Diantara fungsi-fungsi diatas, fungsi is_numeric() mungkin butuh sedikit penjelasan. Fungsi is_numeric() akan mengecek apakah sebuah tipe data merupakan angka baik itu float atau integer.

Khusus objek form variabel angka seperti umur, biasanya selain menyeleksi apakah nilainya berupa angka integer, kita mungkin juga menambahkan aturan bahwa nilai umur harus diatas 17 tahun. Untuk menambahkan fungsi ini, fungsi is_int() dapat dikombinasikan dengan struktur IF.

Sebagai contoh saya akan menambahkan validasi untuk tag input nama bahwa nama tidak boleh diisi dengan angka. Untuk keperluan ini saya akan menggunakan fungsi is_numeric(). Berikut adalah modifikasi file proses.php:

<?php if (isset($_GET['nama']) AND isset($_GET['email'])) { $nama=$_GET['nama']; $email=$_GET['email']; } else { die("Maaf, anda harus mengakses halaman ini dari form.html"); }   if(empty($nama)) { die("Maaf, anda harus mengisi nama"); } else { if (is_numeric($nama)) { die("Maaf, nama harus berupa huruf"); } else { echo "Nama: $nama <br /> Email: $email"; } } ?>

Dalam kode diatas, saya menambahkan 1 lagi logika IF untuk menyeleksi apakah variabel $nama berisi angka numerik (integer atau float). Jika $nama bertipe numerik, maka tampilkan pesan error.

Di dalam tutorial form PHP kali ini kita telah mempelajari cara menvalidasi nilai inputan form. Namun apa yang telah kita pelajari disini hanya sebagian kecil dari proses validasi yang sebenarnya harus dilakukan. Misalnya, untuk menfilter variabel $nama diatas, akan lebih cocok menggunakan regular expression daripada fungsi is_numeric(), namun yang penting kita telah bisa ’menangkap’ cara pembuatan validasi form.

Di dalam tutorial berikutnya, masih berkaitan dengan proses validasi form, kita akan mempelajari tentang Cara Mencegah Cross-site Scripting dan HTML injection.