Linkedin Instagram Facebook Twitter Mail Youtube Whatsapp

Php Session (Oturum Yönetimi)

Php de session kullanımı cookie’lere göre biraz farklıdır. Cookie’lerde fonksiyon şeklinde tanımlanırken session’da böyle bir mantık yoktur. Cookie bildiğiniz gibi belirlenen süre içerisinde saklanır ve belirlenen zamanda silinir. Session ise kullanıcı sayfayı kapattığında silinir. En çok kullanılan alan ise üye tabanlı sitelerdir. Bir kullanıcı siteye girmek için eposta , kullanıcı adı veya şifre yazdığında veritabanından bilgi istemek için kullanılır. Eğer sessiondeğerleri aynıysa oturum açılıp veritabanındaki bir bilgi (Örneğin kullanıcı adı) gösterilir. Sitelerde dikkat ederseniz özellikle forumlarda Hoşgeldin , İsim şeklinde bir kullanım görürsünüz.

Cookie ve Session Farkları

Yukarıda da bahsettiğim gibi session‘lar cookie’lerden farklı olarak tarayıcıya bilgi göndermez ve kullanıcı ne zaman çıkış yaparsa o zaman silinir. Dizi şeklinde bir tanımlama yapılır ve çoklu dizi de kullanılabilir. PHPSESSID kullanımı ile sizin verilerinizi çıkış yapana kadar bir değişkende saklar. Belirttiğim gibi bir siteye üye olduğunuzda o bilgiler kaydedilir veritabanına ve siz giriş yapacağınız zaman session değerleri eşit ise sizin bir bilginizi alıp ekrana basar.

Session Kullanım Alanları

Session ile kullanıcı sitenizden çıkış yapana kadar onu sitenizde tıpkı giriş yapmış gibi tutabilirsiniz. Bundan farklı olarak bazı sepet ve sanal alışveriş uygulamalarında da session mantığını kullanabilirsiniz.

Session Oluşturma

Session oluşturmak için $_SESSION şeklinde bir global dizi tanımlamamız gerekir. Bu dizinin içerisinde bilgileri saklayıp istediğimiz zaman kullanabiliriz. Her session işlemi yapıldığında en baş kısıma session_start() komutu gelmelidir. Bazı uygulamalarda direk bağlantı sayfasında session tanımlanır ve siz eğer tekrardan bu fonkisyonu çalıştırırsanız hata alırsınız.

session_start();
$_SESSION[‘selam’] = ‘Merhaba Dostum’;

Bu şekilde bir kullanım söz konusu olabileceği gibi bu mesaj session’unu da dizi (array) şeklinde tanımlayabiliriz. Normal dizi tanımlar gibi düşünebilirsiniz. Şöyle ki ;

session_start();
$_SESSION[‘dil’] = array(‘İngilizce’, ‘Almanca’, ‘Fransızca’);

Session Silme

Session silmek için unset() fonksiyonunu kullanmamız yeterli olacaktır. Şöyle ki ;

session_start();
$_SESSION[‘Kitap’] = ‘Sayfa’;
unset($_SESSION[‘kitap’]);

Tüm Sessionları silme

Tüm sessionları silmek için session_destroy() fonksiyonu kullanılır. Bu fonksiyon sayesinde sayfadaki tanımlanan tüm sessionları siler.

Session_start();
Session_destroy();

Session Kontrolü

Session kontrolü yapmak için isset fonksiyonunu kullanmamız gerekiyor. Bu fonksiyon sayesinde eğer bir session tanımlanmış ise true, yoksa false değeri döner.

session_start();
echo isset($_SESSION[‘merhaba’]);

Session kullanımından da bahsettik. Sonraki makalelerimde görüşmek üzere.

Bir Yorum Yaz