Cara Mengatasi Notice : Undefined Index di PHP

Undefined Index di PHP

Cara Mengatasi Notice : Undefined Index di PHP . Notice/peringatan ini keluar ketika kita mencoba untuk mengakses sebuah index dari metode $_POST dan $_GET (umumnya pada saat submit form), namun index tersebut tidak tersedia. Ada 2 cara untuk mengatasi notice ini. Pertama dengan mengabaikan notice ini (tentu saja tidak disarankan) atau yang kedua dengan me-resolve atau melakukan fix pada code PHP kita.

Mengatasi Undefined Index di PHP

Cara yang pertama, yaitu dengan mengabaikan notice ini. Agar notice ini tidak muncul ketika terjadi, kita bisa mengubah pengaturan pada php.ini atau menambahkan satu baris kode pada script PHP kita.

Untuk mengubah pada php.ini , silahkan cari file php.ini kemudian cari baris yang bernama error_reporting. Setelah itu ubah valuenya dari value awalnya yang hanya E_ALL menjadi E_ALL & ~E_NOTICE. Sehingga pengaturannya akan nampak seperti dibawah.

error_reporting = E_ALL & ~E_NOTICE

Setelah itu, save file tersebut dan lakukan refresh pada browser ke file PHP yang mendapatkan notice tersebut.

Kalau kita tidak punya akses untuk mengubah file php.ini, maka kita juga bisa menambahkan satu baris script PHP seperti dibawah di baris paling atas file yang mendapatkan notice ini.

<?php error_reporting (E_ALL ^ E_NOTICE); ?>

Setelah itu save dan coba untuk akses kembali file tersebut.

Fixing Code

Cara yang kedua, yaitu dengan melakukan fixing pada logic code kita. Cara ini lebih disarankan agar kita benar-benar menyelesaikan akar permasalahannya ketimbang melakukan skip notice.

Nah sekarang, yang perlu kita pikirkan ketika index ini belum ada/tidak tersedia apakah kita akan melakukan return error ke user atau diberi value namun valuenya kosong saja? Tentu saja ini tergantung dari case teman-teman mau seperti apa.

Perlu digaris bawahi return error ke user berbeda dengan error system (notice undefined index). Error system berarti ada dari kode kita yang berjalan namun tidak sesuai dengan aturan system. Sedangkan error ke user berarti code kita telah berjalan sesuai aturan sistem dimana ketika suatu kondisi tidak terpenuhi, maka kita tidak akan meneruskan ke tahap selanjutnya dan memberi tau ke user bahwa ada yang belum lengkap/salah.

Jika kita mau memberikan error ke user, codenya kurang lebih akan seperti ini:

<?php
if(isset($_GET['nama'])){
  $name = $_GET['nama'];
}else{
  // error
  echo "Namanya belum di set";
}

echo $name;
?>

Namun jika kita tidak mau memberikan error ke user, berarti kita akan menetapkan default value seperti code berikut:

<?php
if(isset($_GET['nama'])){
  $name = $_GET['nama'];
}else{
  // default value
  $name = "Nama standar";
}

echo $name;
?>

Metode isset( ) diatas adalah metode yang kita gunakan untuk mengecek, apakah index nama telah diset sebelumnya atau tidak. Selain itu contoh diatas juga hanya menggunakan metode $_GET[ ] yang tentunya juga bisa diganti dengan metode $_POST[ ] sesuai dengan kebutuhan kita.

Jika teman-teman masih ada yang belum paham tentang metode $_GET[ ] bisa belajar disini dan $_POST[ ] disini.

You May Also Like

1 Comment

Leave a Reply

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