| 23:02 01.03.2010 |
 Yazar : fatihrober
Seviye:
|
cevap
sadece fonksiyonların yazıldıgı sayfalardakı fonksıyonlarıda su sekılde duzenlersen bı sorun cıkmaz,ama unutma yazacagın sayfada sadece fonksıyonlar olacak,fonksıyon dıında degısken olmayacak,olsa bıle degerı degısen degısken olmayacak
neyse;
mesela fonksiyonun adı deneme olsun
function deneme(){}
yenine if(!function_exists('deneme')){
function deneme(){
}
}
gıbı duzenlersın,include'dan meydana gelen redeclare hatasını kapatmıs olursun,ancak bu sekılde yazdıgında yenıden cagırdıgın sayfadakı degısken oncekı halıne gelır,yanı degıskenı degıstırdıgını dusunsen bıle eskı halıne doner ve hata verebılır,sen eger sadece fonksıyon yazdıgın sayfayı cagıracaksan bu sekılde yaz
|
| |
|
|
| 22:02 17.02.2010 |
 Yazar : muratsac
Seviye:
|
cevap
herşeyi silip sakin kafayla tekrar yazdım .. gördümki bir saydaya birden fazla aynı dosyayı include etmişim. bu nedenle aynı sayfada aynı isimde 3 tane fonksiyon geliyor ve PHP hangisini çağıracağını bilemediği için hata veriyor. Düzelttim ve şimdi sorun yok. ilgin için teşekür ederim.
|
| |
|
|
| 19:19 17.02.2010 |
 Yazar : fatihrober
Seviye:
|
senın sorunu cevabı
aşagıda yazdıklarımı ıyıce oku,eger aradakı farkı anlarsan include/require ve include_once/require_once komutlarını nerede kulanacagını anlarsın,eger sureklı ınclude kulandın ve bır dosyayı 1 den fazla cagırıyorsan sana bu hatayı verir
|
| |
|
|
| 19:16 17.02.2010 |
 Yazar : fatihrober
Seviye:
|
cevap
burdan sana yardım etmek zor,her sey senın yazmıs oldugun algorıtmaya baglı,include/require requıre_once/include_once komutlarını anlatmayacagım zaten ınternette bir sürü kaynak var ordan okursun,ancak oradakı yazılarda bırsey unutuluyor,genelde butun hepsı sende olusan hatanın olmaması ıcın require_once kullanın derler,ancak unuttukları bır sey var,örnekle acıklayayım sana,elınde a.php ve b.php dosyaların olsun,a.php senın ana php sayfan.b.php ıse a.phpdekı fonksıyonların yazılı oldugu php dosyan.
a.php nin icerigi su sekılde olsun
require_once('baglanti.php');
require_once('b.php');
anabaglanti_kur();
işlem kodları vsvs..
b.php ise su sekılde olsun
function anabaglanti_kur(){
require_once('baglanti.php');
mysql_connect();
...
}
seklınde olsunlar,sen a sayfasında baglanti.php dosyasını bır kerelık cagıracaksın dedın,b.php sayfasındada aynı sekılde yaptın eger dosya bır kere cagrılmıssa bana yeter daha fazla kalabalık yapıp baglantı.php sayfasını cagırma dedın,yanı a.php sayfasında dosya 1 kez cekıldıgı ıcın b.php de bu dosya cekılmeyecek ancak senın b.php dekı fonksıyonda baglanti.php nin içindekı fonksiyonlara ıhtıyacın var,e noacak sımdı,fonksıyon yanlıs calıstı,e hata nerede,
sana tavsıyem eger sayfa ıkı kere ustuste gelmeyecekse hep include/require kulanman,ama ben onun konrtolunu karıstırırım dıyorsanda a.php gıbı yazdıgın sayfalarda hep require_once/include_once kullan,fonksiyonların ıcındede include/require kullan,
|
| |
|
|
| 16:37 17.02.2010 |
 Yazar : muratsac
Seviye:
|
Cannot redeclare hatası!
Merhaba;
Başlıkta geçen hata bir fonksiyonun iki kez tanımlanması sonucu oluşmakta.. Bu hatayı bende alıyorum ama iki kere oluşturduğum için değil include ettiğim için. Şimdi şöyle bahsedeyim..
index.php içinde blok.php ve aktarimlar.php include edilmiş durumda
blok.php içine aktarimlar.php include edilmiş ve TabloAc(); TabloKapat(); fonctionları ile çerçeve hazırlandı.
aktarimlar.php içine tablo.php include edildi.
index.php açıldığında declare hatası alıyorum.. sistemi daha öncede böyle yapmıştım sorun yoktu şimdi sorun var.. çözümü nedir?
|
| |
|
|