Tips Mengatasi Error Undefined Index / Variable
- Panduan Lengkap VM - Juli 29, 2024
- Panduan Pembayaran Via Bank Mandiri - Juli 2, 2024
- PHP X-Ray di cPanel untuk Optimasi Kecepatan Web - April 18, 2023
Pengantar
Halo sobat Jagoan!
di tutorial kali ini kita bakalan membahas permasalahan Error Undefined Index/Variable. Pasti sekarang kamu lagi main-main sama bahasa pemrograman PHP kan?
Nah di PHP itu ada dua jenis method yaitu $_POST dan $_GET. Kedua method ini biasanya digunakan untuk mendapatkan value dari user melalui sebuah form. Ketika pakai method ini biasanya muncul deh error bernama Notice: Undefined Index
Cara Mengabaikan Notice Undefined Index
Kamu bisa mengabaikan informasi ini dengan menggunakan fitur error_reporting. Ide besarnya adalah menyetting error_reporting menjadi E_ALL & ~E_NOTICE.
1. Lewat php.ini
Kalo kamu beli hosting di JagoanHosting kamu bisa mengubah error_reporting menjadi E_ALL & ~E_NOTICE dengan menggunakan panduan mengubah konfigurasi PHP
Cara lain adalah edit file php.ini di hosting kamu, cari "error_reporting" defaultnya biasanya E_ALL nah itu diganti jadi E_ALL & ~E_NOTICE.
Contoh default :
error_reporting = E_ALL
Ganti ke:
error_reporting = E_ALL & ~E_NOTICE
Sekarang yang tampil adalah semua error kecuali level "Notice".
2. Coding PHP
Kalau kamu gak ada akses ke php.ini, kamu tetep bisa mengabaikan error tersebut dengan menambahkan baris kode kedalam sebuah page php tersebut.
<?php error_reporting (E_ALL ^ E_NOTICE);?>
Sekarang yang tampil adalah semua error kecuali level "Notice".
Cara Memperbaiki Undefined Index
Jenis error ini muncul di method $ _POST dan $ _GET, ketika kamu pakai index atau variabel yang belum diset dikedua method tadi, tapi kamu udah pakai valuenya di kode PHPmu.
Contoh:
Di contoh ini kita pakai dua variabel "nama" dan "umur" tapi yang di masukkan cuma value "nama" melalui method $_GET, itu kenapa akhirnya muncul error
http://namadomain.com/index.php?nama=rama
<?php $nama = $_GET['nama']; $umur = $_GET['umur']; echo $nama; echo $umur; ?>
Output :
Notice: Undefined index: umur \index.php on line 5
Solusi :
Untuk mengatasi error tersebut kamu bisa menggunakan fungsi isset() , ini contohnya berdasarkan contoh error baris kode diatas.
http://namadomain.com/index.php?nama=rama
<?php if(isset($_GET['nama'])){ $nama = $_GET['nama']; }else{ $nama = "Nama tidak diset di Method GET"; } if(isset($_GET['umur'])){ $umur = $_GET['umur']; }else{ $umur = "<br>Umur tidak diset di Method GET "; } echo $nama; echo $umur; ?>
Output :
rama Umur tidak diset di Method GET
Setting Blank Index
Pendekatan lain dengan sengaja setting dengan blank index, contohnya seperti ini:
// contoh menggunakan $_POST $name = isset($_POST['nama']) ? $_POST['nama'] : ''; $name = isset($_POST['umur']) ? $_POST['umur'] : ''; // contoh menggunakan $_GET $name = isset($_GET['nama']) ? $_GET['nama'] : ''; $name = isset($_GET['umur']) ? $_GET['umur'] : '';
Cara Memperbaiki Undefined Variable
Pemberitahuan atau notice ini muncul ketika kamu pakai variabel di PHP tapi belum kamu set valuenya.
Contoh :
<?php $name='RAMA'; echo $nama; echo $umur; ?>
Output :
Notice: Undefined variable: umur in namadomain.com\index.php on line 7
Contoh diatas kita menampilkan value yang disimpan di 'nama' dan 'umur' tapi kita belum set isi variabel 'umur' nya.
Solusi :
Untuk mengatasi error ini, kamu bisa definisikan variabel global dan gunakan fungsi isset() untuk ngecek sudah diset valuenya atau belum.
<?php global $nama; global $umur; echo $nama; ?> <?php if(isset($nama)){echo $nama;} if(isset($umur)){echo $umur;} ?> <?php // Set Blank Variabel $nama = isset($nama) ? $nama : ''; $umur= isset($umur) ? $umur: ''; ?>
Penutup
Nah, itu dia beberapa solusi dari Jagoan Hosting Indonesia dalam mengatasi Error Undifined Index / Variable. Simak terus tutorial yang lain di halaman Tips Hosting di halaman tutorial Jagoan Hosting Indonesia, kasih star buat feedbacknya.
Sampai bertemu di tutorial berikutnya!
Referensi : https://www.stechies.com/undefined-index-error-php/