Reklam

Reklamlar

14 Haziran 2010 Pazartesi

PHP'de Parse Hataları ve Çözümleri

Parse hataları php ile çalışırken en çok karşılaşılan hatalardan birisidir.
Parse hataları, sayfanızda herhangi bir sözdizimi (syntax) hatası oluştuğunda yorumlayıcı tarafından ortaya çıkarılırlar.

En çok görülen parse hatalarına örnek verecek olursak;
1. Parse error: syntax error, unexpected $end in … .php on line …
2. Parse error: syntax error, unexpected T_IF/T_WHILE/T_FOR, expecting ‘{‘ in … .php
3. Parse error: unexpected T_IF, expecting ‘,’ or ‘;’ in … .php on line …
4. Parse error: unexpected T_STRING, expecting’,’ or ‘;’ in … .php on line …

Bu hataları örnekleyerek açıklayacak olursak:

1. Parse error: syntax error, unexpected $end in

Hata sebebi: Kullanılan 1. if sorgusu ‘}’ ile kapatılmamış. Böyle bir durum oluştuğunda yorumlayıcı size sayfanın son satırını verecektir.

PHP- Kodu:
if (4) {
   echo 
'IF ';
   if (
10) {
       echo 
'Inner IF';
   } 
2. Parse error: syntax error, unexpected T_IF/T_WHILE/T_FOR, expecting ‘{‘ in

Hata sebebi: Fonksiyon açma ayracı bulunamadı. Bu yüzden hatayı if e yükleyecektir. Hata raporları: T_IF for if, T_WHILE for while, T_FOR for.
Fonksiyonu açarken ayracı fonksiyon isminden sonra koymalısınız. Bu yüzden yorumlayıcı ilk açma ayracını arayacak ve hatayı if e rapor edecektir.

PHP- Kodu:
function test ()
 if (
1>2) {
   echo 
' IF ';
  }
  for (
$i=0$i<=5$i++) {
    echo 
"For $i";
  }

3. Parse error: parse error, unexpected T_IF, expecting ',' or ';' in … .php on line …

Hata sebebi: İlk “echo” dan sonra konulmayan ‘;’. Bu yüzden yorumlayıcı hatayı ikinci if e yükleyecektir. İlk “echo” nun devam etmesini bekliyor ama devam etmiyor. Bunun yerine hatayı if ifadesine yüklüyor.

PHP- Kodu:
if (4) {
   echo 
'testing error '
   
if (10) {
      echo 
'Inner IF';
   }

Satır sonlarında ‘;’ yerine ‘,’ kullanırsanız da aynı hata ile karşılaşırsınız. Hata şöyle karşınıza çıkacaktır: parse error, unexpected T_IF in …
PHP- Kodu:
if (4) {               
   echo 
'parse error answer ',
   if (
10) {
      echo 
'Inner IF';
   }

4. Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in … .php on line …

Hata sebebi: İlk “echo” “ ’ ” eksik olduğu için kapatılmadı. (‘) ile açtığınızda (“) ile veya (“) ile açtığınızda (‘) ile kapatırsanız da aynı hata ile karşılaşırsınız.

PHP- Kodu:
if (4) {
   echo 
'error due to missing quote ;
   if (1< 0) {
      echo '
Inner IF;   
   }

Link Verme Konusunda Dikkat Edilmesi Gerekenler !

Arkadaşlar bir çoğumuz link değişimi yaparız yada link veririz .
Ama bu link değişiminde'de yada bir yere link verirken dikkat etmemiz çok önemli bir husus var .
Tabiiki bu sadece değişim için değil mesela facebook 'ta sitenizi tanıtırken 'de dikkat etmeniz gerekiyor .

Gelelim neye dikkat edeceğimize ...

Yapmamız Gereken link kodu :

a href="http://phpogrenelimmi.blogspot.com" title="Php Öğren" > Php öğren
 Gördüğünüz gibi bu şekilde kullanım'da sitenize değişimin büyük yararı olacaktır. Mesela biz google 'ye "php öğren" yazınca bu sitenin çıkmasının olasılığını arttırmış oluyor . Gelelim Diğer duruma :

Kötü Link Kodu :

a href="http://phpogrenelimmi.blogspot.com" title="tıkla ve gör">Süper site için tıklayın

a href="http://yoursite.com/basketball" target="_new">
http://yoursite.commore..="" src="http://www.somesite.net/pic1.jpg">

Gördüğünüz gibi sitemizle alakası olmayan kelimelerin kullanılması bize bir katkı sağlamıyor. Yalnızca ilk verdiğim koddaki "Süper site için tıklayın" kelimesini googleye yazınca çıkma olasılığını arttırır . Bununda size bir yararı yoktur .
ebook library