Session Kullanımı
Session yani oturum sayfalar arasın veri akışı için kullanılan ve genellikle geçici bir klasör içerisinde dosya oluşturarak çalışan bir yöntemdir. Bir ziyaretçi için kaydedilen veriler, yine aynı ziyaretçi tarafından her sayfada erişilebilir. "session_start()" "session_destroy()" fonksiyonları ve "$_SESSION" süper global değişkeni giriş düzeyinde bize yeterli olacaktır.
Sunucumuzda oturum açılması otomatik değilse, yani session.auto_start On değilse, oturumun açılacağı ve oturum bilgilerinin kullanılacağı her dosyada session_start(); fonksiyonunu çalıştırmamız gerekir. Fonksiyon çağırıldığında, ziyaretçiye özel bir takip numarası(session_id) verilir. Bu takip numarası, adres satırında bir $_GET degeri olarak taşınabilme özelliğine sahip olsa da, genellikle çerez(cookie) ile kullanıcı bilgisayarına kaydedilir. Çerezler kullanıcılara ancak header(dosya niteliklerini tarayıcıya bildiren kısım) bilgileri ile gönderileceğinden, muhakkak </head> tagından önce yazılmalıdır. Ben hiç "</head>" tagı kullanmayım o halde deme gibi bir lüksünüz yok çünkü tarayıcıya giden, header bilgileri hariç ilk veriyle beraer, header bilgilerinin son bulduğu kabul edilir. Yani ekrana bir boşluk koysanız veya enter ile alt satıra geçseniz dahi sorun yaşarsınız. Bu yüzden sayfanın en başına ya session_start(); yazarak oturumu açın ya da ob_start(); ekleyin ki tarayıya bilgiler gönderilmeden önce tampona kaydedilsin.Böylece sessionı istediğiniz yerde açabilesiniz.
Şartlar sağlandıysa artık oturumumuzu sorunsuz kullanabiliriz. $_SESSION değişkenine atadığımız değerler artık session dosyasına kayıt edilecektir.
<?php // kayit.php dosyasi echo 'IP adresiniz kayıt edildi'; ?>
yukarıda verilen kayit.php dosyasına erişen bir kişinin ip adresi o an kaydedilir ve oturum sonlanmadığı sürece
<?php // ornek.php dosyasi ?>
ornek.php dosyasını çağırdıkça ip adresini görebilir.
<?php // cikis.php dosyasi echo 'Oturum bilgileriniz silindi'; ?>
cikis.php dosyası da oturum sonlandığını ve verilen silinmesi gerektiğini söyler.
Burada atlamamanız gereken şey, sonlandırmak için bile oturumun başlatılması şarttır. eğer cikis.php de session_start(); fonksiyonu çağırılmamış olsaydı oturum bilgileri silinmezdi.
Sonraki Sayfa: Güvenli Session uygulama örnekleri