Kategoriler
Tüm Yazılar Web Sitesi

Undefined Index Hatası, isset ve empty Kullanımı

Undefined Index Hatası ne anlama geliyor? Neden Undefined Index Hatası ile karşılaşıyorum? Undefined Index Hatası ile karşılaşıldığında yapılması gerekenler neledir? gibi sorularınızın cevaplarını bu yazımızda bulabilirsiniz.

GET metoduyla işlem yaparken, değişkenin boş olup olmadığını kontrol etmek istersek, örneğin;

if ($_GET[‘durum’]==”no”)

veya

if ($_GET[‘durum’]==’ok’)

veya

if ($_GET[‘durum’]==’exit’)

veya

if ($_GET[‘islem’])

kullandığımız değişkene göre tarayıcıda aşağıdaki mesajlar alırız;

Notice: Undefined index: ……. in
Notice: Undefined index: islem in
Notice: Undefined index: durum in

Bu hata mesajlarını sunucuda hata ayıklama modu açıksa alırsınız yoksa görmezsiniz. Yani bir sunucuda bu hatayı alıyorsanız o sunucuda hata ayıklama modu açıktır, aynı hatayı bir diğer sunucuda almazsınız çünkü o sunucuda hata ayıklama modu kapalıdır.

Hata mesajı aldığınız sayfanızın en başına

error_reporting(0);

yazarsanız hata mesajları görünmez olur, ancak önemli olan hatayı göstermemek değil, hatanın neden kaynaklandığını anlayarak hatayı ortadan kaldırmaktır. Çünkü hata ayıklama modu bir nevi güvenlik önemidir ve hacker’lar hata mesajlarına göre hareket ederler.

Bu hatayı gidermenin yolu empty() ve isset() fonksiyonlarını kullanmaktan geçiyor.

isset() fonksiyonu bir değişkene atama yapılıp yapılmadığını kontrol etmek için kullanılır. Atama yapılmışsa true, yapılmamışsa false değeri döndürür.

isset() fonksiyonu ise bir değişkenin boş olup olmadığını kontrol etmek için kullanılır.

Sayfanın başındaki örneklerimize geri dönecek olursak;

if ($_GET[‘durum’]==”no”)

hatası

if (isset($_GET[‘durum’]) && $_GET[‘durum’]==’no’)

if ($_GET[‘durum’]==’exit’)

hatası

if (isset($_GET[‘durum’]) && $_GET[‘durum’]==’exit’)

if ($_GET[‘islem’])

hatası

if (!empty($_GET[‘islem’])) veya if (isset($_GET[‘islem’]))

olarak değiştirilerek hata giderilmiş olur.