David Kurniawan A Technical Content Writer at Niagahoster, specializing in Virtual Private Servers (VPS), WordPress, and Internet Marketing. David is eager to help people to improve their business on the internet.

Cara Mengatasi Undefined Index dan Undefined Variable Pada PHP

2 min read

Error Undefined Index

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.

Apa itu Undefined Index

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.

Undefined Variable
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. Apabila Anda ingin belajar mengenai php Anda dapat mengunjungi artikel Belajar PHP Gratis

Jika masih ada pertanyaan jangan sungkan untuk meninggalkan di kolom komentar. Jangan lupa juga subscribe untuk mendapatkan informasi VPS dan WordPress dari kami.

4
David Kurniawan A Technical Content Writer at Niagahoster, specializing in Virtual Private Servers (VPS), WordPress, and Internet Marketing. David is eager to help people to improve their business on the internet.

Leave a Reply

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

[{"code":""
[{"code":""
"label":"Coba Lagi"
"label":"Coba Lagi"
"win":false}
"win":false}
{"code":"HOSTING50"
{"code":"HOSTING50"
"label":"Extra Diskon 50rb "
"label":"Extra Diskon 50rb "
"win":true}
"win":true}
{"code":"HOSTING20"
{"code":"HOSTING20"
"label":"Extra Diskon 20rb "
"label":"Extra Diskon 20rb "
"win":true}
"win":true}
{"code":"HOSTING100"
{"code":"HOSTING100"
"label":"Extra Diskon 100rb "
"label":"Extra Diskon 100rb "
"win":true}
"win":true}
{"code":""
{"code":""
"label":"Belum Beruntung"
"label":"Belum Beruntung"
"win":false}
"win":false}
{"code":"HOSTING20"
{"code":"HOSTING20"
"label":"Extra Diskon 20rb "
"label":"Extra Diskon 20rb "
"win":true}
"win":true}
{"code":""
{"code":""
"label":"Coba Lagi"
"label":"Coba Lagi"
"win":false}
"win":false}
{"code":"HOSTING50"
{"code":"HOSTING50"
"label":"Extra Diskon 50rb "
"label":"Extra Diskon 50rb "
"win":true}
"win":true}
{"code":"HOSTING20"
{"code":"HOSTING20"
"label":"Extra Diskon 20rb "
"label":"Extra Diskon 20rb "
"win":true}
"win":true}
{"code":"FREESHIPPING"
{"code":"FREESHIPPING"
"label":"Coba Lagi"
"label":"Coba Lagi"
"win":false}
"win":false}
{"code":""
{"code":""
"label":"Sedikit Lagi! "
"label":"Sedikit Lagi! "
"win":false}
"win":false}
{"code":"HOSTING50"
{"code":"HOSTING50"
"label":"Extra Diskon 50rb "
"label":"Extra Diskon 50rb "
"win":true}]
"win":true}]