PHP Standartlarında Kodlama 2: Sessionlarla Çalışmak

Php | | 11 Ekim 2008

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,

session_start();

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.

unset($_SESSION['uyeadi']); // session'u siler
$_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 :)

Rastgele Yazılar

Bu yazı , , kelimeleriyle etiketlenmiştir. Bu yazıyı beğendiyseniz Delicious, Twitter, Facebook gibi sitelerde paylaşabilirsiniz. Yazılarımızı düzenli olarak takip etmek içinse Rss abonemiz olabilirsiniz.

PHP Standartlarında Kodlama 2: Sessionlarla Çalışmak yazısı için 7 yorum yapılmış...

  1. prefabrik diyor ki:

    Harika bir makale olmuş eline sağlık cok güzel bilgiler.

  2. deneme-yanilma diyor ki:

    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

  3. Bartuc diyor ki:

    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.

  4. deneme-yanılma diyor ki:

    Cvp için teşekkürler..

    Düşündüğüm gibiymiş :)

  5. Onur diyor ki:

    goz zevki acisindan, = “” yerine, NULL yazsak daha iyi olmaz mi? malum basliktanda anlayacagimiz gibi “php standartlarinda kodlama”

  6. Bartuc diyor ki:

    Uyumluluk konusunda sorun çıkarmayan bir nokta olduğu için buna takılmadım, ama dediğiniz doğru tabi. NULL da kullanılabilir.

  7. EfsaneFenerli diyor ki:

    Birde örnek verseydiniz küçük bi şekilde ..

Yorumunuzu Yazın