Her zaman olmasada bazen zamanı gelince session’ların otomatik sonlanmasını isteriz.. Ama her session için değil, bazı özel durumlar için olabilir.. Bu gibi durumlara basit bir çözüm bulabiliriz.. İşte o basit çözümün kodları;
<?php session_start(); /* eğer vaktiGeldi session'ı yok ise sessionları oluştur */ if ( !isset($_SESSION['vaktiGeldi']) ){ $_SESSION['vaktiGeldi'] = time() + 20; $_SESSION['kullanici_adi'] = 'Tayfun Erbilen'; } /* session zamanı geçmiş ise belirli session'ları yok et */ if ( time() > $_SESSION['vaktiGeldi'] ){ unset($_SESSION['kullanici_adi']); // ya da session_destroy() } echo 'Hoşgeldin, <strong>'.$_SESSION['kullanici_adi'].'</strong>'; ?>
Şimdi burada yapılan şey şu.. Session oluştururken bir tane zamanın belirtileceği session oluşturulacak.. time() + 20 dememin açıklaması Mevcut zamandan 20 saniye sonrası demek oluyor.. Ve kontrol ederkende mevcut zaman eğer vakit session’ından büyük ise istediğimiz sessionları sonlandırıyoruz..
Ki budurumda 20 saniye sonra kullanici_adi adlı session‘ım kullanılamaz hale gelecektir.. Bu şekilde zaman ayarlı session’lar oluşturup gerektiğinde kullanabilirsiniz..