Saat membuat website, mungkin Anda pernah mengalami error Undefined Index dan Undefined Variable pada PHP. Error tersebut terjadi karena variabel dan array yang tidak didefinisikan ke dalam program.
Namun, Anda tidak perlu khawatir karena pada tutorial kali ini kami akan membantu Anda untuk mengatasi error Undefined Index dan Undefined Variable pada PHP beserta penjelasan mengenai kedua error tersebut.
Apa itu Undefined Index dan Penyebabnya
Undefined Index merupakan pesan error yang muncul apabila Anda mencoba mengakses variabel array yang belum diberikan index. Atau dengan kata lain Anda mengakses index pada array yang belum dibuat atau masih kosong.
Ini biasanya terjadi ketika Anda mendefinisikan variabel untuk menampung sebuah data menggunakan perintah pada PHP versi terbaru (Versi 5.3 ke atas). Kesalahan bukan pada versi PHPnya, tetapi pada syntax program yang Anda buat sudah tidak kompatible dengan PHP versi terbaru.
Cara Mengatasi Undefined Index
Notice: Undefined index: ID in C:\xampp\htdocs\error.php on line 6
Error di atas menunjukkan bahwa PHP tidak dapat mendefinisikan sebuah index yang bernama page di dalam file index.php
pada baris 31. Nomor 31 adalah penunjuk pada baris syntax error. Jadi Anda bisa menemukan pesan error yang berbeda.
Untuk mengatasi error pada undefined Index Anda bisa melakukan pemeriksaan array sebelum array digunakan. Berikut ini contohnya:
$nilai = isset ($array['index_array']) ? $array['index_array']:'';
$nilai = array_key_exists ($array['index_array']) ? $array['index_array']:'';
Pastikan Index sudah ada sebelum Anda menggunakan array. Anda dapat melakukannya dengan dua cara silahkan menggunakan salah satu fungsi isset()
atau array_key_exists()
;
Apa itu Undefined Variable dan Penyebabnya
Undefined Variable merupakan variabel yang belum didefinisikan. Artinya variabel tersebut belum diberikan nilai awal tetapi sudah langsung digunakan untuk proses perhitungan dan ditampilkan pada output.
Notice: Undefined variable: prov in C:\xampp\htdocs\error.php on line 11
Notice error akan bekerja memberikan sebuah peringatan apabila ada variabel yang belum didefinisikan nilainya. Untuk mengecek apakah sebuah variabel atau array sudah didefinisikan atau belum, Anda bisa menggunakan fungsi isset(
).
Pada dasarnya PHP tidak mengharuskan pengisian variabel. Namun, Anda tetap disarankan untuk mengisi variabel awal walaupun hanya berupa nilai nol (0) atau string kosong. Hal ini perlu dilakukan untuk menghindari risiko celah keamanan atau bug pada program yang disusun dari banyaknya logika pada file saling berhubungan.
Cara Mengatasi Undefined Variable
Untuk mengatasi Undefined Variable terdapat lima cara yaitu:
1. Mendeklarasikan variabel
Ketika ingin mengirim string dari sebuah form, Anda dapat dengan mudah mengecek isian yang masih kosong menggunakan cara berikut:
$value = "";
// pemeriksaan menggunakan fungsi isset()
$value = isset($_POST['value']) ? $_POST['value'] : '';
// pemeriksaan menggunakan fungsi empty()
$value = !empty($_POST['value']) ? $_POST['value'] : '';
2. Melakukan setting custom error
Fungsi dari setting custom error adalah, ketika ada error dalam halaman maka otomatis akan mengarahkan ke halaman error 404. Untuk setting custom error handler pada E_NOTICE
dan meredirect pesan dari pesan default.
set_error_handler('myHandlerForMinorErrors',E_NOTICE | E_STRICT)
3. Menonaktifkan E_NOTICE
Menonaktifkan error notice berfungsi untuk mengurangi notifikasi error pada halaman yang dibuat. Untuk menonaktifkan error notice pada variabel error PHP Anda bisa melakukan setting di file php.ini
dengan mengubah bagian display_error : off
bisa juga menggunakan function error_reporting(error_reporting() & ~E_NOTICE
)
4. Melewatkan Error dengan @operator
Anda Juga dapat melewatkan beberapa error pada PHP dengan menggunakan syntak @operator. Untuk melewatkan error pada variabel PHP Anda bisa menambahkan kode berikut:
echo "variabel saya adalah: ". @$nama_variable;
echo "index value adalah: ". @$array_contoh["nama_index"];
Kesimpulan
Demikian artikel mengenai cara mengatasi Undefined Index dan Undefined Variable pada PHP.
No comments:
Post a Comment