Cara Mengatasi Undefined Index pada PHP
Salah satu cara mengembangkan sebuah website adalah menggunakan bahasa pemrograman PHP. Program tersebut biasa dipakai untuk tujuan pengembangan website yang lebih kompleks. Adakalanya saat menggunakan PHP, maka anda akan bertemu dengan status berupa Undefined Index pada PHP, sehingga anda perlu langkah khusus dalam mengantisipasinya.
Anda tidak perlu terlalu khawatir saat mengalaminya, karena sebenarnya itu hanyalah sebuah peringatan yang harus dihindari. Perlu untuk memahami segala penyebab yang membuat notice tersebut bisa muncul. Namun, sebelum mengetahuinya anda perlu mengetahui secara singkat mengenai apa itu PHP dan fungsinya, khususnya bagi orang yang masih awam.
Pengertian Program PHP
Jenis bahasa pemrograman yang sering dipakai dalam pembuatan HTML adalah PHP. Program itu sendiri memiliki kepanjangan berupa Personal Home Page yang pertama kali dikembangkan oleh Rasmus Lerdorf di tahun 1995. Saat pertama kali dirilis namanya adalah Form Interpreted yang biasa disingkat menjadi FI.
Bahasa pemrograman ini masuk dalam kategori sistem server-side yang memungkinkan program untuk dijalankan oleh server. PHP ini merupakan salah satu dari program yang mudah dipakai, karena sederhana dan lebih mudah dipahami. PHP ini bisa dimanfaatkan secara bebas alias tidak perlu berbayar. Anda juga akan bisa menggunakan program ini, karena bersifat open source.
Apa itu Undefined Index pada PHP ?
Undefined Index pada PHP adalah error saat anda membuka file index pada hosting atau XAMPP. Penyebabnya adalah adanya kekosongan value pada saat memasukkan perintah $_GET pada beberapa server dan adanya variable yang tidak dikenal ketika menyebutkan suatu baris. Solusinya adalah masukan data pada line yang error $nilai = isset ($array[‘index_array’]) ? $array[‘index_array’]:”;
Setiap kali versi PHP yang terbaru rilis, anda akan bisa langsung memanfaatkannya. Lebih baik selalu menggunakan versi terbarunya, agar dapat mengatasi berbagai macam bug yang ada di versi sebelumnya. Biasanya sebuah pembaruan versi juga disertai dengan tersedianya fitur yang baru.
Fungsi PHP dalam Dunia Website
Sebagian besar dari provider hosting menggunakan jenis bahasa pemrograman berupa PHP. Jadi tidak heran kalau anda akan sering menemukan adanya program ini dalam salah satu fasilitas yang diberikan provider hosting, termasuk provider yang anda gunakan. Sebenarnya ada banyak bahasa pemrograman lain yang dapat dipakai untuk mengembangkan suatu web.
Namun berkat fitur yang melimpah dan lebih mudah dipakai, tidak heran bahasa pemrograman yang satu ini sangat digemari para developer website. Dengan menggunakan PHP, maka pengembang website dapat menambahkan desain yang tidak statis pada website.
Selain itu, bahasa pemrograman ini dapat dimanfaatkan untuk melakukan aktivitas berupa input output database. Selain itu anda juga dapat mengkombinasikan penggunaannya dengan bahasa pemrograman lain, seperti CSS.
Pengertian Undefined Index
Pada saat anda menggunakan PHP ada kalanya akan mendapati notice berupa Undefined Index setelah memasukkan suatu bahasa pemrograman. Sebenarnya ini merupakan suatu bentuk error pada saat sedang mencoba akses terhadap variable array tertentu yang belum memiliki index.
Hal tersebut bisa diartikan sebagai anda mengakses suatu index dengan array yang masih kosong atau belum ada. Pemberitahuan tentang error ini akan muncul saat anda mencoba untuk mendefinisikan suatu variable yang berguna sebagai penampung data dengan memanfaatkan perintah PHP dengan versi terbarunya. Versi yang dimaksud biasanya berupa 5.3 ke atas.
Kesalahan yang terjadi bukan akibat versi PHP yang digunakan, melainkan pada perintah atau syntax yang dipakai tidak compatible dengan versi terbaru dari PHP.
Penyebab Undefined Index pada PHP
Selain dari syntax yang dipakai tidak compatible dengan versi terbaru PHP, ada penyebab lain yang bisa menimbulkan Undefined Index. Ada dua penyebab yang bisa memunculkan status tersebut diantaranya :
- Adanya kekosongan value pada saat memasukkan perintah $_GET pada beberapa server.
- Adanya variable yang tidak dikenal ketika menyebutkan suatu baris.
Cara Mengatasi Error Undefined Index
Anda bisa menggunakan beberapa teknik dalam mengatasi error berupa munculnya pemberitahuan undefined index. Penasaran dengan bagaimana cara mengatasinya? Langsung saja simak berikut ini :
1. Undefined Index pada PHP di Xampp
Bagi anda yang menggunakan PHP pada Xampp, kadang kala juga akan menemukan adanya peringatan error berupa Notice: Undefined index. Misalkan saja notice tersebut secara lengkap akan dicantumkan dalam berupa berikut.
Notice: Undefined index: status in C:\xampp\htdocs\error.php on line 7
Berdasarkan pemberitahuan error tersebut dapat dimengerti bahwa adanya error pada sebuah index dalam suatu file pada baris 7. Nomor 7 bisa menjadi penunjuk bagian baris yang mengalami syntax error. Anda mungkin saja menerima notice dalam bentuk lainnya selain yang sudah disebutkan di atas.
Apabila error tersebut keluar, maka anda bisa saja melakukan beberapa pemeriksaan terhadap array yang sebelumnya sudah dipakai. Cara melakukan pemeriksaan bisa dengan memasukkan syntax berikut.
$nilai = isset ($array[‘index_array’]) ? $array[‘index_array’]:”;
Cara lain yang bisa anda gunakan untuk melakukan pemeriksaan yakni dengan menggunakan syntax di bawah ini.
$nilai = array_key_exists ($array[‘index_array’]) ? $array[‘index_array’]:”;
Intinya ada dua buah syntax yang bisa anda gunakan salah satunya untuk memeriksa array yang sudah dipakai. Perintah tersebut bisa menggunakan syntax berupa isset() atau array_key_exist().
2. Undefined Index pada Syntax $_GET
Anda sudah mengetahui bahwa salah satu penyebab munculnya notifikasi error bisa disebabkan dari penggunaan syntax $_GET maupun $_POST yang tidak tepat. Dalam contoh kali ini ditujukan guna mengatasi notice error yang muncul akibat memasukkan syntax $_GET yang salah. Contoh kode yang dapat mengalami error yakni :
http://namadomain.com/index.php?perusahaan=oneprowriter
Dengan kode keseluruh yang bisa anda lihat di bawah ini berupa :
<?php $perusahaan = $_GET[‘perusahaan’]; $alamat = $_GET[‘alamat’]; Echo $perusahaan; Echo $alamat; ?>
Kemudian akan muncul output yang memberitahukan adanya undefined error. Contohnya dapat anda lihat di bawah ini :
Notice: Undefined index: alamat\index.php on line 7
Maka anda bisa saja memasukkan suatu fungsi atau syntax untuk menangani error tersebut. Misalkan juga dengan menggunakan perintah isset(). Contoh penyelesaian dapat anda lihat berikut.
http://namadomain.com/index.php?perusahaan=oneprowriter
Penyelesaian :
<? If(isset($_GET[‘perusahaan’])){ $perusahaan = $_GET[‘perusahaan’]; }else{ $perusahaan = “Perusahaan tidak diset di Method GET”; } If(isset($_GET[‘alamat’])){ $umur = $_GET[‘alamat’]; }else{ $alamat = “<br>alamat tidak diset di Method GET”; } Echo $perusahaan; Echo $alamat; ?>
Selesai memasukkan seluruh syntax tersebut anda akan mendapatkan output yang khusus dan bisa dilihat berikut :
Alamat tidak diset di Method GET
Anda bisa saja menggunakan pendekatan lainnya untuk dapat mengatasi persoalan tersebut. Misalkan saja sengaja menggunakan setting berupa blank index. Contohnya bisa dilihat berikut.
//contoh menggunakan $_POST
$name = isset($_POST[‘perusahaan’]) / $_POST[‘perusahaan’] : ‘’; $name = isset($_POST[‘alamat’]) / $_POST[‘alamat’] : ‘’; //contoh menggunakan $_GET $name = isset($_GET[‘perusahaan’]) / $_GET[‘perusahaan’] : ‘’; $name = isset($_GET[‘alamat’]) / $_GET[‘alamat’] : ‘’;
3. Cara Mengabaikan Notice: Undefined Index dalam php.ini
Sebuah pemberitahuan Undefined index bisa saja diabaikan. Apabila anda berniat mengabaikannya, maka bisa mengubah sebuah error_reporting menjadi notice berupa E_ALL menjadi E_ALL & ~E_NOTICE. Contohnya langsung dapat disimak berikut :
Error_reporting = E_ALL
Kemudian, anda dapat mengubahnya menjadi :
Error_reporting = E_ALL & ~E_NOTICE
Perintah tersebut akan membuat notice error yang muncul pada level “Notice“.
4. Cara Mengabaikan Notice: Undefined Index dalam Coding PHP
Apabila anda belum memiliki akses menuju php.ini, maka tetap dapat mengabaikan notice tersebut dengan menggunakan tambahan baris kode dalam sebuah page PHP. Caranya langsung bisa anda simak berikut :
<?php error_reporting (E_ALL ^ E_NOTICE); ?>
Pengertian Undefined Variable dan Penyebabnya
Selain dari undefined index, terdapat jenis error lain yang bisa muncul akibat adanya kesalahan terhadap variable yang dimasukkan ke dalam program PHP dan biasa disebut dengan undefined variable. Biasanya itu terjadi akibat ada variable yang belum diberikan nilai sejak awal, tetapi sudah dimasukkan ke dalam perhitungan dan harus ditampilkan dalam output.
Notice: Undefined variable: prov in C:\xampp\htdocs\error.php on line 10
Notice yang terdapat pada PHP akan langsung memberitahukan adanya variable yang belum memiliki definisi nilai. Anda dapat melakukan pemeriksaan terhadap variable maupun array uang ada, apakah sudah memiliki definisi atau belum. Hal tersebut dapat diwujudkan dengan menggunakan fungsi isset().
Dalam bahasa pemrograman PHP, tidak semuanya perlu dilakukan pengisian variabel. Hanya saja, program tersebut tetap akan memberikan saran kepada penggunanya, agar mengisi bagian variable awal. Anda bisa saja mengisi bagian variabel tersebut dengan nilai nol (0) maupun string kosong. Pengisian terhadap variable dapat mencegah adanya celah keamanan dan bug.
Cara Mengatasi Undefined Variabel
Paling tidak ada beberapa cara yang bisa diterapkan guna mengatasi undefined variable. Seluruh cara tersebut akan dibahas lebih lanjut di dalam penjelasan berikut :
1. Melakukan Deklarasi Variabel
Tadi sudah dijelaskan bahwa mengisi variable yang kosong dapat mencegah terjadinya bug dan celah pada keamanan, sehingga anda bisa mengisi variable dengan string. Pemeriksaan terhadap variable yang kosong akan bisa dengan mudah dilakukan di bawah ini :
$value = “”; // pemeriksaan menggunakan fungsi isset() $value = isset($_POST[‘value’]) ? $_POST[‘value’] : ”; // pemeriksaan menggunakan fungsi empty() $value = !empty($_POST[‘value’]) ? $_POST[‘value’] : ”;
2. Menggunakan Setting Custom Error
Selain dari metode yang pertama, maka anda dapat menggunakan setting custom error yang secara otomatis akan mengarahkan pengunjung website menuju ke halaman error 404. Menggunakan setting custom error dapat kamu lihat berikut :
set_error_handler(‘myHandlerForMinorErrors’,E_NOTICE | E_STRICT)
3. Melakukan Nonaktif E_Notice
Mengabaikan notice terhadap variable yang kosong juga bisa dilakukan dan sedikit mirip dengan yang diterapkan pada notice undefined index. Cara ini akan efektif dalam mengurangi terjadinya notifikasi error pada halaman yang sedang dibuat. Melakukan nonaktif dapat dengan menggunakan program PHP.
Anda bisa saja melakukan pengaturan dalam file php.ini dan mengubahnya menjadi display_error : off. Selain itu, anda bisa saja menggunakan sebuah fungsi error_reporting(error_reporting() & ~E_NOTICE).
4. Melewatkan Error dengan @operator
Selain itu 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"];