Merhaba,
Bugün php de birşeyler uğraşırken sürekli kodlarımın, yaptığımın çalışmasına rağmen “PHP Notice: Undefined index ….” şeklinde bir hata almaktaydım. Bende çözüm yolunu araştırdım ve buldum oldukça basit.
Öncelikle hatanın sebebini açıklayayım. Aslında bu bir hata değildir sadece bir uyarıdır. Yani yazdığınız kod çalışıyor fakat sisteminiz size uyarı vermektedir. Tanımsız bir değişken çekmeye çalışıyorsunuz anlamına gelmektedir. Bu uyarının çözümünü örneklerle açıklayarak yapalım;
<?php $a=1; if($a==1) $q="deneme"; else $z="denememe"; echo $q.$z; ?>
Burada $q’ya “deneme” değerini atayacaktır, koşulu sağlamadığı için $z değişkenine hiç bir değer atmayacaktır. Echo ile $z’yi yazdırmaya çalıştığımızda bize “PHP Notice: Undefined index z ………. ” şeklinde uyarı verecek ve ekrana deneme yazacaktır.
Bunu engellemenin iki yolu var birinci yol bu hataya çözüm olabilecek fakat günü kurtarmaya yönelik olan bir yoldur. İkinci yol ise daha sağlam olanıdır.
1- Sayfanın başına şu satırları ilave etmemiz gerek:
<?php error_reporting(E_ALL ^ E_NOTICE); ini_set('error_reporting', E_ALL ^ E_NOTICE); ?>
2- Değişkeni yazdırmaya çalışmadan önce isset ile kontrol ettirmek:
<?php $a=1; if($a==1) $q="deneme"; else $z="denememe"; if(isset($q) echo $q; if(isset($z)) echo $z; ?>
Yani önce değişkenin tanımlanıp tanımlanmadığını kontrol edip, sonra yazdırıyoruz.
Kolay Gelsin…
Diğer Benzer Yazılar:
- Php ile Rastgele Kombinasyon Üretme ve Uniqeu Id Üretme
- Html, Php ve Mysql’de Türkçe Karekteri Sorunu Çözümü
- Php ile Tc Kimlik Numarası Kontrolü
- Php Tek Sayıları Bulan Program
- Php ile Şifreleme Yöntemi
Çok Teşekkürler.
error_reporting(0); ekleseniz dahi yeter aslında 🙂