Header Ads

Parse error: syntax error, unexpected Hatası







bu hata benim bildiğim kadarıyla php sürüm hatası


yani karakterlerin kullanımı bir sonraki php sürümünde değişir
bu yüzden sayfa görüntülenemez ayrıca phpmyadmin sürüm yükselmeside aynı hatalara neden oluyor


hata veren karakteri silmek fonksiyonu pasif hale getirir
başka bir dosyada başka bir hataya neden olur
ve php.ini deki bazı modüllerin pasif olmasından kaynaklanabilir

özellikle xml modüllerinin pasif olması

olduğu gibi çalıştırmak gerekiyor

herzaman değil tabi..

örnek:

hata $deger = $_POST["isim"]; bunda değil

header("Content-Type: text/html; charset= utf-8") bu arkadaşın noktalı virgül hakkını vermemişin oda isyan çıkarmış


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.

Kod:
if (5 > 4) {
echo 'IF ';
if (1< 0) {
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.

Kod:
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.

Kod:
if (5 > 4) {
echo 'testing error '
if (1< 0) {
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

Kod:
if (5 > 4) {
echo 'parse error answer ',
if (1< 0) {
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.

Kod:
if (5 > 4) {
echo 'error due to missing quote ;
if (1< 0) {
echo 'Inner IF';
}
} 

Hiç yorum yok

Blogger tarafından desteklenmektedir.