Bu yazıda, oturum açma işlemi sonrası senaryolar için geçerli sayfalarda karşınıza çıkabilecek çözümü basit ama oldukça kafa karıştırıcı bir problemi kısaca işleyeceğiz. Yazı genel olarak session_start(); satırının kod içerisindeki konumu ve UTF-8 BOM (Byte Order Mark) ile ilgili sancılı problemi izzah etmek suretiyle devam edecek. UTF-8 BOM problemini başka bir yazıda daha detaylı olarak işleyeceğimize de eklemek istiyorum.
Aşağıdaki gibi bir PHP scripti yazdığımızı düşünelim. Kullanıcı, şifre bilgisini girerek erişim sağlıyor. Sonrasında bir veriyi silmek istiyor ve aşağıdaki sayfaya geliyor. Tabi en başta bir session_start(); gerekli, çünkü yetkisi olmayanların giremesini engellemeliyiz.
Bu sayfaya geldiğimiz zaman hata loglarında şöyle bir satır görebilirsiniz:
Burada şu iki durumu kesinlikle incelememiz ve düzeltmemiz gerekecek:
Yazının başında söylediğimiz gibi, UTF-8 BOM durumunu başka bir yazıda daha detaylı anlatacağız, ancak kısaca bahsetmek gerekirse BOM hepinizin görünce anlayacağı sancılı karakter bütünü olan,  bu işarettir. Web sitesinin karakter yapısını bozmasından dolayı erişim sorunu yaratabilir. Sayfanın en üst tarafında konumlandığı için session_start(); üstünde yer alabilir. Bu sebeple de oturumların sağlıklı taşınmasını engeller.
Eğer web projeleri geliştiriyorsanız, bir IDE kullanmanız kuvvetle muhtemel. Örnek olarak Dreamweaver kullandığınızı düşünelim. İlgili sayfa seçili iken üst menüde “Değiştir/Sayfa Özellikleri -> Başlık/Dil Kodlaması” yönergesini seçerek, BOM check-box’undaki seçimi kaldıracağız.
Adobe DreamWeaver Karakter Kodlama Düzenleme
İlgili ayarlama işlemleri yapıldığında sayfa tekrar çalıştırıldığında hatasız bir çalışma göreceksiniz.
Sonraki yazılarda görüşmek üzere!
My Name is A. Gokhan SATMAN, and I am a software engineer, Author and game developer. gokhansatman.com
Comment:*
Nickname*
E-mail*
Website
Bir dahaki sefere yorum yaptığımda kullanılmak üzere adımı, e-posta adresimi ve web site adresimi bu tarayıcıya kaydet.
+ 1 = on
CAPTCHA (Şahıs Denetim) Kodu *