IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 15 Temmuz 2014, 11:10   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
PHP hata mesajı okuyabilmek




PHP programlama dili de, diğer bir çok programlama dilinde olduğu gibi, herhangi bir hata durumunda kullanıcıyı elinden geldiğince bilgilendirir. Elinden geldiğince diyorum çünkü bir tek hatayı çözmediği kalır geriye, daha ne yapsın? Hatanın bulunduğu satırdan tutun da, tam olarak ne hatası olduğu, neyi unuttuğunuz ya da neyi fazla koyduğunuzu gibi temel parametreleri size hata mesajı halinde gösterir. Peki bizler, php web programcıları olarak bu hata mesajlarını ne kadar okuyabiliyoruz?
Aslında php geliştiricilerinin çok büyük bir sorunudur hata mesajı okumak. Hemen hemen her platformda geliştiricilerin karşılaştıkları hatalar ile ilgili mesajlarını görürsünüz. Hata mesajını yazarlar ve sorarlar, nerede hata yaptım diye… Oysa ki yapmaları gereken sadece php motoru tarafından kendilerine söylenen hata mesajını okumaktır. Okudukları zaman elleriyle koydukları gibi bulurlar hatanın sebebini.. Dilerseniz en çok karşılaşılan hatalara örnekler ile değinelim biraz.
Hata mesajı örnekleri

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
 
echo 'Merhaba Dünya'
 
?>

Yukarıdaki kodları gördüğünüz an hemen söylemişsinizdir aslında satır sonunda noktalı virgül unutulduğunu. Ama bunu göremeyip, üstelik kodlara ya da hata mesajına bakmadan çeşitli platformlarda sorular soran arkadaşlar var. Bir de bunun hata mesajını yazalım isterseniz:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Parse error: syntax error, unexpected end of file, expecting ‘,’ or ‘;’ in C:wamp
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
on line 5

Gördüğünüz gibi, mesaj çok açık. İngilizce bilmeseniz bile, google translate kullanarak, bunun bir ayrıştırma hatası olduğunu söylebiliriz. Ancak hata mesajını okurken de dikkat etmek gerek. Öyle ki, mesajda 5. satır olduğu yazıyor ama aslında demek istediği hatanın 5. satırda olduğu değil. 5. satırdaki işlemi yapamadığını, çünkü öncesinde bir söz dizimi hatası olduğunu söylüyor php bize… Ve hatta olası eksiklerin virgül ya da noktalı virgül olabileceğini de söylemeden edemiyor.
Yukarıdaki örnek bile yeterli aslında hata mesajının nasıl okunması gerektiğini göstermeye ama bir örnek daha verelim isterseniz.,

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
 
echo 'Fatih'in iki farklı adı var.';
 
?>

Yukarıda ki kodlardan alacağınız hata mesajı da aşağıdadır:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Parse error: syntax error, unexpected ‘in’ (T_STRING), expecting ‘,’ or ‘;’ in C:wamp
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
on line 3

Hemen hemen bir önceki ile aynı hata mesajı. Fakat burada nokta atışı yapmış ve hatanın satır üçte olduğunu söylemiş. Aslında biraz incelediğinizde hiç bir fark olmadığını görürsünüz. Mesajda bize, ‘in’ diye birşey olamayacağını, bunun bir hata olduğunu söylüyor. Çünkü Fatih kelimesinden sonra tek tırnak var ve bizim sevgili php motorumuz tek tırnaktan sonra nokta, virgül ya da noktalı virgül arıyor. Göremeyince de soruyor, in yerine virgül ya da noktalı virgül mi koymak istedin acaba diye..
Biraz da insanı çıldırtan “Notice” damgalı hata mesajlarına bakalım. Aslında bunlar hata mesajı değil, bildirimdir. Ve genelde geliştirme aşamasında php geliştiricisini uyarmak için gösterilir. Tabi siz son kullanıcıya sistemi sunduğunuzda hata mesajı göstermeyi kapatmıyorsanız o zaman başka
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Bir tane notice damgalı hata mesajını örnekleyelim:

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
 
echo $_GET['dizi'];
 
?>

Kodlara baktığınızda hiç bir problem yok gibi duruyor değil mi? Ancak kocaman bir notice damgalı hata mesajı sizi bekliyor olacak çalıştırdığınızda:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Notice: Undefined index: dizi in C:wamp
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
on line 3

Gördüğünüz gibi, tanımsız index ‘dizi’ şeklinde bir uyarı mesajı aldık. Neden böyle bir mesaj aldığımızı yorumlayalım hemen. Çünkü adres çubuğundan gelmesini beklediğimiz parametreyi ekrana yazdırmak istiyoruz ve $_GET global dizisi içinde adres çubuğundan herhangi bir parametre gönderilmediği eleman olmaz. Hata mesajımızda da bize bunu söylüyor aslında, ‘dizi isminde bir indeks tanımlanmamış’ diyor. Fakat hata.php?dizi=fatih dersek ekrana hatasız bir şekilde fatih yazdığını görüyoruz. Öyleyse bu hatadan kurtulmak için ne yapmamız gerekiyor? Doğru kod şudur arkadaşlar:

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
 
echo isset($_GET['dizi']) ? $_GET['dizi'] : '';
 
?>

Yukarıdaki kod ile, eğer dizi indeksi tanımlıysa ekrana yazdır, değilse yazdırma dedik. Kodu çalıştırdığımızda da göreceğimiz üzere ilk etapta ekrana hiç bir çıktı vermeyecektir. Ancak hata.php?dizi=fatih dediğimizde fatih değerini ekranda görebiliriz. Yukarıdaki kod size yabancı geldiyse hemen aşağıdaki kodun ikiz kardeşi olduğunu söyleyelim:

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
 
if(isset($_GET['dizi'])){
    echo 
$_GET['dizi'];
}else{
    echo 
'';
}
 
?>

Fazlaca hata mesajı ve bu mesajların ne işe yaradığı ile ilgili yazılabilecek sayfalarca cümle vardır ancak biz burada keselim. Çünkü mürekkep biter, yazacaklar bitmez.
Sonuç olarak;
Hata mesajlarının sonundaki satır sayısını değil, lütfen hata mesajlarını okuyalım. Çünkü çözüm her zaman hata mesajında gizlidir. Tam tersi bir durum size sadece vakit kaybettirir. 6 dakikada yazdığınız kodun bir hatası için 6 saat ve belki daha fazla zaman harcamak istemiyorsanız, 6 saniye daha verin ve mesajı dikkatlice okuyun.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
hata, mesajı, okuyabilmek, php


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Hata mesajı Rhall Unreal IRCd 11 11 Ocak 2013 18:18
Bazı serverlarda hata mesajı Beklenti mIRC Scripting Sorunları 2 04 Haziran 2011 23:08
Nedir bu hata mesajı yardım ! GüneŞ vBulletin Sorunları ve Çözümleri 3 27 Nisan 2008 01:42
2 hata mesajı hakkında yardım edermisiniz ? Enigmatic Unreal IRCd 7 09 Şubat 2007 14:48
Giriş Mesajı ßotunda Hata NeLix mIRC Scripting Sorunları 12 26 Ağustos 2005 10:41