Mengenal Dan mengatasi Error pada PHP

  1. NOTICE
    • Undefined Variable
      Pesan Kesalahan kira-kira berbunyi seperti, “Notice : Undefined Variable …….”. Penyebabnya adalah karena nama variabel yang kita sebutkan pada baris yang ditunjuk tidak dikenal. Sebagai contoh, perhatikan screenshot berikut beserta potongan codenya.

      //Error Notice Undefined Variable
      $nama = "Christian Rosandhy";
      echo "Nama saya adalah $name"; //<- Nama variabel salah ketik

      Seperti yang kita lihat pada pesan error, ada nama variabel “name” yang tidak dikenal pada baris ke-4. Kalau sudah seperti ini, kemungkinannya cuma 2.. Satu, kita belum deklarasi variabel dengan nama tersebut; Dua, variabel sudah dideklarasi, tapi kitanya yang salah tulis. Kalau di potongan code saya, pesan tersebut muncul karena masalah yg kedua tuh.. Saya mendeklarasikan $nama, tapi saya memanggil $name.. Jadi cara memperbaikinya ya cuma dengan menyamakan nama variabel yang dideklarasikan dengan yang disebut saja.. 😀

    • Undefined Index
      Mirip seperti pesan Notice Undefined Variable, tapi yang menjadi fokusnya bukan pada variabel, melainkan pada index di baris yang bersangkutan. Kalau masih bingung index itu apaan, index itu yang ada didalam kurung kotak itu lho,, yang biasanya dipakai array..
      Notice Undefined Index
      Buat yang sering menggunakan pengiriman data via Form HTML ke PHP pasti pernah ketemu error macem ini.. Seenggaknya ada beberapa kemungkinan penyebabnya..

      1. Di Form HTML kita lupa bikin atribut method, atau method pada HTML tidak sesuai dengan method yang kita sebutkan di PHP. Misalkan di HTML kita bikin [form action=”…” method=”post”],, tapi di PHP kita memanggilnya dengan $_GET[…].
      2. Kita lupa ngasi nama di tag-tag input yang akan dikirim. Dicek aja satu-satu, barangkali ada tag [input], [select], [textarea], dsb yang lupa dikasi atribut name=”…”.
      3. Nama atribut di HTML berbeda dengan yang kita panggil di PHP. Coba aja dipastiin ulang, udah sama atau belum?

        Dalam contoh coding saya, saya bermasalahnya di kemungkinan yang ketiga.. di HTML saya bikin [input name=”nim“], tapi di PHP saya panggilnya $_POST[‘NIM‘].. INGAT!! PHP itu Case Sensitive.. Hati-hati untuk urusan seperti ini.. 😀

    • Undefined Constant
      Sewaktu masih belajar-belajar PHP, akupun sempet bingung kapan pake petik 2, petik 1, dan nggak pake petik.. Petik 1 biasa digunakan untuk mendefinisikan sebuah string maupun sebuah index. Misalnya kayak echo ‘Lalala’, $_POST[‘lalala’] gitu.. Petik 2 juga gunanya sama seperti petik 1, tapi didalam petik 2 tersebut masih bisa diisi variabel lainnya. Misalnya, echo “Nama saya adalah $nama”. Nggak pake petik dilakukan untuk string yang biasanya pake petik 1 tapi sedang diapit petik 2.. Misalnya echo “nama saya adalah$_POST[nama]“.
      Notice Undefined Constant ini muncul ketika di bagian yang seharusnya kita pakai tanda petik (entah petik 1 atau petik 2), tapi kita nggak mengisinya..
      Notice Undefined Constant
      Seperti contoh diatas, sekalipun diberi notice, tapi program tetap bisa berjalan dengan baik. Tapi kalau kita nggak suka liat pesan seperti itu, artinya baris ke-4 perlu kita isi tanda petik dulu supaya errornya hilang.. 😀
  2. WARNING
    • [nama fungsi] Expect at least (n) parameter
      Pesan kesalahan ini biasanya muncul ketika kita memanggil sebuah function, terlepas function buatan kita sendiri maupun function bawaan PHP.
      Error Warning Expect Parameter
      Seperti contoh diatas, fungsi explode() pada PHP seharusnya diinputkan minimal 2 parameter, tapi hanya diinputkan 1. Untuk mengatasi error warning seperti ini, pastikan kita menggunakan fungsi yang ada dengan benar.
    • Warning mysql_fetch_array() expects parameter 1 to be resource, Invalid Arguments Suplied for Foreach
      2 macam error ini sengaja saya gabungkan menjadi 1. Ini adalah error yang erat kaitannya dengan database.

      Terlepas kita menggunakan engine mysql maupun PDO, 2 error peringatan ini bisa muncul hanya karena 1 penyebab yang sama : SQL yang tidak valid. Cara memperbaikinya ya hanya dengan memastikan bahwa SQL inputan kita di perulangan while maupun foreach sudah benar.
  3. PARSE ERROR
    • Syntax Error
      Eakk,, kalau di error-error sebelumnya hanya bersifat pemberitahuan dan peringatan, di Parse Error ini baris coding akan langsung distop eksekusi kalau ketemu error ini.. Parse Error Syntax Error seperti gambar dibawah ini :

      Error macam ini bisa dibilang gampang gampang gurih.. Gampangnya sih karena dikasi tau baris permasalahannya di sekitar mana, seperti di contoh kan dikasi tau di baris ke-6 sekitar kata ECHO ada yang salah.. Akan tetapi yang kita analisis bukan hanya baris ke-6nya saja, melainkan kemungkinan di 1 baris sebelumnya juga.
      Kira-kira dari contoh coding saya ketauan nggak salahnya dimana? Apakah beneran di baris 6? Ternyata gara-gara kurang titik koma di baris ke-4 lho.. Nah,, mesti agak jeli untuk mengatasi error macem ini.. 😀 Hal ini berlaku untuk segala jenis kemungkinan kesalahan.. Lupa titik koma, lupa tanda titik, lupa kurung tutup, dsb..
    • Unexpected End of File
      Parse Error yang satu ini juga nggak kalah gregetnya..
      Parse Error Unexpected End Of File
      Penyebabnya error udah bener-bener jelas cuma 1 : Ada kurung tutup (biasanya kurung kurawal) yang lupa kita tutup!! Sekalipun di error ini dijelaskan baris keberapa (dalam contoh dikasi tau baris ke-13),, tapi hal itu sama sekali nggak membantu.. Karena baris ke-13 itu nggak ada apa-apa..
      Jadi cara mengatasinya? Yaa,, pilihannya cuma antara bikin lagi dari awal, atau ngecekin kurung buka dan kurung tutupnya satu-satu.. Iya gitu aja.. ._.
  4. FATAL ERROR
    Fatal Error Call to Undefined Function
    Untuk error macam ini juga kita cuma perlu modal teliti doang.. Salah sebut / salah ketik nama fungsi akibatnya bisa begini.
  5. BLANK ERROR
    Akupun sempet dibikin pusing sama error model satu ini.. Kesalahan yang nggak menampilkan pesan apa-apa..
    Blank Error
    Penyebab blank error itu sendiri adalah antara kesalahan logika, dan juga bisa karena kita membuat IF tanpa ELSE. Jadi ketika kita menjalankan tiba-tiba ada masalah yang tidak kita tahu, terus di coding kita sendiri nggak bikin kondisi untuk mengantisipasi kesalahan macam itu, jadilah blank error.. Kalau kata-kata itu terlalu susah, simpelnya sih coba dibiasakan selalu membuat ELSE pada setiap IF, sekalipun elsenya keliatannya nggak bakal kepake.

Share This