Cara mengatasi “Notice: Undefined Index” di PHP

Cara mengatasi “Notice: Undefined Index” di PHP
Terkadang kita sering menemukan error/warning 'Notice: Undefined index:' . Sebenarnya peringatan tersebut hanyalah pesan peringatan (notice), bukan kesalahan (error). Namun nampak kelihatan cukup menganggu jika pesan seperti itu muncul di halaman website kita. Untuk menyembunyikan pesan peringatan tersebut cukup dengan menambahkan sebaris kode berikut di bagian paling awal kode PHP.
error_reporting("E_ALL ^ E_NOTICE");
Kode tersebut hanya akan menyembunyikan semua pesan peringatan level Notice dan Warning yang muncul, sedangkan pesan kesalahan yang lain, misal error, tetap muncul.
Namun tentu saja menyembunyikan pesan peringatan bukan solusi yang baik. Notice message tersebut muncul karena penanganan register global di PHP 5.x yang sedikit berbeda dengan PHP 4.x, dan juga ada variable atau konstanta yang tidak diinisialisasi sebelum digunakan. 

Perhatikan contoh berikut:
<form action="" method="post">
  <input type="text" name="nama" />
  <input type="submit" />
</form>
<?php
  echo $_POST[nama];
  echo $nama;
Pesan peringatan dapat muncul karena penggunaan register global yang kurang tepat, seperti pada contoh di atas, seharusnya ditulis seperti berikut:
echo $_POST['nama'];
Begitu dijalankan pesan peringatan akan muncul lagi tapi berbeda dengan yang awal tadi. Itu terjadi karena variable global $_POST belum diinisialisasi. Jadi script tersebut seharusnya seperti berikut:
if (isset($_POST['nama']))
  echo $_POST['nama'];
Lalu untuk mengantisipasi terjadi pesan peringatan lagi, tinggal kita inisialisasi saja variable $nama dengan nilai kosong seperti berikut:
$mod = '';
echo $mod;

Selanjutnya kita akan membahas bagaimana cara membuat PHP menjadi .EXE.

2 comments:
Write komentar