<?php class login extends database { private $timeout; private $starttime; private $rank; private $user; private $login = false; function __construct() { require('./config.php'); $this->timeout = $cfg['page']['SessionDuration']; $this->rank = 0; } function logIn($user1,$md5pass) { $this->connect(); $Validate = $this->select('SELECT id,rank FROM user WHERE login=''.$user1.'' and pass=''.$md5pass.'' LIMIT 1;' ); if($Validate) { $this->insert('INSERT INTO session(id,start,user,rank) VALUES (''.$_SESSION['id'].'',''.$tmptime.'','.$Validate[0]['id'].','.$Validate[0]['rank'].' )'); $this->starttime = $tmptime; $this->rank = $Validate[0]['rank']; $this->login = true; $this->user = $user1; return true; } else return false; } function logOut() { $this -> remove('DELETE FROM session WHERE id =''.$_SESSION['id'].'' LIMIT 1;'); $this->login = false; } function isTimeOut() { { $this->logOut(); return true; } else { $this -> update('UPDATE session SET start = ''.time().'' WHERE id =''.$_SESSION['id'].'' LIMIT 1;'); return false; } } ?>
chodzi o to, że w funkcji logIn wartość $this->starttime jest prawidłowa tzn przyjmuje time();
natomiast już w funkcji isTimeOut() nic się nie wyświetla tak jakby zmienna nie istniała.
