<?php class OturumYoneticisi{ private $id; private $giris; private $sonIslem= null; private $pasiflikSuresi = 300; public function OturumYoneticisi(){ session_start(); } public function oturumKayit($id, $giris){ $this->id = base64_encode($id); $this->giris = base64_encode($giris); $this->sonIslem = date("Y-m-d H:i:s"); $_SESSION['id'] = $this->oturumIdGetir(); $_SESSION['kullaniciGiris'] = $this->kullaniciGirisGetir(); $_SESSION['sonIslem'] = $this->sonIslemGetir(); } public function oturumDogrula(){ if(!isset($_SESSION['id'])|| !isset($_SESSION['kullaniciGiris'])){ header("Location: ?durum=reddedildi"); } if(!$this->aktiflik( $_SESSION['sonIslem'])){ header("Location: ?durum=zamanasimi"); } return true; } private function aktiflik($sonIslem){ $simdi = date("Y-m-d H:i:s"); $fark = (strtotime($simdi) - strtotime($sonIslem)); if($fark >= $this->pasiflikSuresiGetir()){ return false; } else{ $_SESSION['sonIslem'] = $simdi; return true; } } public function oturumuBitir(){ $_SESSION = []; session_destroy(); } public function oturumIdGetir(){ return $this->id; } public function kullaniciGirisGetir(){ return $this->giris; } public function pasiflikSuresiGetir(){ return $this->pasiflikSuresi; } public function sonIslemGetir(){ return $this->sonIslem; } } $s=new OturumYoneticisi; $id=1; $giris="admin"; $s->oturumKayit($id, $giris); var_dump($s->oturumDogrula()); var_dump($s->oturumIdGetir()); var_dump($s->kullaniciGirisGetir()); var_dump($s->pasiflikSuresiGetir()); var_dump($s->sonIslemGetir()); print_r($_SESSION); $s->oturumuBitir(); print_r($_SESSION); ?>
Çıktısı
bool(true) string(4) "MQ==" string(8) "YWRtaW4=" int(300) string(19) "2018-06-10 14:09:25" Array ( [id] => MQ== [kullaniciGiris] => YWRtaW4= [sonIslem] => 2018-06-10 14:09:25 ) Array ( )