PHP SESSION Kullanımı üyelik ile ilgili işlemlerde kullanır. Asıl amacı oturum açma değişkenidir. $_COOKIE benzerlik gösterir ancak aralarında şöyle bir fark var $_SESSION tutulan bilgiler kişinin bilgisayarında değil sunucuda tutulur. O yüzden $_SESSION çok daha güvenlidir. Ama nerede neyi kullanacağınızı dersleri takip ettikçe çok daha iyi anlayacaksınız. SESSION başlatmak için ve onları takip etmek için en başta her zaman session_start() fonksiyonunu yazmalısınız. Bu fonksiyon oturum açma işlemini başlatacaktır.
PHP SESSION Kullanımı
Yeni Bir Session Oluşturma ;
<?php session_start(); $kullanici_adi = "Sercan"; $_SESSION["giris"] = $kullanici_adi; ?>
Session Ulaşmak ;
<?php session_start(); echo $_SESSION["giris"]; ?>
Session Güncelleme ;
<?php session_start(); $yeni_kullanici_adi = "Angel"; $_SESSION["giris"] = $yeni_kullanici_adi; ?>
Session İle Oturum Açma
Okuldaki hocalar gibi basit örnekler verip sınavda zor soran öğretmenlere dönmeyeyim 🙂 şimdi nasıl oturum açama biliriz onun hakkında bir örnek yapalım ;
<?php session_start(); $kullanici_adi = "Sercan"; $sifre = 123456; if(isset($_SESSION['loginin']) && $_SESSION['loginin'] == true){ // Daha önce oturum açıldıysa anasayfaya gidiyor. header("Location: index.php"); } if(isset($_POST['kullaniciadi']) && isset($_POST['sifre'])){ // Burada input alanına giren verileri değişkendeki verilerle karşılaştırıyorum doğruysa anasayfaya değilse bulunduğu sayfaya hata çıkıyor if($_POST['kullaniciadi'] == $kullanici_adi && $_POST['sifre'] == $sifre){ $_SESSION['loginin'] = true; header("Location: index.php"); }else{ echo 'Giriş Bilgileri Hatalı.'; } } ?>
Koda açıklama ekledim ama birazda açıklıyayım arkadaşlar burda en önemli kod ; $_SESSION[‘loginin’] == true bu nedeni ise bu kodun loginin isimli session olup olmadığına bakıyor. Diğer if bloğun da ise eğer kullanıcı bilgileri doğru girildiyse $_SESSION[‘loginin’] = true yap diyoruz ve böylelikle oturum açma iznini veriyoruz. Peki çıkış yapmak için nasıl bir mantık kuracağız.
Session İle Çıkış Yapmak
<?php session_start(); session_destroy(); // Bu Fonksiyon ile tüm Session siliyoruz. header('Location: login.php'); ?>
Özellikle yönetim paneli yapıyorsanız session_destroy(); fonksiyonunu kullanın bazı kişiler unset() fonksiyonu ile yapıyor ama bu yanlış unset() kullanırken tek tek session ları belirtip imha etmeniz gerekli yani şöyle ;
<?php unset($_SESSION['loginin']); ?>
Onunda şöyle bir tehlikesi var sonuçta insanız ve hata yapabiliriz eksik tanımlama yaparsanız oturum kapatma çalışmaz oda size sıkıntı çıkartır o yüzden direk session_destroy(); fonksiyonu kullanın kafanız rahat olsun.