PHP Rehberi – Oturumlar (Session)

P

Başlarken;

PHP’nin nasıl bir dil olduğuna ” PHP 5N1K? “ başlıklı makalemde değinmiştik. Temel kullanımına da ” PHP Rehberi – Giriş “ başlıklı makalemden ulaşabilirsiniz. Bu makalemde PHP’de Oturumlardan (Session) bahsedeceğiz.

İzlenecek Yol Haritası;

  • Session nedir?
  • Session oluşturma ve değer atama.
  • Session kullanma.
  • Session güncelleme.
  • Session silme.
  • Session kontrol.

Session (Oturumlar) Nedir?

Bir önceki ” PHP Rehberi – Çerezler (Cookie) “ makalemde “cookie” yapısına değinmiştik. Mantık olarak “session”, cookie yapısına benzer şekilde çalışır. Yani temeli dizilere dayanır.

Cookie ve Session arasında ince bir çizgi vardır. Cookie tarayıcı tarafında tutulan bir veridir. Belirlenen süre boyunca hayatta kalır. Session ise sunucu tarafında tutlan bir veridir. Tarayıcıya PHPSESSID adında belirli bir ID değerine sahip çerez oluşturulur. Oluşturulan bu ID değeri ile sunucuda oluşturduğumuz Session değerlerine ulaşırız.

Tarayıcıdan bulunduğunuz sekmeyi kapatmanız durumunda Session’lar temizlenir. Bu sebepledir ki oturum açtğınız bir forum sayfası düşünelim. Sekmeyi yanlışlıkla kapattınız ve tekrar giriş yapmanızı istedi. Çünkü oturum yönetiminde de kullanılan sessionlar silindi.

Session Oluşturma;

Session’larda işler biraz daha rahat ilerler. Bir dizi nasıl oluşturuluyor ise Session’lar da aynı şekilde oluşturulabilir. Dizi değişkenimiz ise “$_SESSION” olacak. Unutmamanız gereken tek adım Session’un “key => value” çifti olması gerektiğidir. İndex değeri kullanılmamalıdır.

Bir diğer önemli husus ise Session kullanılmadan “session_start()” ile çalıştırılmalıdır.

<?php
     session_start();
     $_SESSION["kullanici_adi"] = "mustachedocto";
     $_SESSION["parola"] = "12345678";
?>

” PHP Rehberi – Diziler (Array) “ makalemi okuduysanız iç içe dizi yapısını hatırlarsınız. Session’lar da bu iç içe dizi oluşturulmasına izin verilir ve sonuç olarak şöyle bir yapı elde edebiriz.

<?php
     session_start();
     $_SESSION["kullanici"] = array(
          "adi" => "Yasin",
          "soyadi" => "Erarslan",
          "kullanici_adi" => "mustachedocto",
          "parola" => "12345678"
     );
?>

Session Kullanma;

Atama yaptığımız değişken adı “$_SESSION”. Erişim de bu değişken üzerinden yapılır. Tek dikkat edilecek nokta “session_start()” fonksiyonudur.

<?php
     session_start();
     echo $_SESSION["kullanici_adi"];
     // Ekrana "mustachedocto" yazdırır.
     echo $_SESSION["kullanici"]["adi"];
     // Ekrana oluşturduğumuz iç içe dizineki "Yasin" değerini yazdırır.
?>

Session Güncelleme;

Yapılacak tek işlem “key => value” çiftindeki “key” değerine ulaşmak ve yeni “value” değerini eklemek olacaktır

<?php
     session_start();
     $_SESSION["kullanici_adi"] = "benyenikullaniciadi";
     // "kullanici_adi" anahtarı artık "benyenikullaniciadi" değerini taşır.
?>

Session Silme;

Cookie’ler bu konuda bizi çok uğraştırmıştı ve “unset()” fonksiyonunu gözlerimiz araıp durmuştu. Evet artık “unset()” fonksiyonuna kavuştuk. Session’lar bu fonksiyon ile silinebilirler.

<?php
     session_start();
     unset($_SESSION["kullanici_adi"]);
?>

Session Kontrol;

Tanımladığımız bir Session’u başka bir PHP dosyasında kontrol edeceğimizi varsayalım. Bunu “isset()” fonksiyonu ile sağlayabiliriz. Fakat lütfen ve lütfen “session_start()” fonksiyonunu unutmayalım 😀

<?php
     session_start();
     echo isset($_SESSION["kullanici_adi"]);
     // Ekrana "true" veya "false" bir değer yazdırır.
?>

Umarım ki “PHP Rehberi – Oturumlar (Session)” makalesi hoşunuza gitmiştir. Keyifli ve Bol Bug’lu Günler Dilerim 🙂

Yasin Erarslan

Yorum Ekle

Kategoriler

En Son Yazılar

En Son Yorumlar