PHP Standartlarında Kodlama 2: Sessionlarla Çalışmak
Merhabalar, daha önce PHP Standartlarında değişken tanımlama ve bunların en doğru kullanımını anlatmıştım, şimdi ise sessionlara el atacağım. Sessionların bir çok farklı kullanım şekli var fakat burada en sağlıklısını açıklamaya çalışacağım, uzun birşey değil zaten. Yine de, bir çok kişinin yaşadığı uyum sorunları(PHP versiyonları arası) engellenmiş olacak.
Session bildiğiniz gibi aynı oturum dahilinde sayfalar arasında değişken taşımanızı sağlar. Yani a.php sayfasında tanımlanacak olan bir değişkeni b.php sayfasında da kullanmanız gerekiyorsa, sessionlar yardımınıza koşuyor.
En önemli şey, kesinlikle ama kesinlikle, globals kullanmayın. Sadece session kullanın. Çünkü globals de yapabileceğiniz ufacık bir hata ile sadece sizin siteniz de değil, bütün sunucuyu tehdit altına atarsınız.
Sayfada sessionlarla çalışılacaksa, ilk olarak, sayfanın en üstlerinde bir yer olması daha iyi olur,
kodunu ekliyoruz. Bu kod eklenmediği sürece, sayfada hiçbir şekilde session çalıştıramazsınız. Yani yazdığınız kod çalışmıyorsa ilk önce bunu ekleyip eklemediğinizi kontrol edin, bilmemkaç saat kodlarda hata aramayın(başıma gelmişti :) ). Bu kodu ekledikten sonra, sayfada sessionlarla çalışabiliriz.
Burada PHP standartlarına göre dikkat etmemiz gereken şey şu. session_register() veya HTTP_SESSION_VARS kullanacağımıza, session tanımlarken ve bunlarla işlem yaparken, $_SESSION[] kullanmak daha sağlıklı.
-
$_SESSION['uyeadi'] = "Bartuc"; // tanımladık
-
$uyeninadi = $_SESSION['uyeadi']; // kullandık
Session'u bitirmek için ise, unset() kullanabiliriz veya boş bir değer verebiliriz, farketmez, hangisi kolayınıza gelirse. Yine de, session'dan tamamen kurtulmak için unset kullanmak daha iyi.
-
$_SESSION['uyeadi'] = ""; // sessiona boş bir değer verir
Burada belirttiğim şey PHP standartlarında olduğu için, localhostta çalıştı sunucuda çalışmadı ya da tersi durumları bu kodlarla yaşamazsınız. Rahat rahat kodlar, heryerde rahat rahat kullanabilirsiniz :)
6 yorum yapılmış
Yorum Yapın


Harika bir makale olmuş eline sağlık cok güzel bilgiler.
merhaba… güzel bir yazı olmuş.
yazıda birşey kafama takıldı :)
bu session’daki değeri boşaltmak için
unset($_SESSION['uye_adi']) kodunu her sayfanın sonunda mı kullanıyoruz yoksa çıkış işlemi yapmak için mi???
Teşekkürler
Merhaba,
unset($_SESSION['uye_adi']) kodunu, bu sessionu silmek için kullanıyoruz. Mesela bir üyelik sistemini düşünürsek, her sayfada bunu silmek mantıklı olmayacaktır, bunun yerine kullanıcı sistemden çıkış yaptığında(logout) session’u silmek daha mantıklı olacaktır. Tarayıcı penceresi açık kaldığı sürece her php sayfasında $_SESSION['uye_adi'] kodu çalışacaktır, fakat unset yaptıktan sonra hiç bu session tanımlanmamış gibi olacaktır.
Cvp için teşekkürler..
Düşündüğüm gibiymiş :)
goz zevki acisindan, = “” yerine, NULL yazsak daha iyi olmaz mi? malum basliktanda anlayacagimiz gibi “php standartlarinda kodlama”
Uyumluluk konusunda sorun çıkarmayan bir nokta olduğu için buna takılmadım, ama dediğiniz doğru tabi. NULL da kullanılabilir.