4 Ağustos 2010 Çarşamba

php include , fonksiyon çakışması

Hazırlamakta olduğum sistemde 2 gündür başımı ağrıtan hatayı sonunda buldum.

Temel mantığı şablon olarak görev yapmak olan index.php içerisinden include edilen ana içerik gayet düzgün olarak php html css jquery ve mysql bağlantı ve kodlarını içermekle beraber çalışmakta idi. Daha sonra sitenin sol tarafında yeni bir alan açıp oraya da farklı içerik ve menüler eklemek istedim.
Ayrı bir dosyada jquery menüyü düzenledim çalışır hale getirdim. Soldaki menü geldiği halde orta kısımdan bir tepki alamıyordum. Soldakini kaldırınca orta kısım düzgün çalışıyodu.
İki sayfayı bir arada çalıştırmayı denemek adına kodları arka arkaya ekledim ve evet her ikisi de beraber düzgün çalışabiliyorlardı.

Anlamadığım bu sorun nedeniyle dosyaları ayrı ayrı nerede hata olabilir diye inceledim. Bu arada bir çok ufak tefek hata yaratabilecek kodu temizledim fakat sorun devam ediyordu.

Sonunda aklıma gelen şey sorunun çözümü oldu. Soruna neden olan aslında fonksiyonları barındıran func.php dosyasının solda ve ortada iki php sayfasında da include edilmesiydi. İki include la beraber gelen func.php içerisindeki fonksiyonlar 2 kere tanımlanmış olduğundan ikinci yüklenen sayfa hangi fonksiyonu kullanacağını seçemiyor ve çalışmamayı tercih ediyordu.

func.php include olayını komple index.php ye taşıyıp diğer bütün sayfalardan kaldırdım. Şu an sorunsuz çalışabiliyorum.

Hiç yorum yok:

Yorum Gönder