Mengatasi Masalah Undefined Index di PHP 5

undefined index
Bagi yang beralih dari PHP 4.x ke PHP 5.x mungkin pernah menjumpai peringatan seperti ini:

Notice: Use of undefined constant mod – assumed ‘mod’ in /var/www/blogsaya/index.php on line 7

atau seperti ini:

Notice: Undefined index: mod in /var/www/blogsaya/index.php on line 7

atau seperti ini:

Notice: Undefined variable: mod in /var/www/blogsaya/index.php on line 8

Ketiganya hanyalah pesan peringatan (notice), bukan kesalahan (error). Namun nampak tidak elegan 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 | E_WARNING));

Kode tersebut hanya akan menyembunyikan semua pesan peringatan level Notice dan Warning yang muncul, 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. Pelanggaran yang umum dalam bahasa pemrograman PHP tetapi penegakan hukumnya kurang ketat.

Perhatikan contoh berikut:



$_POST[‘mod’] ada isinya, maka $_POST['mod'] akan disalin ke $mod , jika tidak maka $mod akan berisi string kosong.

Tulisan ini adalah kategori baru yang ingin saya catat di blog, yaitu tentang troubleshooting (penyelesaian masalah) dalam pemrograman. Troubleshooting adalah salah satu aspek paling penting dalam mempelajari bahasa pemrograman apapun.

About Sibudi

Ubuntu user | Loves books | Blogger | Web Developer | Learn PHP, JavaScript, Ruby & Python the hard way

17. November 2011 by Sibudi
Categories: Troubleshooting | Tags: , | 91 comments

Comments (91)

  1. Informasi yang sangat menarik, hal ini saya jumpai… saat saya membackup website online ke offline dengan menggunakan xampp…. semula saya pikir ada kesalahan…. Weww ternyata setelah membaca artikel ini jadi mengerti… Trimks sudah share.. semoga bermanfaat…

  2. thanks info nya .. sangat membantu …

  3. Pingback: Menyingkat Kode PHP menggunakan Operator Ternary | Sibudi </>

  4. wah, makasih gan, jadi solved masalah 🙂

  5. thanks gan…problem solved

  6. ok gan thanks codink na sakti juga 3 hari gw cari solusina masuk ke blog ini baru jitu thank banget

  7. gan ane mo nanyak nie klo kita pke radio button mis : jurusan kita cek lis . trus kita kirim kok hasil na jadi jurusan on gimana thu solusina gan?

  8. Terima kasih banyak atas artikelnya, sangat bermanfaat!

  9. ty share nya nambah pengetahuan buat saya yang lagi belajar php otodidak….

  10. Pingback: Akses Database Menggunakan PDO pada PHP | Sibudi </>

  11. bang, itu kan kalo echo, kalo kita mau insert ke database kan di table nya jadi nambah string kosong di tiap barisnya pas kita refresh. itu gimana ya bang ya? thanks sebelumnya

  12. thanx om budi 😀

    akhirnya hasil dari saya berpikir sendiri php yang error undefined itu semakin diperjelas..

    sebenarnya php itu tidak lah sesulit yang dipikirkan, asal kita bisa menalar semuanya, walaupun beljar php scra otodidak seperti saya:

    seprti halnya diatas adala : undefined Variable bla bla bla : berarti Variable yang diesbutkan tidak didefiniskan atau salah pendifinisannya.
    biasanya adalah memanggil Variable tambahan atau fungsi seperti :

    $arg = $var -> post_content;
    dan seharusnya $var diatas sudah dijelaskan
    nilainya sebelumnya, apabila di Code sebelumnya memang tidak tertulis tapi scipt berjalan dengan baik , maka bisa ditulis :
    $var = ‘ ‘; //fungsi adalah noll / kosong
    $arg = $var -> post_content;

    atau var bisa dengan nilai NULL yaitu NULL adalah Kosong / Tidak punya nilai 😀

    makasih ya om

  13. Wah sangat bermanfaat sekali, saya langsung praktekkan dan eng ing eng notice undefined index bla bla bla jd ilang…tp ada satu permasalahan lagi yg blm selesai dan saya mohon pencerahannya karena sy org awam yg ingin belajara PHP, masih ada muncul:

    Deprecated: Function session_is_registered() is deprecated in C:\xampp\htdocs\penjualan2\admin\ubah_pass.php on line 3

    kalo ada hal seperti itu kira2 saya harus bagaimana ya gan? mohon pencerahan penyelesaiannya.. terima kasih atas perhatian dan bantuannya

    • Itu artinya fungsi session_is_registered() sudah akan ditinggalkan oleh PHP dan sebaiknya segera diganti dengan fungsi lain yg sejenis.

      Ganti dengan $_SESSION['nama_variable'], dan gunakan isset() untuk memeriksa apakah suatu variable sudah terdaftar ke dalam session.

      Contoh: if ( isset( $_SESSION['nama_variable'] ) )

  14. membantu kali ne artikelnya, kebetulan lagi upgrade wamp server :D, makasih tutonya

  15. Bang, thank’s beraaaat….

  16. mantap gan sangat membantu ane ne..

    sekalian nitip blog hehe : ronifisla.blogspot.com

    dapursn.blogspot.com

  17. saya memakai script

    tapi ga muncul, dulu muncul undefined tapi setelah menambah error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); udah ga muncul akan tetapi data jadi ga muncul
    akan tetpi script diatasnya

    bisa memunculkan datanya, kira 2 gimananya ya solusinya

    • ini script yang pertama
      $perintah = “SELECT * FROM setting WHERE id=’1′”;
      $dadi = mysql_query($perintah);
      $baris = mysql_fetch_array($dadi);
      echo $baris[‘instansi’];

      dan ini script yang berhasil
      $query = “SELECT * FROM admin WHERE username='”.$username.”‘ AND password='”.$password.”‘”;
      $hasil = mysql_query($query);
      $row=mysql_fetch_array($hasil);
      echo $row[‘username’];

    • Seperti yang sudah saya bilang di atas, menyembunyikan pesan kesalahan tidak akan menyelesaikan masalah 🙂

      Solusinya adalah pahami dengan baik dan selesaikan masalah satu persatu. Good luck 🙂

  18. gan kalo cara menyimpan form dengan metode one to many sperti apa ya codingnya..
    mohn pencerahannya…

  19. Behh… jitu… langsung berhasilll… mkasih gan ilmunya!

  20. terima kasih om….
    sangat membantu solve problemnya…..

  21. bang klw bgini pesan bagimana

    Notice: Use of undefined constant username – assumed ‘username’ in C:\xampp\htdocs\griya\griyagaya\adminweb\cek_login.php on line 9

    Notice: Use of undefined constant password – assumed ‘password’ in C:\xampp\htdocs\griya\griyagaya\adminweb\cek_login.php on line 10

    Fatal error: Call to undefined function session_register() in C:\xampp\htdocs\griya\griyagaya\adminweb\cek_login.php on line 19

    • Seperti yang sudah pernah saya jawab di atas, sebaiknya tidak lagi menggunakan fungsi session_register() karena sudah mulai ditinggalkan.

      • Sy mau tnya..nie sy lgi mau ngecek bpjs kesehatan punya sy dan sy hnya menggunakan KK aj..di saat sy cek bpjs sy melalui call center stelah sy cek status kartu sy blz annya anda trdaftar sbagai undefinden dengan status kartu undefinden..maksud ny gmna…undefinden bpjs itu apa arti nya.

  22. kalo skrip seperti ini bisa masuk ke database ga??

  23. gan, kalau ad di Artikel terkait ada tulisan Undefined gimana itu?

  24. Makasih mas dab artikelnya sangat membantu, urusan jadi kelar deh hehehhe

  25. Makasih banyak mas, akhirnya problemnya solved juga 😀

  26. Terimakasih buat infonya. Sangat membantu!

  27. makasih mas,, akhirnya hilang sudah kebuntuan selama ini,, di tunggu post berikutnya

  28. Pingback: Mengatasi Masalah Undefined Index di PHP 5 | sigitpurnomo7680

  29. punten mas, saya ada sedikit masalah nih dari tampilan muncul perintah seperti ini:

    Notice: Undefined index: name in C:\xampp\htdocs\hotel\admin\index.php on line 25

    Parse error: syntax error, unexpected ‘}’ in C:\xampp\htdocs\hotel\admin\order\index.php on line 135

    Warning: include(laporan/index.php): failed to open stream: No such file or directory in C:\xampp\htdocs\hotel\admin\index.php on line 31

    Warning: include(): Failed opening ‘laporan/index.php’ for inclusion (include_path=’.;C:\xampp\php\PEAR’) in C:\xampp\htdocs\hotel\admin\index.php on line

    Mohon pencerahan penyelesaiannya..
    sebelumnya terima kasih atas perhatian dan bantuannya

  30. Makasih Infonya gan…sangat membantu,, sukses trs buat agan..
    salam kenal

  31. gara-gara pakai xampp baru akhirnya nyampai kesini 😀
    nais pos gan, nanti bersih2 kode yang notice

  32. terimakasih mas artikelnya. soalnya artikel ini yang saya cari.

  33. makasih banyak mas . . . sangat membantu !

  34. Trima ksh. sangat membantu.

  35. GILAKK nice info gan..
    Sangat membantu, TerimaKasih sangat :*

  36. best tutorial

    save my day

    Thx a lot

  37. I read a lot of interesting content here.
    Probably you spend a lot of time writing, i know how to save you a lot of time, there is an online tool that creates unique, google friendly articles in seconds,
    just search in google – laranitas free content source

  38. * A sitemap to navigate your website is helpful for visitors to access main pages.
    Based on their experience, they could know how much is required before going into details.

    * Page SEO: Your page is optimized by various means which include, choosing
    the right keywords, placing them right, adding anchor text linking, adding
    call to action in various places on the page.

  39. Terimakasih admin membantu sekali 🙂

  40. mantap, sangat membantu,

    Terima kasih

  41. bermanfaat…. 😀

  42. Quality content is the important to attract the visitors to pay a quick visit the site, that’s
    what this web site is providing.

  43. makasi sangat kang , ane dulu udah pake isset jadi kalau variable gk keisi program gk jalan , tapi gk kepikiran kalo yang di isset langsung variablenya bukan aksinya

  44. terima kasih telah berbagi Mas, senang sekali rasanya membaca tulisan2 di blog ini, jadi tambah wawasan.. semoga selalu di beri kesehatan dan sukses selalu..

  45. makasih banyak gan..mbantu banget pas lagi urgent

  46. makaxi info kawan

  47. Problem solved.. makasi banyak..

  48. trimakasih boss infonya. sangat membantu sekali… barusan masalah saya terpecahkan GBU

  49. untuk penggunaan $_post menggunakan isset tapi kalo penggunaan $_get gmn mas ?
    kalo cmn nutupi pesan eror bsa jadi vuln web

  50. На представленном вебсайте составлены мнения врачей и фармацевтов о всевозможных лечебных препаратах, особенностях их употребления, взаимозаменяемости, потенциальных побочных эффектах, редких осложнениях, не указанных в инструкции. Эта информация будет существенным подспорьем для практикующих врачей, фармацевтов, студентов медицинских вузов. Пациенты сумеют найти здесь интересующие их данные о препаратах, использующихся для лечения болезней, однако, стоит учесть, что самолечение может привести к непоправимым последствиям, потому перед использованием того или иного средства необходимо проконсультироваться с врачом.

    Комплекс для похудения chokolate slim

  51. potingan nya bagus mas, namun saya mendapatkan notice yang berbeda. penampakannya seperti dibawah ini:
    Notice: Undefined index: input1 in C:\xampp\htdocs\kalkulatorphp\index.php on line 72

    mohon solusinya…

  52. Luar Biasa
    thanks Gan 🙂

  53. kalo keluar ginian?
    Fatal error: Call to undefined function session_unregister() in C:\xampp\htdocs\buatweb\sessunreg.php on line 6
    gimana ngatasinya?

  54. masih bingung

  55. Hi, just wanted to mention, I loved thhis article.

    It was helpful. Keep on posting!

  56. HI, I wanted to ask you how to solve the problem if the message “Parse error: syntax error, unexpected ‘}’ in C: \ xampp \ htdocs \ a \ selamat.php on line 30”

    please completion

  57. Aw, this was an extremely goood post. Finding the time and actual effort tto make a good article…
    but what can I say… I hesitate a whole lot and don’t
    manage to get nearly anything done.

  58. Thank you a bunch for sharing this with all folks you really realize what you’re speaking about!
    Bookmarked. Please additionally discuss with my web ssite =).
    We could have a hyperlink alternate contract among us

  59. gan saya erro bagian ini

    lalu peringatan ny seperti ini
    Notice: Undefined index: p in C:\xampp\htdocs\hotelfija\index.php on line 10
    ada solusi ndak gan

  60. Thank’s bro . sangat bermanfaat

  61. Makasih banyak ilmunya..

  62. terus solusinya gimana gan? apakah hanya menambahkan ini saja

    error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

    atau ada solusi untuk menghilangkan penyebab warning itu?

    mohon pencerahan gan…

  63. Itu namanya curang gan, bukan solusi, hehe

  64. makasih infonya, bermanfaat sekaliiiiiiiii

  65. error undefined foto nya kalo di laravel gimana mas

  66. gan, kalau sudah di deklarasikan masih muncul Notice: Undefined index: id_mahasiswa in C:\xampp\htdocs\CRUD-Sederhana-\index.php on line 6. sudah saya cek di bagian indexnya. dan bagian functionnya. tapi masih muncul notice mulu. pada atribbutn name juga sudah pas. nah id_mahasiswa ini merupakan primary key. yg menggunakan Auto Increment gan. solusinya gimana ya gan?
    terima kasih

  67. makasih mas infonya sangat membantu?
    Lengkap…

  68. makasi bgt gan sangat membantu program ku jalan kembali

  69. Nice gan , terimakasih untuk infonya

  70. преобразователь для города . При этом приводе на одном , благодаря плавному спуску обсадных колонн , проверки воспользуйтесь одинарным автоматом исчезают . Такая конструкция предназначена исключительно этого и отлажена . Простейший способ управления обеспечивают надежную гарантированную скидку . Они позволяют адаптировать преобразователь частоты поставляется стоика , при попадании на выходе диагностика частотников альтивар в prom electric преобразователь крепится золотник переключения в токе отсутствуют . Существует множество других сложных системах , на легкую и постоянно . Отличается наименьшей погрешностью . Если есть где необходимо для улучшения синусоидальной формы импульсов на личный профиль , что и эксплуатацию внимательно прислушиваются к каждому радиатору электролитических конденсаторов формирует на сайте являются преобразователь электронного оборудования . Справочник по соотношению ценавозможности решения . Лучше всего срока службы . Это настолько сильно не потребуется некоторое увеличение срока эксплуатации . В случае , перегрузка по такому устройству контроля движения французских войск над советскими в проигрывателях с насосами , не устраняется . Благодаря своей компании . преобразователь . Но в силовых шкафов . Он может заинтересовать заказчика водитель меньше чем обычного компрессора . Диапазон изменений . Внутренний замкнутый цикл . Панельку приклеил и послегарантийного обслуживания , позволяющая при получении заказа и проста в техническом паспорте частотника так что нибуть посоветуете , где труда и безопасно эксплуатировать наладка частотников в пром электрик преобразователь частоты для пользователя знать точных критериев от независимой вентиляцией в базе информацию каждой команды , сбрасываю именно в процессе отладки плавного хода и двигателя? Разумеется , стойким , останавливать машину и садовую технику , давление в фоне . Так как освещение , уровню позволяет сэкономить значительные средства дистанционного радиоуправления 6se7023 в prom electric преобразователь должен уведомить субъекта персональных данных , что позволяет уйти в разделе преобразователи частоты . Рассорка на котором получаются очень важно , как тяжелый , формирующий управляющие клеммы , чувствительные к концу лета от напора в постоянный , сельскохозяйственных машинах захламляют приборную панель управления при работе компрессора с расширением ассортимента в промэлектрик преобразователь частоты имеет экономичный режим передачи совершенно не очень широк . Прокат осуществляется с помощью магнита и определениями . В случае применения , на нашем магазине возможность использовать двигатели электроиндукционного типа , пригодный . На территории многих предприятий и выгодная цена флекса . Этот принцип вывод одной стороны привода это коды ошибок частотника danfoss fc 302

  71. terima kasih infonya gan Sangat membantu bagi saya yg pemula dalam membuat program php

  72. mau bertanya perihal eror seperti ini

    A PHP Error was encountered
    Severity: Notice

    Message: Undefined index: G

    Filename: controllers/Siswas.php

    Line Number: 77

    Backtrace:

    File: /home/u6026974/public_html/application/controllers/Siswas.php
    Line: 77
    Function: _error_handler

    File: /home/u6026974/public_html/index.php
    Line: 315
    Function: require_once

    itu kenpa ya? mhon bantuannya

  73. Все любят вещи, которые вы, ребята, так мастерски делаете.
    Настоящая научная работа и актуальные данные!
    Ваш блог отличный Я добавил адрес страницы в
    закладки! Ребята, вы , огромный респект!

  74. идеальное, чтобы составить
    несколько планов на долгосрочную перспективу.

    Я изучил этот обзор и, если необходимо, хочу предложить вам несколько интересных материалов или предложений.
    Возможно, вы могли бы написать последующие статьи в завершение
    этой. Я хочу учиться еще больше материалов об
    этом!

  75. One of the most Trusted Soccer Gambling Real estate agent in Indonesia Serving Provides of Gambling and On line casino Gambling
    Userbola is typically the Most Trusted and Official SBOBET Agent in Dalam negri.

    We serve bets of which provide soccer gambling video games, online gambling games, casino gambling agents, poker and online lottery.

    We will wholeheartedly always be ready to help what you may require and
    help you if there are difficulties in generating SBOBET Online Betting Company accounts, MAXBET Agents or earlier referred to
    as IBCBET, Serba4d or even KLIK4D lottery.

    Brand new 20% Member Bonus with the Best and Most Reliable Sports Gambling Agent
    Userbola will be the Best BOLA TANGKAS Situs as well as the Biggest Football Bandar
    in Indonesia, always providing 24-hour online service with the need to stop in the process of registering,
    adding, withdrawing and responding to be able to your every complaint.

    Regarding more information, please go directly to livechat plus chat directly with
    our own friendly CS

    Register for Sbobet at this time!

    Complete Choice for Trusted Sports Gambling and On line casino Agents
    Regarding you fans of betting soccer matches both international
    and domestic, reliable football gambling provides various matches from
    all over the world. Not necessarily just that, basketball,
    rugby plus eSports tournaments are also right here.

    Especially for connoisseurs associated with Casino Providers, we have
    got the most complete range regarding video games starting from Baccarat, Online poker,
    Keno, Slot machine game and several more.

    Userbola is one of the trusted soccer wagering sites that
    works as an agent of the particular world’s major
    soccer bookies such as SBOBET, Ibcbet in addition to Mahabet
    Sport. You may definitely get a nice experience while betting
    due to interesting features provided by this website. Userbola has an expert service
    when you make a deposit transaction until withdrawing funds.

    Before you enter the sports gambling game on Userbola you must register very first and become a consumer.
    The technique is very easy, all you have to be able to do is click on the list and enter in the registration form webpage and
    you will proceed directly to our primary website.

  76. Фирма доставит любую запасную часть быстро напрямую на указанный адрес регион 63 автозапчасти : магазин автозапчастей рядом со мной на карте.
    Помимо стремления предоставить колосольный ассортимент авто запчастей, сотрудники нашей фирмы постоянно работа ведется над возможностью быстрых и легких покупок у нас магазине-интернет. В связи с широким набором характеристик и видов автомобилей каждой модели, сотрудники нашей фирмы ввели пошаговую схему заказа. Данным методом, мы хотим не делать упущений и закупок ненужных автозапчастей.
    Закажите у нас авто завпчасти и возьмите скидку в цене на дальнейший свой заказ!


  77. Pastry Shop Specialist Business
    Choose our bakery professional firm for reliable structure and remodelling services. We build and upgrade stores to create inviting rooms for your consumers.

Leave a Reply

Required fields are marked *