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..