Bu makalede session nedir, session nerelerde kullanılır, session ile ilgili bilinmesi gerekenler, session oluşturma, session verilerine erişme ve session sonlandırma konularını anlatacağım.
Diğer programlama dillerinde olduğu gibi PHP’de de oturum bilgilerini saklamak ve yönetmek için için Session kullanırız.
Sessionlar, Cookie’lerden farklı olarak kullanıcı bilgilerini kullanıcının bilgisayarında değilde sunucu üzerinde saklar. Sessionlar, Cookie’lere göre çok daha güvenli olduğu için kullanıcı üyelik sistemlerinde, alışveriş siteleri gibi güvenlik olması gereken yerlerde Session kullanırız.
Session ile ilgili bilinmesi gerekenler
1. Sessionlar oluşturulduğu andan itibaren veriler sunucu üzerinde bir dosyada saklanır.
2. Kullanıcı sayfayı kapattığında veya oturum sonlandığında session bilgileri temizlenir.
3. Sessionlara, cookiler gibi süre verilemez.
4. Web sayfası içerisinde session bilgileri kullanılacaksa eğer session sayfanın en üstünde başlatılmalıdır. (session_start())
Session Oluşturma
Session başlatalım ve istediğimiz session anahtarlarını oluşturup verileri aktaralım.
session_start(); // Session Başlattık. $_SESSION['name'] = "Serdar"; $_SESSION['surname'] = "Karaca"; /* $_SESSION fonksiyonuna name ve surname anahtarları oluşturarak istediğimiz verileri aktardık. */
Session Verilerine Erişme
Yukarıdaki örnekten devam edelim. Session a aktardığımız verileri ekrana yazdıralım.
echo $_SESSION['name']; echo $_SESSION['surname'];
Session Sonlandırma
Yukarıdaki örnekten devam edelim. İlk örnekte session başlatıp, içerisine veri eklemiştik. Şimdide oluşturduğumuz sessionı sonlandıralım.
session_destroy(); /* Bu kod ile başlatılmış tüm sessionlar sonlandırılır aynı zamanda sessionda atanmış verileri de siler. */ unset($_SESSION['name']); /* Bu kod ile session da bulunan "name" anahtarını silmiş oluruz. */
Session Kontrol Etme
Daha önce oluşturduğumuz session içerisinde aradığımız veriler var mı yok mu diye kontrol edebiliriz. Yukarıdaki örnek üzerinden devam ediyorum.
if(isset($_SESSION['name'])) { echo "Session da "name" değeri var."; } else { echo "Session da "name" değeri yok."; }
Session ID Değerini Öğrenme
echo session_id();